Posted July 19, 201312 yr Hey all, I am trying to run some example code for item hud rendering, but when its finally called by the game, it always crashes: java.lang.NoSuchMethodError: net.minecraft.client.Minecraft.getMinecraft()Lnet/minecraft/client/Minecraft; What am I doing wrong? Thanks for any help!
July 19, 201312 yr technicly this is caused by the fact that the server calls thsi method, code please ? use code tag too how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
July 19, 201312 yr Author Hey, I'm just using this example: http://www.minecraftforge.net/wiki/Custom_2D_Inventory_Item_Renderer Also it's not running on server, since I'm connecting to my server by IP and it is still crashing. Maybe it's helpful, a full error stack trace with the function commented out. Then Java can't find other methods or instances: ---- Minecraft Crash Report ---- // Hey, that tickles! Hehehe! Time: 19.07.13 21:00 Description: Rendering screen java.lang.NoSuchFieldError: instance at tutorial.generic.DamagedItemRenderer.renderItem(DamagedItemRenderer.java:51) at net.minecraftforge.client.ForgeHooksClient.renderInventoryItem(ForgeHooksClient.java:171) at net.minecraft.client.renderer.entity.RenderItem.func_82406_b(RenderItem.java:465) at net.minecraft.client.gui.inventory.GuiContainer.func_74192_a(GuiContainer.java:421) at net.minecraft.client.gui.inventory.GuiContainer.func_73863_a(GuiContainer.java:132) at net.minecraft.client.renderer.InventoryEffectRenderer.func_73863_a(SourceFile:31) at net.minecraft.client.gui.inventory.GuiInventory.func_73863_a(SourceFile:49) at net.minecraft.client.renderer.EntityRenderer.func_78480_b(EntityRenderer.java:1036) at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:934) at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:826) at net.minecraft.client.main.Main.main(SourceFile:101) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at net.minecraft.launchwrapper.Launch.launch(Launch.java:57) at net.minecraft.launchwrapper.Launch.main(Launch.java:18) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at tutorial.generic.DamagedItemRenderer.renderItem(DamagedItemRenderer.java:51) at net.minecraftforge.client.ForgeHooksClient.renderInventoryItem(ForgeHooksClient.java:171) at net.minecraft.client.renderer.entity.RenderItem.func_82406_b(RenderItem.java:465) at net.minecraft.client.gui.inventory.GuiContainer.func_74192_a(GuiContainer.java:421) at net.minecraft.client.gui.inventory.GuiContainer.func_73863_a(GuiContainer.java:132) at net.minecraft.client.renderer.InventoryEffectRenderer.func_73863_a(SourceFile:31) at net.minecraft.client.gui.inventory.GuiInventory.func_73863_a(SourceFile:49) -- Screen render details -- Details: Screen name: net.minecraft.client.gui.inventory.GuiInventory Mouse location: Scaled: (213, 119). Absolute: (427, 240) Screen size: Scaled: (427, 240). Absolute: (854, 480). Scale factor of 2 public void renderItem(ItemRenderType type, ItemStack itemStack, Object... data) { System.out.println("renderItem!!!"); // ====================== Render item texture ====================== //Icon icon = itemStack.getIconIndex(); //renderItem.renderIcon(0, 0, icon, 16, 16); // ====================== Render OpenGL square shape ====================== GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glEnable(GL11.GL_BLEND); GL11.glDepthMask(false); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); Tessellator tessellator = Tessellator.instance; tessellator.startDrawing(GL11.GL_QUADS); tessellator.setColorRGBA(0, 0, 0, 128); tessellator.addVertex(0, 0, 0); tessellator.addVertex(0, 8, 0); tessellator.addVertex(8, 8, 0); tessellator.addVertex(8, 0, 0); tessellator.draw(); GL11.glDepthMask(true); GL11.glDisable(GL11.GL_BLEND); // ====================== Render text ====================== GL11.glEnable(GL11.GL_TEXTURE_2D); String text = Integer.toString(itemStack.getItemDamage()); /* FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer; fontRenderer.drawStringWithShadow(text, 1, 1, 0xFFFFFF); */ }
July 19, 201312 yr ok 1 use code tag 2 try running this code inside renderItem if(FMLCommonHandler.instance().getEffectiveSide().isServer()){ try{ throw new Exception("learning to coding is important"); }catch(Exception e){ e.printStackTrace(); } } this would output a ton of lines, paste them in a spoiler please how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
July 19, 201312 yr Author The code is not running on server. System.out.println("running on server: " + FMLCommonHandler.instance().getEffectiveSide().isServer()); if(FMLCommonHandler.instance().getEffectiveSide().isServer()){ try{ throw new Exception("learning to coding is important"); }catch(Exception e){ e.printStackTrace(); } } Client> 2013-07-19 21:35:43 [iNFO] [sTDOUT] running on server: false
July 19, 201312 yr well i doubt this will change anything, but try Minecraft mc = FMLClientHandler.instance().getClient(); how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
July 19, 201312 yr Author Thanks for the try, but unfortunately that instance of Minecraft is "empty" also: java.lang.NoSuchFieldError: fontRenderer at tutorial.generic.DamagedItemRenderer.renderItem(DamagedItemRenderer.java:61) at net.minecraftforge.client.ForgeHooksClient.renderInventoryItem(ForgeHooksClient.java:171) at net.minecraft.client.renderer.entity.RenderItem.func_82406_b(RenderItem.java:465) at net.minecraft.client.gui.inventory.GuiContainer.func_74192_a(GuiContainer.java:421) at net.minecraft.client.gui.inventory.GuiContainer.func_73863_a(GuiContainer.java:132) at net.minecraft.client.renderer.InventoryEffectRenderer.func_73863_a(SourceFile:31) at net.minecraft.client.gui.inventory.GuiInventory.func_73863_a(SourceFile:49) at net.minecraft.client.renderer.EntityRenderer.func_78480_b(EntityRenderer.java:1036) at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:934) at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:826) at net.minecraft.client.main.Main.main(SourceFile:101) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at net.minecraft.launchwrapper.Launch.launch(Launch.java:57) at net.minecraft.launchwrapper.Launch.main(Launch.java:18)
July 19, 201312 yr no an "empty" minecraft would have a null pointer exception on fontRenderer whiel you get a noSuchFieldException, tottally different are you using minecraft 1.6.x ? if yes they might have changed the location or name of Minecraft.fontRenderer wait that would mean it would fail at compilation time ... not at runtime .... if thats not it im afraid i have no idea :\ how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
July 19, 201312 yr Author Yea, it's 1.6.2. The strange thing is, that I can't access anything at all besides the GL11-methods. Not working: Tessellator tessellator = Tessellator.instance; itemStack.getItemDamage() Minecraft.getMinecraft().fontRenderer itemStack.getIconIndex()
July 19, 201312 yr hmmm, if you're using eclipse, try cleaning your project (Project -> clean... ) if that still doesnt work, try re installing mcp/forge again and restarting if THAT doesnt work its probably forge bug so use 1.6.1 or even 1.5.2 while this is being fixed, also, if you get to this step, report the bug to the bug board how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
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.