Posted December 23, 201212 yr Hello, I'm developing a mod with 2 objects (1 Item, 1 block) and 2 very similar GUI. Now when i right-click on my block with my item in hand i open a GUI to save the position of the block into a tagCompound of my Item, and instead when i right-click with my item at any part i open another GUI totally similar to the previous GUI. The GUIs have 1 Title, 1 textfield and 2 buttons (OK and Cancel), this is the code: package portalgates; import net.minecraft.src.EntityClientPlayerMP; import net.minecraft.src.EntityPlayer; import net.minecraft.src.GuiButton; import net.minecraft.src.GuiScreen; import net.minecraft.src.GuiTextField; import net.minecraft.src.Packet250CustomPayload; import org.lwjgl.input.Keyboard; import net.minecraft.src.ItemStack; import net.minecraft.src.MovingObjectPosition; import net.minecraft.src.NBTTagCompound; import net.minecraft.src.World; public class PortalPlateGui extends GuiScreen { private String TITLE = "Portal Gate's Name"; EntityPlayer entityPlayer; private GuiTextField txt_PortalName; private GuiButton btn_ok; private GuiButton btn_cancel; public PortalPlateGui(EntityPlayer var1) { this.entityPlayer = var1; } /** * Called from the main game loop to update the screen. */ public void updateScreen() { this.txt_PortalName.updateCursorCounter(); } /** * Adds the buttons (and other controls) to the screen in question. */ public void initGui() { Keyboard.enableRepeatEvents(false); this.controlList.clear(); int var1 = this.width / 2 + 100 - 80; int var2 = this.height / 2 + 50 - 24; this.btn_ok = new GuiButton(0, var1, var2, 60, 20, "OK"); this.btn_ok.enabled = false; var1 = this.width / 2 - 100 + 20; var2 = this.height / 2 + 50 - 24; this.btn_cancel = new GuiButton(1, var1, var2, 60, 20, "Cancel"); this.controlList.add(this.btn_ok); this.controlList.add(this.btn_cancel); var1 = this.width / 2 - 100; var2 = this.height / 2 - 50 + 47; this.txt_PortalName = new GuiTextField(this.fontRenderer, var1, var2, 200, 20); this.txt_PortalName.setFocused(true); this.txt_PortalName.setMaxStringLength(32); } /** * Fired when a control is clicked. This is the equivalent of ActionListener.actionPerformed(ActionEvent e). */ protected void actionPerformed(GuiButton var1) { if (var1.enabled) { switch (var1.id) { case 0: String var2 = this.txt_PortalName.getText().trim(); this.sendNewNameToServer(var2); case 1: this.mc.displayGuiScreen((GuiScreen)null); this.mc.setIngameFocus(); default: } } } /** * Fired when a key is typed. This is the equivalent of KeyListener.keyTyped(KeyEvent e). */ protected void keyTyped(char var1, int var2) { this.txt_PortalName.textboxKeyTyped(var1, var2); ((GuiButton)this.controlList.get(0)).enabled = this.txt_PortalName.getText().trim().length() > 0; if (var1 == 10) { this.actionPerformed((GuiButton)this.controlList.get(0)); } if (Integer.valueOf(var1).intValue() == 27) { this.actionPerformed((GuiButton)this.controlList.get(1)); } } /** * Called when the mouse is clicked. */ protected void mouseClicked(int var1, int var2, int var3) { super.mouseClicked(var1, var2, var3); this.txt_PortalName.mouseClicked(var1, var2, var3); } /** * Draws the screen and all the components in it. */ public void drawScreen(int var1, int var2, float var3) { // System.out.println(var1); // System.out.println(var2); // System.out.println(var3); this.drawDefaultBackground(); this.drawGuiBackground(); int var4 = this.width / 2 - this.fontRenderer.getStringWidth(this.TITLE) / 2; int var5 = this.height / 2 - 50 + 20; this.fontRenderer.drawStringWithShadow(this.TITLE, var4, var5, 0xff4040); var4 = this.width / 2 - 100; var5 = this.height / 2 - 50 + 35; //this.fontRenderer.drawString("New name:", var4, var5, 4210752); this.txt_PortalName.drawTextBox(); super.drawScreen(var1, var2, var3); } protected void drawGuiBackground() { int var1 = this.mc.renderEngine.getTexture("/gui/guiportal.png"); this.mc.renderEngine.bindTexture(var1); int var2 = (this.width - 100) / 2; int var3 = (this.height - 50) / 2; this.drawTexturedModalRect(var2 - 100 + 30, var3 - 50 + 30 + 5, 0, 0, 240, 100); } protected void sendNewNameToServer(String var1) { String var3 = (new String(var1)).trim(); } } In a new world i use all my objects without problems but when i esc and re-load my world MC goes to crash, randomly but most of the times, when i try to open a GUI with my Item in hand: 2012-12-23 01:05:09 [iNFO] [ForgeModLoader] Forge Mod Loader version 4.5.2.459 for Minecraft 1.4.5 loading 2012-12-23 01:05:10 [iNFO] [sTDOUT] 27 achievements 2012-12-23 01:05:11 [iNFO] [sTDOUT] 208 recipes 2012-12-23 01:05:11 [iNFO] [sTDOUT] Setting user: Player391, - 2012-12-23 01:05:11 [iNFO] [sTDERR] Client asked for parameter: server 2012-12-23 01:05:11 [iNFO] [sTDOUT] LWJGL Version: 2.4.2 2012-12-23 01:05:12 [iNFO] [ForgeModLoader] Attempting early MinecraftForge initialization 2012-12-23 01:05:12 [iNFO] [sTDOUT] MinecraftForge v6.4.1.411 Initialized 2012-12-23 01:05:12 [iNFO] [ForgeModLoader] MinecraftForge v6.4.1.411 Initialized 2012-12-23 01:05:12 [iNFO] [sTDOUT] Replaced 84 ore recipies 2012-12-23 01:05:12 [iNFO] [ForgeModLoader] Completed early MinecraftForge initialization 2012-12-23 01:05:12 [iNFO] [ForgeModLoader] Searching C:\Users\7ed\Desktop\MPC\jars\mods for mods 2012-12-23 01:05:13 [iNFO] [ForgeModLoader] Forge Mod Loader has identified 7 mods to load 2012-12-23 01:05:13 [iNFO] [ForgeModLoader] Configured a dormant chunk cache size of 0 2012-12-23 01:05:13 [iNFO] [sTDOUT] Custom Stack Limit: FILE PATH = C:\Users\7ed\Desktop\MPC\jars\config\stacking.properties 2012-12-23 01:05:13 [iNFO] [sTDOUT] Custom Stack Limit: READING CONFIG FILE 2012-12-23 01:05:14 [iNFO] [sTDOUT] Starting up SoundSystem... 2012-12-23 01:05:14 [iNFO] [sTDOUT] Initializing LWJGL OpenAL 2012-12-23 01:05:14 [iNFO] [sTDOUT] (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) 2012-12-23 01:05:14 [iNFO] [sTDOUT] OpenAL initialized. 2012-12-23 01:05:15 [iNFO] [ForgeModLoader] Forge Mod Loader has successfully loaded 7 mods 2012-12-23 01:05:18 [iNFO] [ForgeModLoader] Loading dimension 0 (New World) (net.minecraft.src.IntegratedServer@80cbba) 2012-12-23 01:05:18 [iNFO] [ForgeModLoader] Loading dimension 1 (New World) (net.minecraft.src.IntegratedServer@80cbba) 2012-12-23 01:05:18 [iNFO] [ForgeModLoader] Loading dimension -1 (New World) (net.minecraft.src.IntegratedServer@80cbba) 2012-12-23 01:05:24 [iNFO] [ForgeModLoader] Unloading dimension 0 2012-12-23 01:05:24 [iNFO] [ForgeModLoader] Unloading dimension -1 2012-12-23 01:05:24 [iNFO] [ForgeModLoader] Unloading dimension 1 2012-12-23 01:05:24 [iNFO] [sTDERR] net.minecraft.src.ReportedException: Rendering screen 2012-12-23 01:05:24 [iNFO] [sTDERR] at net.minecraft.src.EntityRenderer.updateCameraAndRender(EntityRenderer.java:986) 2012-12-23 01:05:24 [iNFO] [sTDERR] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:888) 2012-12-23 01:05:24 [iNFO] [sTDERR] at net.minecraft.client.Minecraft.run(Minecraft.java:783) 2012-12-23 01:05:24 [iNFO] [sTDERR] at java.lang.Thread.run(Unknown Source) 2012-12-23 01:05:24 [iNFO] [sTDERR] Caused by: java.lang.NullPointerException 2012-12-23 01:05:24 [iNFO] [sTDERR] at net.minecraft.src.GuiScreen.drawWorldBackground(GuiScreen.java:254) 2012-12-23 01:05:24 [iNFO] [sTDERR] at net.minecraft.src.GuiScreen.drawDefaultBackground(GuiScreen.java:249) 2012-12-23 01:05:24 [iNFO] [sTDERR] at portalgates.PortalGateGui.drawScreen(PortalGateGui.java:153) 2012-12-23 01:05:24 [iNFO] [sTDERR] at net.minecraft.src.EntityRenderer.updateCameraAndRender(EntityRenderer.java:977) 2012-12-23 01:05:24 [iNFO] [sTDERR] ... 3 more 2012-12-23 01:05:34 [iNFO] [sTDOUT] Stopping! 2012-12-23 01:05:34 [iNFO] [sTDOUT] SoundSystem shutting down... 2012-12-23 01:05:34 [iNFO] [sTDOUT] Author: Paul Lamb, www.paulscode.com 2012-12-23 01:05:36 [iNFO] [sTDERR] Someone is closing me! Sorry for my English but Please Help!
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.