September 1, 201213 yr Hello everyone, I'm trying to create an overlay mod. I'm pretty much at the beginning of it and I'm trying to understand how rendering and gui-classes works. My goal is a pretty simple overlay that shows a current state of an item i already created. (goal -> somewhat like the energy level of the ultimate lappack from the GraviChestPlate MOD) I'm trying to render a string onto the screen with the FontRenderer - drawString method. I pretty much copied it together from the GuiIngame class. GUI class @SideOnly(Side.CLIENT) public class GuiMasterWrench extends Gui { private final Minecraft mc; public GuiMasterWrench(Minecraft minecraft) { this.mc = minecraft; } public void renderWrenchState() { FontRenderer fontRender = this.mc.fontRenderer; ScaledResolution sclRes = new ScaledResolution(this.mc.gameSettings, this.mc.displayWidth, this.mc.displayHeight); //GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); fontRender.drawStringWithShadow("This is the test string!", 1, 1, 0xffffffff); } } In the item class I'm trying to call the overlay with the onItemUseFirst method. @Override public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, int X, int Y, int Z, int side) { if (world.isRemote) return false; if (Keyboard.isKeyDown(Keyboard.KEY_M)) { wrenchState++; if (wrenchState > 3) wrenchState = 0; GuiMasterWrench mwGui = new GuiMasterWrench(Minecraft.getMinecraft()); mwGui.renderWrenchState(); player.addChatMessage("You've set the Master Wrench to state "+ wrenchState); } else { player.addChatMessage("You've used the Master Wrench!"); } return false; } When i try to right-click my item ingame, i get the following error. Error - Stack Trace 2012-08-31 11:24:54 [sEVERE] [ForgeModLoader] A critical server error occured handling a packet, kicking net.minecraft.src.NetServerHandler@109099d java.lang.NullPointerException at org.lwjgl.opengl.GL11.glColor4f(GL11.java:881) at net.minecraft.src.FontRenderer.renderString(FontRenderer.java:606) at net.minecraft.src.FontRenderer.drawStringWithShadow(FontRenderer.java:327) at tay.mods.masterwrench.common.GuiMasterWrench.renderWrenchState(GuiMasterWrench.java:34) at tay.mods.masterwrench.common.ItemMasterWrench.onItemUseFirst(ItemMasterWrench.java:35) at net.minecraft.src.Item.onItemUseFirst(Item.java:692) at net.minecraft.src.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:340) at net.minecraft.src.NetServerHandler.handlePlace(NetServerHandler.java:500) at net.minecraft.src.Packet15Place.processPacket(Packet15Place.java:78) at net.minecraft.src.MemoryConnection.processReadPackets(MemoryConnection.java:75) at net.minecraft.src.NetServerHandler.networkTick(NetServerHandler.java:72) at net.minecraft.src.NetworkListenThread.networkTick(NetworkListenThread.java:55) at net.minecraft.src.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:132) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:630) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:547) at net.minecraft.src.IntegratedServer.tick(IntegratedServer.java:105) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:453) at net.minecraft.src.ThreadServerApplication.run(ThreadServerApplication.java:17) I would appreciate any kind of help.
September 2, 201213 yr Is it attached to a container? Is it a screen GUI? If it is a container, have it extend GuiContainer, go from there. If it's a screen GUI without a container, extend GuiScreen. So, what would happen if I did push that shiny red button over there? ... Really? ... Can I try it? ... Damn.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.