Jump to content

InfDev

Members
  • Posts

    6
  • Joined

  • Last visited

Everything posted by InfDev

  1. Nevermind, all is fixed now. I managed to use threads to delay the show of the GUI by 2 seconds from the initial spawn into the world. Thanks all.
  2. Ok, changed it to this this.mc.getTextureManager().bindTexture(new ResourceLocation(InfDev.MODID + "/textures/gui/gui.png")); However, can't see it making a difference because the debug is pretty much saying that the GuiModules class isn't being instantiated for whatever reason and I don't know why. I have registered my events and I'm a bit confused.
  3. Didn't work either. Here's the code if it helps. @SubscribeEvent public void onPlayerJoinWorld(EntityJoinWorldEvent e) { if (e.entity instanceof EntityPlayer) { System.out.println("event fired"); Minecraft.getMinecraft().displayGuiScreen(new GuiModules()); } } One thing though, it called the sysout's twice. [18:37:51] [Server thread/INFO]: [me.infdev.mod.client.events.EventListener:onPlayerJoinWorld:24]: event fired [18:37:51] [Server thread/INFO]: [me.infdev.mod.client.gui.GuiModules:<init>:11]: test [18:37:52] [Client thread/INFO]: [me.infdev.mod.client.events.EventListener:onPlayerJoinWorld:24]: event fired [18:37:52] [Client thread/INFO]: [me.infdev.mod.client.gui.GuiModules:<init>:11]: test
  4. Ok, I will try that. I'll let you know how it goes ?
  5. Done that, got any other ideas that could make the GUI show? That did nothing (because that was for writing the text on the screen, a different thing I was doing)
  6. 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
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.