Hey. I'm new to developing with Forge and I've hit a bit of a dead-end. I've looked up quite a few videos on this but can't find one that actually works the best.
I'm trying to make a GUI (that's not a container just a GuiScreen) that would show buttons and whatever (haven't got to that part yet) I have imported all of my assets and nothing seems to be working. Here's my code
GuiModules.java (My GUI)
package me.infdev.mod.client.gui;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.util.ResourceLocation;
public class GuiModules extends GuiScreen {
public GuiModules() {
System.out.println("test");
}
@Override
public void initGui() {
super.initGui();
}
@Override
public void drawScreen(int mouseX, int mouseY, float partialTicks) {
System.out.println("draw screen");
drawDefaultBackground();
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
this.mc.getTextureManager().bindTexture(new ResourceLocation("infdev/textures/gui/gui.png"));
drawTexturedModalRect((this.width - 256) / 2, (this.height - 256) / 2, 0, 0, 256, 256);
super.drawScreen(mouseX, mouseY, partialTicks);
}
}
EventListener.java (where i call the displayGuiScreen())
package me.infdev.mod.client.events;
import me.infdev.mod.client.InfDev;
import me.infdev.mod.client.gui.GuiModules;
import net.minecraft.client.Minecraft;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.PlayerEvent.PlayerLoggedInEvent;
public class EventListener {
@SubscribeEvent
public void onGameOverlayRender(RenderGameOverlayEvent e) {
if (e.type == ElementType.TEXT) {
InfDev.INSTANCE.fr.drawStringWithShadow("§cInfDev DEMO §b{" + InfDev.INSTANCE.MODID + ":" + InfDev.INSTANCE.VERSION + "}", 1, 1, 0xfffff);
}
}
// Look here VVVVVV
@SubscribeEvent
public void onPlayerJoin(PlayerLoggedInEvent e) {
System.out.println("event fired");
Minecraft.getMinecraft().displayGuiScreen(new GuiModules());
}
}
I do have a GuiHandler but I'm using displayGuiScreen() so I don't think I need to use it.
If you can see the things I've put out to the console, the only one's that worked were
"event fired" and
"test"
I am rather new to this so forgive me if I'm doing anything that is considered bad practice within FML or if I just seem like I'm acting dumb. If anybody can help, that'd be appreciated. TIA