Jump to content

Atheera

Members
  • Posts

    57
  • Joined

  • Last visited

Everything posted by Atheera

  1. Yeah, this is really confusing... I tried everything you said, at one point it crashed with the same crashlog and one time I got it to work but it removed itemDiamondChisel on first craft. Item Class: package com.obsidiancraft.item; import java.util.List; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import com.obsidiancraft.core.CoreMod; public class itemDiamondChisel extends Item { private ItemStack emptyItem = null; private static int maxDamage; public itemDiamondChisel() { super(); setMaxDamage(511); this.setMaxStackSize(1); this.setNoRepair(); this.setCreativeTab(CoreMod.ExtendedObsidianTab); this.isDamageable(); } /* @Override public boolean hasContainerItem() { return true; } */ public void setEmptyItem(ItemStack ei) { if(ei.getItemDamage()<1) { this.emptyItem = ei; } } public boolean doesContainerItemLeaveCraftingGrid(ItemStack par1ItemStack) { return false; } public static ItemStack copyStack(ItemStack stack) { return new ItemStack(CoreMod.itemDiamondChisel, 1); } public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean i) { list.add("\u00A77" + (stack.getMaxDamage() - stack.getItemDamage() +1) + " Uses left"); } }
  2. The first one: This shouldn't be a problem. Missing components are handled exactly the same as a space -> Missing character = empty slot what I do see is you override hasContainerItem and don't override getContainerItem and return an ItemStack there -> resulting in a NullPointerException. I have tried a few different things but non seems to be working:/ I think I have done what you said, I also tried not to override anything and I added "this.isDamageable();" in the constructor. It still crashes whenever I try and craft with it... Item Class: package com.obsidiancraft.item; import java.util.List; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import com.obsidiancraft.core.CoreMod; public class itemDiamondChisel extends Item { private ItemStack emptyItem = null; private static int maxDamage; public itemDiamondChisel() { super(); setMaxDamage(511); this.setMaxStackSize(1); this.setNoRepair(); this.setCreativeTab(CoreMod.ExtendedObsidianTab); this.isDamageable(); } @Override public boolean hasContainerItem() { return true; } public void setEmptyItem(ItemStack ei) { if(ei.getItemDamage()<1) { this.emptyItem = ei; } } @Override public boolean doesContainerItemLeaveCraftingGrid(ItemStack par1ItemStack) { return false; } public static ItemStack copyStack(ItemStack stack) { return new ItemStack(CoreMod.itemDiamondChisel, 1); } public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean i) { list.add("\u00A77" + (stack.getMaxDamage() - stack.getItemDamage() +1) + " Uses left"); } }
  3. Nope, still crashes.. I really appriceate the help though. Item class: package com.obsidiancraft.item; import java.util.List; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import com.obsidiancraft.core.CoreMod; public class itemDiamondChisel extends Item { private ItemStack emptyItem = null; private static int maxDamage; public itemDiamondChisel() { super(); setMaxDamage(511); this.setMaxStackSize(1); this.setNoRepair(); this.setCreativeTab(CoreMod.ExtendedObsidianTab); } @Override public boolean hasContainerItem() { return true; } public void setEmptyItem(ItemStack ei) { if(ei.getItemDamage()<1) { this.emptyItem = ei; } } public boolean doesContainerItemLeaveCraftingGrid(ItemStack par1ItemStack) { return false; } public static ItemStack copyStack(ItemStack stack) { return new ItemStack(CoreMod.itemDiamondChisel, 1); } public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean i) { list.add("\u00A77" + (stack.getMaxDamage() - stack.getItemDamage() +1) + " Uses left"); } } Crashlog: ---- Minecraft Crash Report ---- // Hi. I'm Minecraft, and I'm a crashaholic. Time: 2014-05-02 15:38 Description: Updating screen events java.lang.NullPointerException: Updating screen events at net.minecraft.item.ItemStack.isItemStackDamageable(ItemStack.java:194) at net.minecraft.inventory.SlotCrafting.onPickupFromSlot(SlotCrafting.java:124) at net.minecraft.inventory.Container.slotClick(SourceFile:238) at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:419) at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:638) at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:392) at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:289) at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:256) at net.minecraft.client.Minecraft.runTick(Minecraft.java:1579) at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:916) at net.minecraft.client.Minecraft.run(Minecraft.java:835) at net.minecraft.client.main.Main.main(SourceFile:103) 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:134) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at net.minecraft.item.ItemStack.isItemStackDamageable(ItemStack.java:194) at net.minecraft.inventory.SlotCrafting.onPickupFromSlot(SlotCrafting.java:124) at net.minecraft.inventory.Container.slotClick(SourceFile:238) at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:419) at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:638) at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:392) at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:289) at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:256) -- Affected screen -- Details: Screen name: net.minecraft.client.gui.inventory.GuiCrafting -- Affected level -- Details: Level name: MpServer All players: 1 total; [EntityClientPlayerMP['lliinnkk10'/168, l='MpServer', x=786,52, y=5,62, z=-54,36]] Chunk stats: MultiplayerChunkCache: 225, 225 Level seed: 0 Level generator: ID 01 - flat, ver 0. Features enabled: false Level generator options: Level spawn location: World: (780,4,-66), Chunk: (at 12,0,14 in 48,-5; contains blocks 768,0,-80 to 783,255,-65), Region: (1,-1; contains chunks 32,-32 to 63,-1, blocks 512,0,-512 to 1023,255,-1) Level time: 30690 game time, 30690 day time Level dimension: 0 Level storage version: 0x00000 - Unknown? Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false) Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false Forced entities: 40 total; [EntityChicken['Chicken'/139, l='MpServer', x=851,47, y=4,00, z=-47,38], EntityCow['Cow'/76, l='MpServer', x=771,03, y=4,00, z=-7,94], EntityVillager['Villager'/78, l='MpServer', x=769,69, y=5,00, z=21,28], EntityCow['Cow'/73, l='MpServer', x=781,41, y=4,00, z=-16,75], EntityCow['Cow'/74, l='MpServer', x=782,59, y=4,00, z=-14,31], EntitySheep['Sheep'/75, l='MpServer', x=776,41, y=4,00, z=-4,16], EntityPig['Pig'/85, l='MpServer', x=798,31, y=4,00, z=-130,03], EntityPig['Pig'/87, l='MpServer', x=793,22, y=4,00, z=-12,06], EntityPig['Pig'/93, l='MpServer', x=820,16, y=4,00, z=-133,97], EntityPig['Pig'/95, l='MpServer', x=834,09, y=4,00, z=-122,09], EntityPig['Pig'/94, l='MpServer', x=827,53, y=4,00, z=-116,25], EntityPig['Pig'/88, l='MpServer', x=809,31, y=4,00, z=-130,84], EntityPig['Pig'/90, l='MpServer', x=800,09, y=4,00, z=-132,75], EntityChicken['Chicken'/102, l='MpServer', x=827,56, y=4,00, z=15,56], EntityChicken['Chicken'/103, l='MpServer', x=814,53, y=4,00, z=2,59], EntityChicken['Chicken'/100, l='MpServer', x=826,47, y=4,00, z=-8,59], EntityClientPlayerMP['lliinnkk10'/168, l='MpServer', x=786,52, y=5,62, z=-54,36], EntityCow['Cow'/101, l='MpServer', x=823,69, y=4,00, z=-0,81], EntityChicken['Chicken'/98, l='MpServer', x=816,53, y=4,00, z=-15,44], EntityChicken['Chicken'/99, l='MpServer', x=824,63, y=4,00, z=-1,59], EntityChicken['Chicken'/36, l='MpServer', x=717,47, y=4,00, z=15,59], EntityChicken['Chicken'/96, l='MpServer', x=822,44, y=4,00, z=-36,59], EntityChicken['Chicken'/97, l='MpServer', x=823,63, y=4,00, z=-11,41], EntityCow['Cow'/42, l='MpServer', x=733,94, y=4,00, z=16,84], EntitySheep['Sheep'/40, l='MpServer', x=731,66, y=4,00, z=-72,81], EntityCow['Cow'/41, l='MpServer', x=737,34, y=4,00, z=20,28], EntityCow['Cow'/104, l='MpServer', x=818,78, y=4,00, z=27,94], EntityChicken['Chicken'/105, l='MpServer', x=816,41, y=4,00, z=25,59], EntitySheep['Sheep'/51, l='MpServer', x=750,97, y=4,00, z=-17,03], EntitySheep['Sheep'/50, l='MpServer', x=749,06, y=4,00, z=-23,03], EntityCow['Cow'/49, l='MpServer', x=738,72, y=4,00, z=-40,78], EntitySheep['Sheep'/52, l='MpServer', x=746,84, y=4,00, z=17,06], EntityCow['Cow'/125, l='MpServer', x=833,50, y=4,00, z=-4,25], EntityChicken['Chicken'/124, l='MpServer', x=838,59, y=4,00, z=-31,34], EntityVillager['Villager'/63, l='MpServer', x=761,50, y=4,00, z=22,25], EntityCow['Cow'/123, l='MpServer', x=839,22, y=4,00, z=-16,78], EntityChicken['Chicken'/122, l='MpServer', x=832,53, y=4,00, z=-21,66], EntityPig['Pig'/62, l='MpServer', x=758,91, y=4,00, z=-28,06], EntityCow['Cow'/121, l='MpServer', x=843,84, y=4,00, z=-32,63], EntityPig['Pig'/61, l='MpServer', x=753,09, y=4,00, z=-23,81]] Retry entities: 0 total; [] Server brand: fml,forge Server type: Integrated singleplayer server Stacktrace: at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:368) at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2382) at net.minecraft.client.Minecraft.run(Minecraft.java:857) at net.minecraft.client.main.Main.main(SourceFile:103) 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:134) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) -- System Details -- Details: Minecraft Version: 1.7.2 Operating System: Windows 7 (amd64) version 6.1 Java Version: 1.7.0_51, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 831514512 bytes (792 MB) / 1004011520 bytes (957 MB) up to 2077753344 bytes (1981 MB) JVM Flags: 3 total; -Xincgc -Xmx2048M -Xms1024M AABB Pool Size: 18006 (1008336 bytes; 0 MB) allocated, 2 (112 bytes; 0 MB) used IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v9.03 FML v7.2.165.1065 Minecraft Forge 10.12.1.1065 4 mods loaded, 4 mods active mcp{9.03} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available FML{7.2.165.1065} [Forge Mod Loader] (forgeBin-1.7.2-10.12.1.1065.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Forge{10.12.1.1065} [Minecraft Forge] (forgeBin-1.7.2-10.12.1.1065.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available extendedobsidian{1.0} [Extended Obsidian] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Launched Version: 1.6 LWJGL: 2.9.0 OpenGL: AMD Radeon HD 7570 GL version 4.2.11476 Compatibility Profile Context, ATI Technologies Inc. Is Modded: Definitely; Client brand changed to 'fml,forge' Type: Client (map_client.txt) Resource Packs: [] Current Language: ~~ERROR~~ NullPointerException: null Profiler Position: N/A (disabled) Vec3 Pool Size: 806 (45136 bytes; 0 MB) allocated, 21 (1176 bytes; 0 MB) used Anisotropic Filtering: Off (1)
  4. Yes there is a problem, it just crashes when I try to use it in crafting recipes. Crashlog: ---- Minecraft Crash Report ---- // On the bright side, I bought you a teddy bear! Time: 2014-05-02 15:08 Description: Updating screen events java.lang.NullPointerException: Updating screen events at net.minecraft.item.ItemStack.isItemStackDamageable(ItemStack.java:194) at net.minecraft.inventory.SlotCrafting.onPickupFromSlot(SlotCrafting.java:124) at net.minecraft.inventory.Container.slotClick(SourceFile:238) at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:419) at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:638) at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:392) at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:289) at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:256) at net.minecraft.client.Minecraft.runTick(Minecraft.java:1579) at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:916) at net.minecraft.client.Minecraft.run(Minecraft.java:835) at net.minecraft.client.main.Main.main(SourceFile:103) 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:134) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at net.minecraft.item.ItemStack.isItemStackDamageable(ItemStack.java:194) at net.minecraft.inventory.SlotCrafting.onPickupFromSlot(SlotCrafting.java:124) at net.minecraft.inventory.Container.slotClick(SourceFile:238) at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:419) at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:638) at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:392) at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:289) at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:256) -- Affected screen -- Details: Screen name: net.minecraft.client.gui.inventory.GuiCrafting -- Affected level -- Details: Level name: MpServer All players: 1 total; [EntityClientPlayerMP['lliinnkk10'/170, l='MpServer', x=786,52, y=5,62, z=-54,36]] Chunk stats: MultiplayerChunkCache: 225, 225 Level seed: 0 Level generator: ID 01 - flat, ver 0. Features enabled: false Level generator options: Level spawn location: World: (780,4,-66), Chunk: (at 12,0,14 in 48,-5; contains blocks 768,0,-80 to 783,255,-65), Region: (1,-1; contains chunks 32,-32 to 63,-1, blocks 512,0,-512 to 1023,255,-1) Level time: 27725 game time, 27725 day time Level dimension: 0 Level storage version: 0x00000 - Unknown? Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false) Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false Forced entities: 39 total; [EntityChicken['Chicken'/140, l='MpServer', x=851,47, y=4,00, z=-47,38], EntityCow['Cow'/76, l='MpServer', x=771,03, y=4,00, z=-7,94], EntityChicken['Chicken'/128, l='MpServer', x=836,47, y=4,00, z=24,38], EntityVillager['Villager'/78, l='MpServer', x=769,69, y=5,00, z=21,28], EntityPig['Pig'/72, l='MpServer', x=772,69, y=4,00, z=-24,88], EntityClientPlayerMP['lliinnkk10'/170, l='MpServer', x=786,52, y=5,62, z=-54,36], EntityCow['Cow'/73, l='MpServer', x=781,94, y=4,00, z=-17,97], EntityCow['Cow'/74, l='MpServer', x=786,22, y=4,00, z=-22,81], EntitySheep['Sheep'/75, l='MpServer', x=776,41, y=4,00, z=-4,16], EntityPig['Pig'/85, l='MpServer', x=798,31, y=4,00, z=-130,03], EntityChicken['Chicken'/92, l='MpServer', x=813,59, y=4,00, z=21,47], EntityPig['Pig'/89, l='MpServer', x=809,31, y=4,00, z=-130,84], EntityPig['Pig'/88, l='MpServer', x=793,22, y=4,00, z=-12,06], EntityBat['Bat'/91, l='MpServer', x=801,38, y=12,88, z=13,56], EntityChicken['Chicken'/102, l='MpServer', x=828,09, y=4,00, z=-8,78], EntityChicken['Chicken'/103, l='MpServer', x=825,47, y=4,00, z=-15,53], EntityChicken['Chicken'/100, l='MpServer', x=823,63, y=4,00, z=-11,41], EntityChicken['Chicken'/101, l='MpServer', x=818,56, y=4,00, z=-9,63], EntityPig['Pig'/98, l='MpServer', x=820,16, y=4,00, z=-133,97], EntityChicken['Chicken'/99, l='MpServer', x=822,44, y=4,00, z=-36,59], EntityPig['Pig'/96, l='MpServer', x=827,59, y=4,00, z=-120,16], EntityChicken['Chicken'/36, l='MpServer', x=717,47, y=4,00, z=15,59], EntityPig['Pig'/97, l='MpServer', x=823,09, y=4,00, z=-128,53], EntitySheep['Sheep'/40, l='MpServer', x=731,66, y=4,00, z=-72,81], EntityCow['Cow'/104, l='MpServer', x=820,28, y=4,00, z=-5,69], EntityCow['Cow'/105, l='MpServer', x=817,50, y=4,00, z=24,72], EntityCow['Cow'/51, l='MpServer', x=736,25, y=4,00, z=13,63], EntityCow['Cow'/50, l='MpServer', x=750,97, y=4,00, z=-30,13], EntitySheep['Sheep'/49, l='MpServer', x=749,06, y=4,00, z=-23,03], EntitySheep['Sheep'/52, l='MpServer', x=746,84, y=4,00, z=17,06], EntityCow['Cow'/127, l='MpServer', x=833,50, y=4,00, z=-4,25], EntitySheep['Sheep'/59, l='MpServer', x=756,13, y=4,00, z=-22,53], EntityChicken['Chicken'/126, l='MpServer', x=838,59, y=4,00, z=-31,34], EntityCow['Cow'/125, l='MpServer', x=839,22, y=4,00, z=-16,78], EntityChicken['Chicken'/124, l='MpServer', x=832,53, y=4,00, z=-21,66], EntityCow['Cow'/123, l='MpServer', x=843,84, y=4,00, z=-32,63], EntityPig['Pig'/122, l='MpServer', x=834,84, y=4,00, z=-132,13], EntityVillager['Villager'/61, l='MpServer', x=761,50, y=4,00, z=22,25], EntityPig['Pig'/60, l='MpServer', x=753,09, y=4,00, z=-23,81]] Retry entities: 0 total; [] Server brand: fml,forge Server type: Integrated singleplayer server Stacktrace: at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:368) at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2382) at net.minecraft.client.Minecraft.run(Minecraft.java:857) at net.minecraft.client.main.Main.main(SourceFile:103) 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:134) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) -- System Details -- Details: Minecraft Version: 1.7.2 Operating System: Windows 7 (amd64) version 6.1 Java Version: 1.7.0_51, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 765152248 bytes (729 MB) / 1004011520 bytes (957 MB) up to 2077753344 bytes (1981 MB) JVM Flags: 3 total; -Xincgc -Xmx2048M -Xms1024M AABB Pool Size: 18006 (1008336 bytes; 0 MB) allocated, 2 (112 bytes; 0 MB) used IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v9.03 FML v7.2.165.1065 Minecraft Forge 10.12.1.1065 4 mods loaded, 4 mods active mcp{9.03} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available FML{7.2.165.1065} [Forge Mod Loader] (forgeBin-1.7.2-10.12.1.1065.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Forge{10.12.1.1065} [Minecraft Forge] (forgeBin-1.7.2-10.12.1.1065.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available extendedobsidian{1.0} [Extended Obsidian] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Launched Version: 1.6 LWJGL: 2.9.0 OpenGL: AMD Radeon HD 7570 GL version 4.2.11476 Compatibility Profile Context, ATI Technologies Inc. Is Modded: Definitely; Client brand changed to 'fml,forge' Type: Client (map_client.txt) Resource Packs: [] Current Language: ~~ERROR~~ NullPointerException: null Profiler Position: N/A (disabled) Vec3 Pool Size: 136 (7616 bytes; 0 MB) allocated, 21 (1176 bytes; 0 MB) used Anisotropic Filtering: Off (1) Item Class: package com.obsidiancraft.item; import java.util.List; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import com.obsidiancraft.core.CoreMod; public class itemDiamondChisel extends Item { private ItemStack emptyItem = null; private static int maxDamage; public itemDiamondChisel() { setMaxDamage(63); this.setMaxStackSize(1); this.setNoRepair(); this.setCreativeTab(CoreMod.ExtendedObsidianTab); } @Override public boolean hasContainerItem() { return true; } public void setEmptyItem(ItemStack ei) { if(ei.getItemDamage()<1) { this.emptyItem = ei; } } public boolean doesContainerItemLeaveCraftingGrid(ItemStack par1ItemStack) { return false; } public static ItemStack copyStack(ItemStack stack) { return new ItemStack(CoreMod.itemDiamondChisel, 1); } public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean i) { list.add("\u00A77" + (stack.getMaxDamage() - stack.getItemDamage() +1) + " Uses left"); } } Main Class: package com.obsidiancraft.core; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.Item.ToolMaterial; import net.minecraft.item.ItemArmor.ArmorMaterial; import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; import com.obsidiancraft.block.blockObsidianBrick; import com.obsidiancraft.item.BasicItem; import com.obsidiancraft.item.GlowingItem; import com.obsidiancraft.item.itemDiamondChisel; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; @Mod(modid = CoreMod.modid, name = CoreMod.name, version = CoreMod.version) public class CoreMod { @Instance public static CoreMod instance; public static final String modid = "extendedobsidian"; public static final String name = "Extended Obsidian"; public static final String version = "1.0"; //Creative Tab public static CreativeTabs ExtendedObsidianTab = new CreativeTabs("ExtendedObsidian") { public Item getTabIconItem() { return Item.getItemFromBlock(blockObsidianBrick); } }; //Tool material public static ToolMaterial toolMaterialOT1; //Armor material public static ArmorMaterial armorMaterialOT1; //Blocks public static Block blockObsidianBrick; //Items public static Item itemDiamondChisel; public static Item itemObsidianIngot; public static Item itemObsidianFlake; public static Item itemObsidianIngotInfused; //Tools public static Item toolOPickaxeT1; public static Item toolOShovelT1; public static Item toolOAxeT1; public static Item toolOSwordT1; public static Item toolOHoeT1; //Armors public static Item armorOHelmT1; public static Item armorOBodyT1; public static Item armorOLegsT1; public static Item armorOBootsT1; @EventHandler public void preInit(FMLPreInitializationEvent event) { //Blocks blockObsidianBrick = new blockObsidianBrick().setBlockName("blockObsidianBrick"); GameRegistry.registerBlock(blockObsidianBrick, blockObsidianBrick.getUnlocalizedName()); //Items itemDiamondChisel = new itemDiamondChisel().setUnlocalizedName("itemDiamondChisel").setTextureName(CoreMod.modid + ":" + "itemDiamondChisel"); GameRegistry.registerItem(itemDiamondChisel, "itemDiamondChisel"); itemObsidianIngot = new BasicItem().setUnlocalizedName("itemObsidianIngot").setTextureName(CoreMod.modid + ":" + "itemObsidianIngot"); GameRegistry.registerItem(itemObsidianIngot, "itemObsidianIngot"); itemObsidianFlake = new BasicItem().setUnlocalizedName("itemObsidianFlake").setTextureName(CoreMod.modid + ":" + "itemObsidianFlake"); GameRegistry.registerItem(itemObsidianFlake, "itemObsidianFlake"); itemObsidianIngotInfused = new GlowingItem().setUnlocalizedName("itemObsidianIngotInfused").setTextureName(CoreMod.modid + ":" + "itemObsidianIngot"); GameRegistry.registerItem(itemObsidianIngotInfused, "itemObsidianIngotInfused"); //Tools //Armors //EnumTools //EnumArmors } @EventHandler public void Init(FMLInitializationEvent event) { //Recipes //shaped GameRegistry.addShapedRecipe(new ItemStack(itemDiamondChisel), new Object[]{"XC", 'X', Items.diamond, 'C', new ItemStack(Items.stick, 1, OreDictionary.WILDCARD_VALUE)}); GameRegistry.addShapedRecipe(new ItemStack(itemObsidianIngot), new Object[]{"#X#", "XXX", "#X#", 'X', itemObsidianFlake}); //shapeless GameRegistry.addShapelessRecipe(new ItemStack(blockObsidianBrick), new Object[]{new ItemStack(itemDiamondChisel, 1, OreDictionary.WILDCARD_VALUE), Blocks.stonebrick, Blocks.obsidian}); GameRegistry.addShapelessRecipe(new ItemStack(itemObsidianFlake, 2), new Object[]{new ItemStack(itemDiamondChisel, 1, OreDictionary.WILDCARD_VALUE), Blocks.obsidian}); GameRegistry.addShapelessRecipe(new ItemStack(Blocks.obsidian), new Object[]{Items.lava_bucket, Items.lava_bucket, Items.water_bucket, Items.water_bucket}); //smelting } @EventHandler public void postInit(FMLPostInitializationEvent event) { } }
  5. Hi! Thank you for the response. I don't really under stand where to put the "compare if a stack has item." And by "MyItems" I assumed it was where the items were registered and all that? And the "anItemInstance" would for my case be the "itemDiamondChisel"? Well, this is what I've tried: Item class: package com.obsidiancraft.item; import java.util.List; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import com.obsidiancraft.core.CoreMod; public class itemDiamondChisel extends Item { private ItemStack emptyItem = null; private static int maxDamage; public itemDiamondChisel() { setMaxDamage(63); this.setMaxStackSize(1); this.setNoRepair(); this.setCreativeTab(CoreMod.ExtendedObsidianTab); } @Override public boolean hasContainerItem() { return true; } public void setEmptyItem(ItemStack ei) { if(ei.getItemDamage()<1) { this.emptyItem = ei; } } public boolean doesContainerItemLeaveCraftingGrid(ItemStack par1ItemStack) { return false; } public static ItemStack copyStack(ItemStack stack) { return new ItemStack(CoreMod.itemDiamondChisel, 1); } public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean i) { list.add("\u00A77" + (stack.getMaxDamage() - stack.getItemDamage() +1) + " Uses left"); } } Main Class: package com.obsidiancraft.core; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.Item.ToolMaterial; import net.minecraft.item.ItemArmor.ArmorMaterial; import net.minecraft.item.ItemStack; import net.minecraftforge.common.util.EnumHelper; import net.minecraftforge.oredict.OreDictionary; import com.obsidiancraft.block.blockObsidianBrick; import com.obsidiancraft.item.BasicItem; import com.obsidiancraft.item.GlowingItem; import com.obsidiancraft.item.itemDiamondChisel; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; @Mod(modid = CoreMod.modid, name = CoreMod.name, version = CoreMod.version) public class CoreMod { @Instance public static CoreMod instance; public static final String modid = "extendedobsidian"; public static final String name = "Extended Obsidian"; public static final String version = "1.0"; //Creative Tab public static CreativeTabs ExtendedObsidianTab = new CreativeTabs("ExtendedObsidian") { public Item getTabIconItem() { return Item.getItemFromBlock(blockObsidianBrick); } }; //Tool material public static ToolMaterial toolMaterialOT1; //Armor material public static ArmorMaterial armorMaterialOT1; //Blocks public static Block blockObsidianBrick; //Items public static Item itemDiamondChisel; public static Item itemObsidianIngot; public static Item itemObsidianFlake; public static Item itemObsidianIngotInfused; //Tools public static Item toolOPickaxeT1; public static Item toolOShovelT1; public static Item toolOAxeT1; public static Item toolOSwordT1; public static Item toolOHoeT1; //Armors public static Item armorOHelmT1; public static Item armorOBodyT1; public static Item armorOLegsT1; public static Item armorOBootsT1; @EventHandler public void preInit(FMLPreInitializationEvent event) { //Blocks blockObsidianBrick = new blockObsidianBrick().setBlockName("blockObsidianBrick"); GameRegistry.registerBlock(blockObsidianBrick, blockObsidianBrick.getUnlocalizedName().substring(5)); //Items itemDiamondChisel = new itemDiamondChisel().setUnlocalizedName("itemDiamondChisel").setTextureName(CoreMod.modid + ":" + "itemDiamondChisel"); GameRegistry.registerItem(itemDiamondChisel, "itemDiamondChisel"); itemObsidianIngot = new BasicItem().setUnlocalizedName("itemObsidianIngot").setTextureName(CoreMod.modid + ":" + "itemObsidianIngot"); GameRegistry.registerItem(itemObsidianIngot, "itemObsidianIngot"); itemObsidianFlake = new BasicItem().setUnlocalizedName("itemObsidianFlake").setTextureName(CoreMod.modid + ":" + "itemObsidianFlake"); GameRegistry.registerItem(itemObsidianFlake, "itemObsidianFlake"); itemObsidianIngotInfused = new GlowingItem().setUnlocalizedName("itemObsidianIngotInfused").setTextureName(CoreMod.modid + ":" + "itemObsidianIngot"); GameRegistry.registerItem(itemObsidianIngotInfused, "itemObsidianIngotInfused"); //Tools toolOPickaxeT1 = new BasicItem().setUnlocalizedName("toolOPickaxeT1").setTextureName(CoreMod.modid + ":" + "toolOPickaxeT1"); toolOShovelT1 = new BasicItem().setUnlocalizedName("toolOShovelT1").setTextureName(CoreMod.modid + ":" + "toolOShovelT1"); toolOAxeT1 = new BasicItem().setUnlocalizedName("toolOAxeT1").setTextureName(CoreMod.modid + ":" + "toolOAxeT1"); toolOSwordT1 = new BasicItem().setUnlocalizedName("toolOSwordT1").setTextureName(CoreMod.modid + ":" + "toolOSwordT1"); toolOHoeT1 = new BasicItem().setUnlocalizedName("toolOHoeT1").setTextureName(CoreMod.modid + ":" + "toolOHoeT1"); //Armors //EnumTools toolMaterialOT1 = EnumHelper.addToolMaterial("Obsidian Tools Tier 1", 3, 2753, 10.5F, 8.5F, 25); //EnumArmors armorMaterialOT1 = EnumHelper.addArmorMaterial("", 1350, new int[]{5, 6, 2, 5}, 25); } @EventHandler public void Init(FMLInitializationEvent event) { //Recipes //shaped GameRegistry.addShapedRecipe(new ItemStack(itemDiamondChisel), new Object[]{"XC", 'X', Items.diamond, 'C', new ItemStack(Items.stick, 1, OreDictionary.WILDCARD_VALUE)}); GameRegistry.addShapedRecipe(new ItemStack(itemObsidianIngot), new Object[]{"#X#", "XXX", "#X#", 'X', itemObsidianFlake}); //shapeless GameRegistry.addShapelessRecipe(new ItemStack(blockObsidianBrick), new Object[]{new ItemStack(itemDiamondChisel, 1, OreDictionary.WILDCARD_VALUE), Blocks.stonebrick, Blocks.obsidian}); GameRegistry.addShapelessRecipe(new ItemStack(itemObsidianFlake, 2), new Object[]{new ItemStack(itemDiamondChisel, 1, OreDictionary.WILDCARD_VALUE), Blocks.obsidian}); //smelting } @EventHandler public void postInit(FMLPostInitializationEvent event) { } }
  6. Hi there! I have recently decided to try and make a mod for 1.7.2. When upgrading, there is an error in my class with using itemID, which no longer exists appaerently. Minecraft crashes when I try to craft with the chisel. Main Class: package com.obsidiancraft.core; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; import com.obsidiancraft.block.blockObsidianBrick; import com.obsidiancraft.item.itemDiamondChisel; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; @Mod(modid = CoreMod.modid, name = CoreMod.name, version = CoreMod.version) public class CoreMod { @Instance public static CoreMod instance; public static final String modid = "extendedobsidian"; public static final String name = "Extended Obsidian"; public static final String version = "1.0"; //Creative Tab public static CreativeTabs ExtendedObsidianTab = new CreativeTabs("ExtendedObsidian") { public Item getTabIconItem() { return Item.getItemFromBlock(blockObsidianBrick); } }; //Blocks public static Block blockObsidianBrick; //Items public static Item itemDiamondChisel; @EventHandler public void preInit(FMLPreInitializationEvent event) { blockObsidianBrick = new blockObsidianBrick().setBlockName("blockObsidianBrick"); GameRegistry.registerBlock(blockObsidianBrick, blockObsidianBrick.getUnlocalizedName().substring(5)); itemDiamondChisel = new itemDiamondChisel().setUnlocalizedName("itemDiamondChisel").setTextureName(CoreMod.modid + ":" + "itemDiamondChisel"); GameRegistry.registerItem(itemDiamondChisel, "itemDiamondChisel"); } @EventHandler public void Init(FMLInitializationEvent event) { //Recipes //shaped GameRegistry.addShapedRecipe(new ItemStack(itemDiamondChisel), new Object[]{"XC", 'X', Items.diamond, 'C', new ItemStack(Items.stick, 1, OreDictionary.WILDCARD_VALUE)}); //shapeless GameRegistry.addShapelessRecipe(new ItemStack(blockObsidianBrick), new Object[]{itemDiamondChisel, Blocks.stonebrick, Blocks.obsidian}); //smelting } @EventHandler public void postInit(FMLPostInitializationEvent event) { } } Item Class: package com.obsidiancraft.item; import java.util.List; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import com.obsidiancraft.core.CoreMod; public class itemDiamondChisel extends Item { private ItemStack emptyItem = null; private static int maxDamage; public itemDiamondChisel() { setMaxDamage(64); this.setMaxStackSize(1); this.setNoRepair(); this.setCreativeTab(CoreMod.ExtendedObsidianTab); } @Override public boolean hasContainerItem() { return true; } public void setEmptyItem(ItemStack ei) { this.emptyItem = ei; } public boolean doesContainerItemLeaveCraftingGrid(ItemStack par1ItemStack) { return false; } public ItemStack getContainerItemStack(ItemStack stack) { stack.setItemDamage(stack.getItemDamage() + 1); return stack; } public static ItemStack copyStack(ItemStack stack, int n) { return new ItemStack(stack.itemID, n, stack.getItemDamage()); } @SuppressWarnings("unchecked") public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean i) { list.add("\u00A77" + (stack.getMaxDamage() - stack.getItemDamage()) + " Uses left"); } } Crashlog: ---- Minecraft Crash Report ---- // Surprise! Haha. Well, this is awkward. Time: 2014-05-01 23:43 Description: Updating screen events java.lang.NullPointerException: Updating screen events at net.minecraft.item.ItemStack.isItemStackDamageable(ItemStack.java:194) at net.minecraft.inventory.SlotCrafting.onPickupFromSlot(SlotCrafting.java:124) at net.minecraft.inventory.Container.slotClick(SourceFile:238) at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:419) at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:638) at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:392) at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:289) at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:256) at net.minecraft.client.Minecraft.runTick(Minecraft.java:1579) at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:916) at net.minecraft.client.Minecraft.run(Minecraft.java:835) at net.minecraft.client.main.Main.main(SourceFile:103) 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:134) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at net.minecraft.item.ItemStack.isItemStackDamageable(ItemStack.java:194) at net.minecraft.inventory.SlotCrafting.onPickupFromSlot(SlotCrafting.java:124) at net.minecraft.inventory.Container.slotClick(SourceFile:238) at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:419) at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:638) at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:392) at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:289) at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:256) -- Affected screen -- Details: Screen name: net.minecraft.client.gui.inventory.GuiCrafting -- Affected level -- Details: Level name: MpServer All players: 1 total; [EntityClientPlayerMP['Player153'/182, l='MpServer', x=786,82, y=5,62, z=-52,55]] Chunk stats: MultiplayerChunkCache: 225, 225 Level seed: 0 Level generator: ID 01 - flat, ver 0. Features enabled: false Level generator options: Level spawn location: World: (780,4,-66), Chunk: (at 12,0,14 in 48,-5; contains blocks 768,0,-80 to 783,255,-65), Region: (1,-1; contains chunks 32,-32 to 63,-1, blocks 512,0,-512 to 1023,255,-1) Level time: 10274 game time, 10274 day time Level dimension: 0 Level storage version: 0x00000 - Unknown? Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false) Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false Forced entities: 41 total; [EntityCow['Cow'/68, l='MpServer', x=776,31, y=4,00, z=-21,38], EntitySheep['Sheep'/69, l='MpServer', x=771,63, y=4,00, z=-19,81], EntitySheep['Sheep'/70, l='MpServer', x=777,63, y=4,00, z=-15,94], EntityCow['Cow'/71, l='MpServer', x=781,84, y=4,00, z=-15,78], EntityPig['Pig'/67, l='MpServer', x=773,22, y=4,00, z=-17,09], EntityVillager['Villager'/76, l='MpServer', x=776,34, y=5,00, z=20,69], EntityChicken['Chicken'/129, l='MpServer', x=839,63, y=4,00, z=-37,41], EntityVillager['Villager'/77, l='MpServer', x=775,31, y=5,00, z=20,00], EntityPig['Pig'/128, l='MpServer', x=832,09, y=4,00, z=-126,94], EntityChicken['Chicken'/131, l='MpServer', x=845,94, y=4,00, z=-31,38], EntityVillager['Villager'/79, l='MpServer', x=770,50, y=5,00, z=20,69], EntityChicken['Chicken'/130, l='MpServer', x=833,63, y=4,00, z=-26,44], EntityChicken['Chicken'/133, l='MpServer', x=840,91, y=4,00, z=-24,88], EntitySheep['Sheep'/72, l='MpServer', x=785,09, y=4,00, z=-16,97], EntityCow['Cow'/132, l='MpServer', x=840,72, y=4,00, z=-30,44], EntityCow['Cow'/134, l='MpServer', x=836,34, y=4,00, z=-31,78], EntityVillager['Villager'/80, l='MpServer', x=775,66, y=4,00, z=24,66], EntityPig['Pig'/89, l='MpServer', x=795,97, y=4,00, z=-11,84], EntityCow['Cow'/91, l='MpServer', x=789,97, y=4,00, z=-10,88], EntityChicken['Chicken'/150, l='MpServer', x=848,56, y=4,00, z=-7,59], EntityPig['Pig'/90, l='MpServer', x=784,25, y=4,00, z=-2,09], EntityCow['Cow'/151, l='MpServer', x=849,81, y=4,00, z=-13,78], EntityPig['Pig'/103, l='MpServer', x=811,91, y=4,00, z=-114,72], EntityCow['Cow'/38, l='MpServer', x=719,03, y=4,00, z=13,13], EntityChicken['Chicken'/39, l='MpServer', x=715,47, y=4,00, z=26,53], EntitySheep['Sheep'/36, l='MpServer', x=705,97, y=4,00, z=10,91], EntitySheep['Sheep'/42, l='MpServer', x=733,19, y=4,00, z=25,16], EntityChicken['Chicken'/110, l='MpServer', x=815,53, y=4,00, z=-34,44], EntityChicken['Chicken'/111, l='MpServer', x=820,44, y=4,00, z=-11,66], EntityPig['Pig'/108, l='MpServer', x=820,84, y=4,00, z=-127,50], EntityPig['Pig'/109, l='MpServer', x=817,44, y=4,00, z=-125,19], EntityPig['Pig'/106, l='MpServer', x=818,13, y=4,00, z=-130,88], EntityPig['Pig'/107, l='MpServer', x=829,19, y=4,00, z=-118,06], EntityClientPlayerMP['Player153'/182, l='MpServer', x=786,82, y=5,62, z=-52,55], EntityPig['Pig'/104, l='MpServer', x=802,81, y=4,00, z=-124,91], EntityPig['Pig'/105, l='MpServer', x=807,09, y=4,00, z=-119,72], EntitySheep['Sheep'/49, l='MpServer', x=746,22, y=4,00, z=-37,31], EntityChicken['Chicken'/113, l='MpServer', x=827,63, y=4,00, z=-10,59], EntityCow['Cow'/112, l='MpServer', x=824,06, y=4,00, z=-3,97], EntityPig['Pig'/127, l='MpServer', x=839,88, y=4,00, z=-118,91], EntityCow['Cow'/58, l='MpServer', x=752,13, y=4,00, z=-26,03]] Retry entities: 0 total; [] Server brand: fml,forge Server type: Integrated singleplayer server Stacktrace: at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:368) at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2382) at net.minecraft.client.Minecraft.run(Minecraft.java:857) at net.minecraft.client.main.Main.main(SourceFile:103) 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:134) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) -- System Details -- Details: Minecraft Version: 1.7.2 Operating System: Windows 7 (amd64) version 6.1 Java Version: 1.7.0_51, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 920859856 bytes (878 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M AABB Pool Size: 10006 (560336 bytes; 0 MB) allocated, 2 (112 bytes; 0 MB) used IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v9.03 FML v7.2.165.1065 Minecraft Forge 10.12.1.1065 4 mods loaded, 4 mods active mcp{9.03} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available FML{7.2.165.1065} [Forge Mod Loader] (forgeBin-1.7.2-10.12.1.1065.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Forge{10.12.1.1065} [Minecraft Forge] (forgeBin-1.7.2-10.12.1.1065.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available extendedobsidian{1.0} [Extended Obsidian] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Launched Version: 1.6 LWJGL: 2.9.0 OpenGL: AMD Radeon HD 7570 GL version 4.2.11476 Compatibility Profile Context, ATI Technologies Inc. Is Modded: Definitely; Client brand changed to 'fml,forge' Type: Client (map_client.txt) Resource Packs: [] Current Language: ~~ERROR~~ NullPointerException: null Profiler Position: N/A (disabled) Vec3 Pool Size: 167 (9352 bytes; 0 MB) allocated, 21 (1176 bytes; 0 MB) used Anisotropic Filtering: Off (1)
  7. Well, now it's not showing up at all.. I mainly just renamed the item and made my own class for what it's going to be for. Main Class: package com.enhancedworld.core; import java.io.File; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraftforge.common.Configuration; import com.enhancedworld.item.toolMetalFormer; import com.enhancedworld.proxy.CommonProxy; import com.enhancedworld.recipe.EnhancedRecipes; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @Mod(modid = CoreMod.modid, name = CoreMod.name, version = CoreMod.version) @NetworkMod(clientSideRequired = true, serverSideRequired = false) public class CoreMod { public static final String modid = "enhancedworld"; public static final String name = "Enhanced World"; public static final String version = "M1.6.4-V0.1"; //Creative Tabs public static CreativeTabs EnhancedItems; public static CreativeTabs EnhancedBlocks; //Items public static Item toolMetalFormer; //Items ID public static int toolMetalFormerID; //Blocks //Blocks ID //Config @EventHandler public void initConfiguration(FMLInitializationEvent event) { Configuration config = new Configuration(new File("config/EnhancedWorld.cfg")); config.load(); toolMetalFormerID = config.get("Items", "Metal Former ID", 800).getInt(); config.save(); } @EventHandler public void preInit(FMLPreInitializationEvent e) { //Items toolMetalFormer = new toolMetalFormer(this.toolMetalFormerID - 256).setCreativeTab(EnhancedItems); GameRegistry.registerItem(toolMetalFormer, "toolMetalFormer"); LanguageRegistry.addName(toolMetalFormer, "Metal Former"); } @Instance(modid) public static CoreMod instance; @SidedProxy(clientSide="com.enhancedworld.proxy.ClientProxy", serverSide="com.enhancedworld.proxy.CommonProxy") public static CommonProxy proxy; @EventHandler public void Init(FMLInitializationEvent e) { //Creative Tabs EnhancedItems = new CreativeTabs("") { @SideOnly(Side.CLIENT) public int getTabIconItemIndex() { return Item.emerald.itemID; }}; LanguageRegistry.instance().addStringLocalization(EnhancedItems.getTranslatedTabLabel(), "Enhanced Items"); EnhancedBlocks = new CreativeTabs("") { @SideOnly(Side.CLIENT) public int getTabIconItemIndex() { return Block.stoneBrick.blockID; }}; proxy.registerStuff(); } @EventHandler public void postInit(FMLPostInitializationEvent e) { } } Item Class: package com.enhancedworld.item; import java.awt.List; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import com.enhancedworld.core.CoreMod; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class toolMetalFormer extends Item { private ItemStack emptyItem = null; private static int maxDamage; public toolMetalFormer(int id) { super(id); this.setMaxDamage(64); this.setMaxStackSize(1); this.setCreativeTab(CoreMod.EnhancedItems); this.setNoRepair(); } @Override public boolean hasContainerItem() { return true; } public void setEmptyItem(ItemStack ei) { this.emptyItem = ei; } public boolean doesContainerItemLeaveCraftingGrid(ItemStack itemstack) { return false; } @Override public ItemStack getContainerItemStack(ItemStack itemstack) { itemstack.setItemDamage(itemstack.getItemDamage() +1); return itemstack; } public static ItemStack copyStack(ItemStack itemstack, int n) { return new ItemStack(itemstack.itemID, n, itemstack.getItemDamage()); } public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean i) { list.add("\u00A73" + (stack.getMaxDamage() - stack.getItemDamage()) + " Uses left"); } @SideOnly(Side.CLIENT) public void registerIcons(IconRegister iconRegister) { this.itemIcon = iconRegister.registerIcon(CoreMod.modid + ":" + "toolMetalFormer"); } } I would really like to solve this before going to bed:/ This is also very weird because I have the exact setup on my other project. But I'm trying to keep this more organized.
  8. Where would I do that? I think I tried anywhere that the item was involved in but it either gave me the id of 0000 or the same as 10061.
  9. Hi! I have my config set the item id to 800 but if I change the id in the config file, it gives some completely other id ingame. Main Class: package com.enhancedworld.core; import java.io.File; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraftforge.common.Configuration; import com.enhancedworld.proxy.CommonProxy; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @Mod(modid = CoreMod.modid, name = CoreMod.name, version = CoreMod.version) @NetworkMod(clientSideRequired = true, serverSideRequired = false) public class CoreMod { public static final String modid = "enhancedworld"; public static final String name = "Enhanced World"; public static final String version = "M1.6.4-V0.1"; //Creative Tabs public static CreativeTabs EnhancedItems; public static CreativeTabs EnhancedBlocks; //Items public static Item itemlol; //Items ID public static int itemlolID; //Blocks //Blocks ID //Config @EventHandler public void initConfiguration(FMLInitializationEvent event) { Configuration config = new Configuration(new File("config/EnhancedWorld.cfg")); config.load(); itemlolID = config.get("Items", "itemlol ID", 800).getInt(); config.save(); } @EventHandler public void preInit(FMLPreInitializationEvent e) { } @Instance(modid) public static CoreMod instance; @SidedProxy(clientSide="com.enhancedworld.proxy.ClientProxy", serverSide="com.enhancedworld.proxy.CommonProxy") public static CommonProxy proxy; @EventHandler public void Init(FMLInitializationEvent e) { //Creative Tabs EnhancedItems = new CreativeTabs("") { @SideOnly(Side.CLIENT) public int getTabIconItemIndex() { return Item.emerald.itemID; }}; LanguageRegistry.instance().addStringLocalization(EnhancedItems.getTranslatedTabLabel(), "Enhanced Items"); EnhancedBlocks = new CreativeTabs("") { @SideOnly(Side.CLIENT) public int getTabIconItemIndex() { return Block.stoneBrick.blockID; }}; //Items itemlol = new Item(this.itemlolID).setCreativeTab(EnhancedItems); GameRegistry.registerItem(itemlol, "itemlol"); LanguageRegistry.addName(itemlol, "item lol"); proxy.registerStuff(); } @EventHandler public void postInit(FMLPostInitializationEvent e) { } } Config file: # Configuration file #################### # items #################### items { I:"itemlol ID"=9805 } And then I get 10061 as the item id ingame... I have no idea what is wrong, this is my first time using config files..
  10. Omg... That was just ridiculously easy... Thank you:D
  11. Hi there! I have a problem when I'm trying to create a custom rendered block and I was wishing for some help. Crash log: ---- Minecraft Crash Report ---- // This doesn't make any sense! Time: 2014-04-23 01:24 Description: Initializing game java.lang.NullPointerException at net.be.mods.model.LampPostModel.<init>(LampPostModel.java:59) at net.be.mods.renderer.RendererLampPost.<init>(RendererLampPost.java:18) at net.be.mods.MainModBE.preInit(MainModBE.java:75) 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 cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:572) 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 com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74) at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) at com.google.common.eventbus.EventBus.post(EventBus.java:267) at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:205) at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:183) 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 com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74) at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) at com.google.common.eventbus.EventBus.post(EventBus.java:267) at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:109) at cpw.mods.fml.common.Loader.loadMods(Loader.java:553) at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:185) at net.minecraft.client.Minecraft.startGame(Minecraft.java:472) at net.minecraft.client.Minecraft.run(Minecraft.java:809) at net.minecraft.client.main.Main.main(Main.java:93) 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:131) at net.minecraft.launchwrapper.Launch.main(Launch.java:27) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at net.be.mods.model.LampPostModel.<init>(LampPostModel.java:59) at net.be.mods.renderer.RendererLampPost.<init>(RendererLampPost.java:18) at net.be.mods.MainModBE.preInit(MainModBE.java:75) 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 cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:572) 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 com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74) at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) at com.google.common.eventbus.EventBus.post(EventBus.java:267) at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:205) at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:183) 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 com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74) at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) at com.google.common.eventbus.EventBus.post(EventBus.java:267) at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:109) at cpw.mods.fml.common.Loader.loadMods(Loader.java:553) at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:185) at net.minecraft.client.Minecraft.startGame(Minecraft.java:472) -- Initialization -- Details: Stacktrace: at net.minecraft.client.Minecraft.run(Minecraft.java:809) at net.minecraft.client.main.Main.main(Main.java:93) 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:131) at net.minecraft.launchwrapper.Launch.main(Launch.java:27) -- System Details -- Details: Minecraft Version: 1.6.4 Operating System: Windows 7 (amd64) version 6.1 Java Version: 1.7.0_51, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 922970696 bytes (880 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used Suspicious classes: FML and Forge are installed IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v8.11 FML v6.4.49.965 Minecraft Forge 9.11.1.965 4 mods loaded, 4 mods active mcp{8.09} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized FML{6.4.49.965} [Forge Mod Loader] (bin) Unloaded->Constructed->Pre-initialized Forge{9.11.1.965} [Minecraft Forge] (bin) Unloaded->Constructed->Pre-initialized beautifulexistence{Pre-alpha v0.001} [bE mods] (bin) Unloaded->Constructed->Errored Launched Version: 1.6 LWJGL: 2.9.0 OpenGL: AMD Radeon HD 7570 GL version 4.2.11476 Compatibility Profile Context, ATI Technologies Inc. Is Modded: Definitely; Client brand changed to 'fml,forge' Type: Client (map_client.txt) Resource Pack: Default Current Language: English (US) Profiler Position: N/A (disabled) Vec3 Pool Size: ~~ERROR~~ NullPointerException: null Main Class: @Mod(modid = MainModBE.modid, name = "BE mods", version = "Pre-alpha v0.001") @NetworkMod(clientSideRequired = true, serverSideRequired = true) public class MainModBE { public static final String modid = "beautifulexistence"; @EventHandler public void preInit(FMLPreInitializationEvent e) { //Tile Entity ClientRegistry.registerTileEntity(TileEntityPostLamp.class, "LampPost", new RendererLampPost()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPostLamp.class, new RendererLampPost()); public static Block blockLampPost; @EventHandler public void load(FMLInitializationEvent e) { LanguageRegistry.instance().addStringLocalization(BETab.getTranslatedTabLabel(), "BE Tab"); blockLampPost = new blockLampPost(3006).setUnlocalizedName("blockLampPost").setHardness(4.0F).setStepSound(Block.soundMetalFootstep).setResistance(15.0F); GameRegistry.registerBlock(blockLampPost, modid + blockLampPost.getUnlocalizedName().substring(5)); LanguageRegistry.addName(blockLampPost, "Lamp Post"); blockLampPost: public class blockLampPost extends BlockContainer{ public blockLampPost(int id) { super(id, Material.rock); this.setLightValue(1F); this.setCreativeTab(MainModBE.BETab); } public TileEntity createNewTileEntity(World world) { return new TileEntityPostLamp(); } public int getRenderType() { return -1; } public boolean isOpaqueCube() { return false; } public boolean renderAsNormalBlock() { return false; } @SideOnly(Side.CLIENT) public void registerIcons(IconRegister icon) { this.blockIcon = icon.registerIcon(MainModBE.modid + ":" + "LampPlacer"); } } LampPostModel: public class LampPostModel extends ModelBase { ModelRenderer Shape1; ModelRenderer Shape2; ModelRenderer Shape3; ModelRenderer Shape4; ModelRenderer Shape5; ModelRenderer Shape6; ModelRenderer Shape7; ModelRenderer Shape8; public LampPostModel() { textureWidth = 64; textureHeight = 64; Shape1 = new ModelRenderer(this, 0, 9); Shape1.addBox(-1F, -1F, -1F, 2, 2, 2); Shape1.setRotationPoint(0F, 23F, 0F); Shape1.setTextureSize(64, 64); Shape1.mirror = true; setRotation(Shape1, 0F, 0F, 0F); Shape2 = new ModelRenderer(this, 0, 14); Shape2.addBox(0F, 0F, 0F, 4, 1, 4); Shape2.setRotationPoint(-2F, 21F, -2F); Shape2.setTextureSize(64, 64); Shape2.mirror = true; setRotation(Shape2, 0F, 0F, 0F); Shape3 = new ModelRenderer(this, 15, 34); Shape3.addBox(0F, -5F, 0F, 1, 5, 1); Shape3.setRotationPoint(1F, 21.5F, -2F); Shape3.setTextureSize(64, 64); Shape3.mirror = true; setRotation(Shape3, 0.0872665F, 0F, 0.0872665F); Shape4 = new ModelRenderer(this, 10, 34); Shape4.addBox(0F, -5F, 0F, 1, 5, 1); Shape4.setRotationPoint(1F, 21.5F, 1F); Shape4.setTextureSize(64, 64); Shape4.mirror = true; setRotation(Shape4, -0.0872665F, 0F, 0.0872665F); Shape5 = new ModelRenderer(this, 5, 34); Shape5.addBox(0F, -5F, 0F, 1, 5, 1); Shape5.setRotationPoint(-2F, 21.5F, 1F); Shape5.setTextureSize(64, 64); Shape5.mirror = true; setRotation(Shape5, -0.0872665F, 0F, -0.0872665F); Shape6 = new ModelRenderer(this, 0, 34); Shape6.addBox(0F, -5F, 0F, 1, 5, 1); Shape6.setRotationPoint(-2F, 21.5F, -2F); Shape6.setTextureSize(64, 64); Shape6.mirror = true; setRotation(Shape6, 0.0872665F, 0F, -0.0872665F); Shape7.mirror = true; Shape7 = new ModelRenderer(this, 0, 20); Shape7.addBox(0F, 0F, 0F, 6, 1, 6); Shape7.setRotationPoint(-3F, 16F, -3F); Shape7.setTextureSize(64, 64); Shape7.mirror = true; setRotation(Shape7, 0F, 0F, 0F); Shape7.mirror = false; Shape8 = new ModelRenderer(this, 0, 28); Shape8.addBox(0F, 0F, 0F, 4, 1, 4); Shape8.setRotationPoint(-2F, 15F, -2F); Shape8.setTextureSize(64, 64); Shape8.mirror = true; setRotation(Shape8, 0F, 0F, 0F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, entity); Shape1.render(f5); Shape2.render(f5); Shape3.render(f5); Shape4.render(f5); Shape5.render(f5); Shape6.render(f5); Shape7.render(f5); Shape8.render(f5); } public void renderModel(float f5) { Shape1.render(f5); Shape2.render(f5); Shape3.render(f5); Shape4.render(f5); Shape5.render(f5); Shape6.render(f5); Shape7.render(f5); Shape8.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); } } RenderLampPost: public class RendererLampPost extends TileEntitySpecialRenderer{ private static final ResourceLocation texture = new ResourceLocation(MainModBE.modid, "textures/model/LampPost.png"); private LampPostModel model; public RendererLampPost() { this.model = new LampPostModel(); } public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { GL11.glPushMatrix(); GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); GL11.glRotatef(180, 0F, 0F, 1F); this.bindTexture(texture); GL11.glPushMatrix(); this.model.renderModel(0.0625F); GL11.glPopMatrix(); GL11.glPopMatrix(); } } I only picked out the most important things and semi relevant stuff in the main class. I am really stuck
  12. Hi there! I know that I'm playing kind of out dated. But it's this version that has my favorit mods. I am trying to install 53 mods, somewhere along the line it messes up and I just can't figure it out. I would love any help at all. Crash report: 53 mods loaded Optifine OptiFine_1.2.5_HD_S_C6 Minecraft Forge 3.3.8.164 FML v2.2.106.176 Forge Mod Loader version 2.2.106.176 for Minecraft 1.2.5 mod_MinecraftForge : Loaded (modpack.jar) mod_CodeChickenCore : Loaded (modpack.jar) mod_NotEnoughItems : Loaded (modpack.jar) mod_MoreCreepsAndWeirdos : Loaded (minecraft.jar) mod_ReiMinimap : Loaded ([1.2.5]ReiMinimap_v3.2_04.zip) mod_IC2AdvancedMachines : Loaded (AdvancedMachines_4.0_client.zip) mod_BuildCraftCore : Loaded (buildcraft-client-A-core-2.2.14.zip) mod_BuildCraftBuilders : Loaded (buildcraft-client-B-builders-2.2.14.zip) mod_BuildCraftEnergy : Loaded (buildcraft-client-B-energy-2.2.14.zip) mod_BuildCraftFactory : Loaded (buildcraft-client-B-factory-2.2.14.zip) mod_BuildCraftTransport : Loaded (buildcraft-client-B-transport-2.2.14.zip) mod_AdditionalPipes : Loaded (buildcraft-client-DA-additionalpipes-2.1.3.zip) mod_ccSensors : Loaded (ccSensors-client-MC125-B017pr1.zip) mod_ChickenChunks : Loaded (ChickenChunks-Client 1.0.1.zip) mod_CCTurtle : Loaded (ComputerCraft) mod_ComputerCraft : Loaded (ComputerCraft) mod_EE : Loaded (EE2ClientV1.4.6.5.jar) mod_EnchantingPlus : Loaded (Enchanting Plus.zip) mod_EnderStorage : Loaded (EnderStorage-Client 1.1.3.zip) mod_ExtraBees : Loaded (extrabees-1.3.2d_exp.jar) mod_Forestry : Loaded (forestry-client-A-1.4.8.6_bc2.2.jar) mod_IC2NuclearControl : Loaded (IC2NuclearControl_client_v1.1.10b.zip) mod_ImmibisCore : Loaded (immibis-core_49.1.1_for_1.2.5-client.jar) mod_IC2 : Loaded (industrialcraft-2-client_1.97.jar) mod_InvTweaks : Loaded (InvTweaks-1.41b-1.2.4.zip) mod_PigbearLaser : Loaded (Laser Mod 1.5.zip) mod_LogisticsPipes : Loaded (LogisticsPipes-BC3-0.2.5B.zip) mod_MAtmos_forModLoader : Loaded (MAtmos_packaged.zip) mod_ModularForceFieldSystem : Loaded (mffs_rev7_for_1.2.5-client.zip) mod_IC2_ChargingBench : Loaded (mod_chargingbench-client-1.95b-1.2.5-r1.zip) mod_CompactSolars : Loaded (mod_compactsolars-client-2.3.2.10.zip) mod_IronChest : Loaded (mod_ironchests-client-3.8.0.40.zip) mod_zAdvancedSolarPanel : Loaded (mod_zAdvancedSolarPanel_3_0_0_client.zip) mod_NetherOres : Loaded (NetherOres_Client_1.2.1.zip) mod_PowerConverters : Loaded (PowerConverters_Client_1.3.4.zip) mod_Railcraft : Loaded (Railcraft_Client_5.3.3.zip) mod_RedPowerControl : Loaded (RedPowerControl-2.0pr5b2.zip) mod_RedPowerCore : Loaded (RedPowerCore-2.0pr5b2.zip) mod_RedPowerLighting : Loaded (RedPowerLighting-2.0pr5b2.zip) mod_RedPowerLogic : Loaded (RedPowerLogic-2.0pr5b2.zip) mod_RedPowerMachine : Loaded (RedPowerMachine-2.0pr5b2.zip) mod_RedPowerWiring : Loaded (RedPowerWiring-2.0pr5b2.zip) mod_RedPowerWorld : Loaded (RedPowerWorld-2.0pr5b2.zip) mod_ThaumCraft : Loaded (ThaumCraft2.1.6d.zip) mod_ThermalExpansionCore : Loaded (thermalexpansion-1.0.4.3_bc2-mcpc-r1.zip) mod_ThermalExpansionFactory : Loaded (thermalexpansion-1.0.4.3_bc2-mcpc-r1.zip) mod_TubeStuff : Loaded (tubestuff_49.1.2_for_1.2.5-client.jar) mod_TwilightForest : Loaded (twilightforest-1.10.1.zip) mod_WeaponMod : Loaded (WeaponMod.zip) mod_WirelessRedstoneAddons : Loaded (WR-CBE Addons-Client 1.2.2.3.zip) mod_WirelessRedstoneCore : Loaded (WR-CBE Core-Client 1.2.2.3.zip) mod_WirelessRedstoneRedPower : Loaded (WR-CBE RedPower-Client 1.2.2.1.zip) mod_ImmiChunkLoaders : Loaded (zdimensional-anchor_rev3.2_for_1.2.5-client.jar) Minecraft has crashed! ---------------------- Minecraft has stopped running because it encountered a problem. --- BEGIN ERROR REPORT 6e5a4a3c -------- Generated 2014-04-20 22:52 Minecraft: Minecraft 1.2.5 OS: Windows 7 (amd64) version 6.1 Java: 1.7.0_51, Oracle Corporation VM: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation LWJGL: 2.9.0 OpenGL: AMD Radeon HD 7570 version 4.2.11476 Compatibility Profile Context, ATI Technologies Inc. java.lang.NullPointerException at cpw.mods.fml.common.modloader.ModLoaderModContainer.init(ModLoaderModContainer.java:356) at cpw.mods.fml.common.Loader.modInit(Loader.java:273) at cpw.mods.fml.common.Loader.initializeMods(Loader.java:628) at cpw.mods.fml.client.FMLClientHandler.onLoadComplete(FMLClientHandler.java:223) at net.minecraft.client.Minecraft.a(Minecraft.java:429) at net.minecraft.client.Minecraft.run(Minecraft.java:738) at java.lang.Thread.run(Unknown Source) --- END ERROR REPORT 8170ecb8 ----------
  13. Hi there! I have a problem with my crop droppings. It should drop 1 seed and 1 enderpearl, but instead it drops 1 enderpearl and 0-4 seeds. I would also know how to make them plantable on many surfaces, and how to make it ungrowable by bonemeal. Any help would be greatly appreciated! Main Class: package net.be.mods; import net.be.mods.block.FragmentOre; import net.be.mods.block.blockCraftingTable; import net.be.mods.block.blockEmeraldOre; import net.be.mods.block.blockRubyOre; import net.be.mods.block.blockSapphireOre; import net.be.mods.block.cropEnder; import net.be.mods.entity.EntityZomburt; import net.be.mods.entity.RenderZomburt; import net.be.mods.gui.GuiHandler; import net.be.mods.item.ItemAxeInfinite; import net.be.mods.item.ItemBasic; import net.be.mods.item.ItemGlowing; import net.be.mods.item.ItemHoeInfinite; import net.be.mods.item.ItemPickaxeInfinite; import net.be.mods.item.ItemSpadeInfinite; import net.be.mods.item.ItemSwordInfinite; import net.be.mods.item.toolBlasterRifle; import net.be.mods.item.toolDeathsScythe; import net.be.mods.item.toolHIAxe; import net.be.mods.item.toolHIHoe; import net.be.mods.item.toolHIPickaxe; import net.be.mods.item.toolHISpade; import net.be.mods.item.toolHISword; import net.be.mods.item.toolJewelChisel; import net.be.mods.item.toolMasterSword; import net.be.mods.item.toolMobSpawner; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.model.ModelBiped; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EnumCreatureType; import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemSeedFood; import net.minecraft.item.ItemStack; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.EnumHelper; import net.minecraftforge.oredict.OreDictionary; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @Mod(modid = MainModBE.modid, name = "BE mods", version = "Pre-alpha v0.001") @NetworkMod(clientSideRequired = true, serverSideRequired = true) public class MainModBE { public static final String modid = "beautifulexistence"; @EventHandler public void preInit(FMLPreInitializationEvent e) { NetworkRegistry.instance().registerGuiHandler(MainModBE.instance, new GuiHandler()); } @Instance("beautifulexistence") public static MainModBE instance; public static String GuiTexturePrefix = "beautifulexistence" + ":" + "textures/gui/"; //Event Manager! //CraftingHandler craftinghandler = new CraftingHandler(); EventManager eventmanager = new EventManager(); //Tabs! public static CreativeTabs BETab; //EnumTools! //Initialize Blocks! public static Block cropEnder; //Initialize Items! public static Item itemSeedEnder; @EventHandler public void load(FMLInitializationEvent e) { //Event Manager //GameRegistry.registerCraftingHandler(new CraftingHandler()); GameRegistry.registerWorldGenerator(eventmanager); //Tabs! BETab = new CreativeTabs("BETab") { @SideOnly(Side.CLIENT) public int getTabIconItemIndex() { return itemInfiniteCore.itemID; } }; //Load Blocks! Material.wood).setUnlocalizedName("blockCraftingTable").setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setResistance(6.0F); cropEnder = new cropEnder(3005).setUnlocalizedName("cropEnder"); GameRegistry.registerBlock(cropEnder, modid + cropEnder.getUnlocalizedName().substring(5)); LanguageRegistry.addName(cropEnder, "Ender Crop"); //Load Items! itemSeedEnder = new ItemSeedFood(7040, 0, 0.0F, cropEnder.blockID, Block.whiteStone.blockID).setUnlocalizedName("seedEnder").setTextureName(modid + ":" + "seedEnder").setCreativeTab(BETab); registerItem(itemSeedEnder, "Ender Seed"); } public void registerBlock(Block block, String name) { GameRegistry.registerBlock(block, block.getUnlocalizedName()); LanguageRegistry.addName(block, name); } public void registerItem(Item item, String name) { GameRegistry.registerItem(item, item.getUnlocalizedName()); LanguageRegistry.addName(item, name); } } Crop Class: package net.be.mods.block; import java.util.Random; import net.be.mods.MainModBE; import net.minecraft.block.Block; import net.minecraft.block.BlockCrops; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.item.Item; import net.minecraft.util.Icon; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class cropEnder extends BlockCrops { @SideOnly(Side.CLIENT) private Icon[] iconArray; public cropEnder(int par1) { super(par1); } @SideOnly(Side.CLIENT) public Icon getIcon(int side, int metadata) { if(metadata < 7) { if(metadata == 6) { metadata = 5; } return iconArray[metadata >> 1]; } return iconArray[3]; } public int getSeedItem() { return MainModBE.itemSeedEnder.itemID; } public int getCropItem() { return Item.enderPearl.itemID; } public int idDropped(int par1, Random par2Random, int par3) { return par1 == 7 ? this.getCropItem() : this.getSeedItem(); } public int quantityDropped() { return 1; } public boolean canThisPlantGrowOnThisBlockID(int par1) { return par1 == Block.tilledField.blockID + Block.whiteStone.blockID + Block.grass.blockID; } @SideOnly(Side.CLIENT) public void registerIcons(IconRegister iconRegister) { this.iconArray = new Icon[4]; for(int i = 0; i < this.iconArray.length; i++) { this.iconArray[i] = iconRegister.registerIcon(MainModBE.modid + ":" + "ender_" + (i+1)); } } } Btw, I took out the unrelated stuff in the main class.
  14. Now I get this error after the gui opens for a split second. The texture thing is noted although this method works for me for rendering textures so I'll probably stick to it. ---- Minecraft Crash Report ---- // Quite honestly, I wouldn't worry myself about that. Time: 2014-04-07 12:35 Description: Ticking memory connection java.lang.NullPointerException at net.be.mods.ContainerBigCrafting.<init>(ContainerBigCrafting.java:28) at net.be.mods.GuiHandler.getServerGuiElement(GuiHandler.java:17) at cpw.mods.fml.common.network.NetworkRegistry.openRemoteGui(NetworkRegistry.java:320) at cpw.mods.fml.common.network.FMLNetworkHandler.openGui(FMLNetworkHandler.java:371) at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2555) at net.be.mods.block.blockCraftingTable.onBlockActivated(blockCraftingTable.java:39) at net.minecraft.item.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:434) at net.minecraft.network.NetServerHandler.handlePlace(NetServerHandler.java:557) at net.minecraft.network.packet.Packet15Place.processPacket(Packet15Place.java:79) at net.minecraft.network.MemoryConnection.processReadPackets(MemoryConnection.java:89) at net.minecraft.network.NetServerHandler.networkTick(NetServerHandler.java:141) at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:54) at net.minecraft.server.integrated.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:109) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:699) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:595) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:134) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:489) at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at net.be.mods.ContainerBigCrafting.<init>(ContainerBigCrafting.java:28) at net.be.mods.GuiHandler.getServerGuiElement(GuiHandler.java:17) at cpw.mods.fml.common.network.NetworkRegistry.openRemoteGui(NetworkRegistry.java:320) at cpw.mods.fml.common.network.FMLNetworkHandler.openGui(FMLNetworkHandler.java:371) at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2555) at net.be.mods.block.blockCraftingTable.onBlockActivated(blockCraftingTable.java:39) at net.minecraft.item.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:434) at net.minecraft.network.NetServerHandler.handlePlace(NetServerHandler.java:557) at net.minecraft.network.packet.Packet15Place.processPacket(Packet15Place.java:79) at net.minecraft.network.MemoryConnection.processReadPackets(MemoryConnection.java:89) at net.minecraft.network.NetServerHandler.networkTick(NetServerHandler.java:141) -- Ticking connection -- Details: Connection: net.minecraft.network.NetServerHandler@4a0babf5 Stacktrace: at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:54) at net.minecraft.server.integrated.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:109) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:699) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:595) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:134) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:489) at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16) -- System Details -- Details: Minecraft Version: 1.6.4 Operating System: Windows 7 (amd64) version 6.1 Java Version: 1.7.0_51, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 659319344 bytes (628 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M AABB Pool Size: 735 (41160 bytes; 0 MB) allocated, 400 (22400 bytes; 0 MB) used Suspicious classes: FML and Forge are installed IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v8.11 FML v6.4.49.965 Minecraft Forge 9.11.1.965 4 mods loaded, 4 mods active mcp{8.09} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available FML{6.4.49.965} [Forge Mod Loader] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Forge{9.11.1.965} [Minecraft Forge] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available beautifulexistence{Pre-alpha v0.001} [bE mods] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Profiler Position: N/A (disabled) Vec3 Pool Size: 61 (3416 bytes; 0 MB) allocated, 50 (2800 bytes; 0 MB) used Player Count: 1 / 8; [EntityPlayerMP['Player436'/73, l='New World', x=272,37, y=4,00, z=-561,17]] Type: Integrated Server (map_client.txt) Is Modded: Definitely; Client brand changed to 'fml,forge' Main File: @Mod(modid = MainModBE.modid, name = "BE mods", version = "Pre-alpha v0.001") @NetworkMod(clientSideRequired = true, serverSideRequired = true) public class MainModBE { public static final String modid = "beautifulexistence"; @EventHandler public void preInit(FMLPreInitializationEvent e) { NetworkRegistry.instance().registerGuiHandler(MainModBE.instance, new GuiHandler()); } @Instance("beautifulexistence") public static MainModBE instance; Gui Handler: public class GuiHandler implements IGuiHandler { @Override public Object getServerGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { TileEntity tile_entity = world.getBlockTileEntity(x, y, z); switch(id) { case 0: return id == 0 && world.getBlockId(x, y, z) == MainModBE.blockCraftingTable.blockID ? new ContainerBigCrafting(player.inventory, world, x, y, z) : null; case 1: return new ContainerBigCrafting(null, world, x, y, z); } return null; } @Override public Object getClientGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { TileEntity tile_entity = world.getBlockTileEntity(x, y, z); switch(id) { case 0: return id == 0 && world.getBlockId(x, y, z) == MainModBE.blockCraftingTable.blockID ? new GuiBigCrafting(player.inventory, world, x, y, z) : null; case 1: return new GuiBigCrafting(player.inventory, world, x, y, z); } return null; } } Crafting Table: public class blockCraftingTable extends Block{ @SideOnly(Side.CLIENT) private Icon workbenchIconTop; @SideOnly(Side.CLIENT) private Icon workbenchIconFront; public blockCraftingTable(int id, Material par2Material) { super(id, par2Material); this.setCreativeTab(MainModBE.BETab); } @SideOnly(Side.CLIENT) public Icon getIcon(int par1, int par2) { return par1 == 1 ? this.workbenchIconTop : (par1 == 0 ? Block.planks.getBlockTextureFromSide(par1) : (par1 != 2 && par1 != 4 ? this.blockIcon : this.workbenchIconFront)); } @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { this.blockIcon = par1IconRegister.registerIcon("beautifulexistence:CraftingTableSide"); this.workbenchIconTop = par1IconRegister.registerIcon("beautifulexistence:CraftingTableTop"); this.workbenchIconFront = par1IconRegister.registerIcon("beautifulexistence:CraftingTableFront"); } public boolean onBlockActivated(World var1, int var2, int var3, int var4, EntityPlayer player, int var6, float var7, float var8, float var9) { if (!player.isSneaking()) { player.openGui(MainModBE.instance, 1, var1, var2, var3, var4); return true; }else{ return false; } } } Gui Container: public class GuiBigCrafting extends GuiContainer { public GuiBigCrafting(InventoryPlayer par1InventoryPlayer, World par2World, int par3, int par4, int par5) { super(new ContainerBigCrafting(par1InventoryPlayer, par2World, par3, par4, par5)); } public static String GuiTexturePrefix = "beautifulexistence" + ":" + "textures/gui/"; public static ResourceLocation BigCrafting = new ResourceLocation(GuiTexturePrefix + "BigCraftingTable.png"); protected void drawGuiContainerForegroundLayer(int par1, int par2) { this.fontRenderer.drawString("Big Crafting Table", 40 + 5, - 10 - 10, 4210752); this.fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 50 + 14, this.ySize - 96 - 10 - 19, 4210752); } protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { this.mc.getTextureManager().bindTexture(BigCrafting); this.ySize = 231; this.xSize = 176; int var5 = (this.width - this.xSize) / 2; int var6 = (this.height - this.ySize) / 2; int var7; this.drawTexturedModalRect(var5, var6, 0, 0, this.xSize, this.ySize); } } Container: public class ContainerBigCrafting extends Container { public InventoryCrafting craftMatrix = new InventoryCrafting(this, 3, 5); public IInventory craftResult = new InventoryCraftResult(); private World worldObj; private int posX; private int posY; private int posZ; public ContainerBigCrafting(InventoryPlayer par1InventoryPlayer, World par2World, int par3, int par4, int par5) { this.worldObj = par2World; this.posX = par3; this.posY = par4; this.posZ = par5; this.addSlotToContainer(new SlotBigCrafting(par1InventoryPlayer.player, this.craftMatrix, this.craftResult, 0, 124 + 8, 35 + 1)); int var6; int var7; for (var6 = 0; var6 < 5; ++var6) { for (var7 = 0; var7 < 3; ++var7) { this.addSlotToContainer(new Slot(this.craftMatrix, var7 + var6 * 3, 30 + var7 * 18, 17 + var6 * 18 - 17)); } } for (var6 = 0; var6 < 3; ++var6) { for (var7 = 0; var7 < 9; ++var7) { this.addSlotToContainer(new Slot(par1InventoryPlayer, var7 + var6 * 9 + 9, 8 + var7 * 18 , 84 + var6 * 18 + 33)); } } for (var6 = 0; var6 < 9; ++var6) { this.addSlotToContainer(new Slot(par1InventoryPlayer, var6, 8 + var6 * 18 , 142 + 10 + 23)); } this.onCraftMatrixChanged(this.craftMatrix); } public ContainerBigCrafting(InventoryPlayer inventory, BigTileEntity tileEntity) { // TODO Auto-generated constructor stub } public void onCraftMatrixChanged(IInventory par1IInventory) { this.craftResult.setInventorySlotContents(0, CraftingBigManager.getInstance().findMatchingRecipe(this.craftMatrix, this.worldObj)); } public boolean canInteractWith(EntityPlayer par1EntityPlayer) { return this.worldObj.getBlockId(this.posX, this.posY, this.posZ) != MainModBE.blockCraftingTable.blockID ? false : par1EntityPlayer.getDistanceSq((double)this.posX + 0.5D, (double)this.posY + 0.5D, (double)this.posZ + 0.5D) <= 64.0D; } public void onContainerClosed(EntityPlayer par1EntityPlayer) { super.onContainerClosed(par1EntityPlayer); if (!this.worldObj.isRemote) { for (int i = 0; i < 15; ++i) { ItemStack itemstack = this.craftMatrix.getStackInSlotOnClosing(i); if (itemstack != null) { par1EntityPlayer.dropPlayerItem(itemstack); } } } } public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) { ItemStack var3 = null; Slot var4 = (Slot)this.inventorySlots.get(par2); if (var4 != null && var4.getHasStack()) { ItemStack var5 = var4.getStack(); var3 = var5.copy(); if (par2 == 0) { if (!this.mergeItemStack(var5, 10, 46, true)) { return null; } var4.onSlotChange(var5, var3); } else if (par2 >= 10 && par2 < 37) { if (!this.mergeItemStack(var5, 37, 46, false)) { return null; } } else if (par2 >= 37 && par2 < 46) { if (!this.mergeItemStack(var5, 10, 37, false)) { return null; } } else if (!this.mergeItemStack(var5, 10, 46, false)) { return null; } if (var5.stackSize == 0) { var4.putStack((ItemStack)null); } else { var4.onSlotChanged(); } if (var5.stackSize == var3.stackSize) { return null; } var4.onPickupFromSlot(par1EntityPlayer, var5); } return var3; } public boolean func_94530_a(ItemStack par1ItemStack, Slot par2Slot) { return par2Slot.inventory != this.craftResult && super.func_94530_a(par1ItemStack, par2Slot); } } Slots: public class SlotBigCrafting extends Slot { private final IInventory craftMatrix; private EntityPlayer thePlayer; private int amountCrafted; public SlotBigCrafting(EntityPlayer par1EntityPlayer, IInventory par2IInventory, IInventory par3IInventory, int par4, int par5, int par6) { super(par3IInventory, par4, par5, par6); this.thePlayer = par1EntityPlayer; this.craftMatrix = par2IInventory; } public boolean isItemValid(ItemStack par1ItemStack) { return false; } public ItemStack decrStackSize(int par1) { if (this.getHasStack()) { this.amountCrafted += Math.min(par1, this.getStack().stackSize); } return super.decrStackSize(par1); } protected void onCrafting(ItemStack par1ItemStack, int par2) { this.amountCrafted += par2; this.onCrafting(par1ItemStack); } public void onPickupFromSlot(EntityPlayer par1EntityPlayer, ItemStack par2ItemStack) { GameRegistry.onItemCrafted(par1EntityPlayer, par2ItemStack, craftMatrix); this.onCrafting(par2ItemStack); for (int var3 = 0; var3 < this.craftMatrix.getSizeInventory(); ++var3) { ItemStack var4 = this.craftMatrix.getStackInSlot(var3); if (var4 != null) { this.craftMatrix.decrStackSize(var3, 1); if (var4.getItem().hasContainerItem()) { ItemStack var5 = var4.getItem().getContainerItemStack(var4); if (var5.isItemStackDamageable() && var5.getItemDamage() > var5.getMaxDamage()) { MinecraftForge.EVENT_BUS.post(new PlayerDestroyItemEvent(thePlayer, var5)); var5 = null; } if (var5 != null && (!var4.getItem().doesContainerItemLeaveCraftingGrid(var4) || !this.thePlayer.inventory.addItemStackToInventory(var5))) { if (this.craftMatrix.getStackInSlot(var3) == null) { this.craftMatrix.setInventorySlotContents(var3, var5); } else { this.thePlayer.dropPlayerItem(var5); } } } } } } }
  15. <cough> misspelling <cough> Seriously, what's the point of defining a constant when you don't use it? One of the main benefits of constants is to prevent just this sort of error from happening. Haha, I feel like the biggest dumbass ever... Now it just crashes when I rightclick the block. Crash report: ---- Minecraft Crash Report ---- // Everything's going to plan. No, really, that was supposed to happen. Time: 2014-04-07 12:03 Description: Unexpected error java.lang.ExceptionInInitializerError at net.be.mods.ContainerBigCrafting.onCraftMatrixChanged(ContainerBigCrafting.java:62) at net.be.mods.ContainerBigCrafting.<init>(ContainerBigCrafting.java:53) at net.be.mods.GuiBigCrafting.<init>(GuiBigCrafting.java:14) at net.be.mods.GuiHandler.getClientGuiElement(GuiHandler.java:28) at cpw.mods.fml.common.network.NetworkRegistry.openLocalGui(NetworkRegistry.java:341) at cpw.mods.fml.common.network.FMLNetworkHandler.openGui(FMLNetworkHandler.java:375) at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2555) at net.be.mods.block.blockCraftingTable.onBlockActivated(blockCraftingTable.java:39) at net.minecraft.client.multiplayer.PlayerControllerMP.onPlayerRightClick(PlayerControllerMP.java:373) at net.minecraft.client.Minecraft.clickMouse(Minecraft.java:1390) at net.minecraft.client.Minecraft.runTick(Minecraft.java:1870) at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:910) at net.minecraft.client.Minecraft.run(Minecraft.java:839) at net.minecraft.client.main.Main.main(Main.java:93) 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:131) at net.minecraft.launchwrapper.Launch.main(Launch.java:27) Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 8 at java.lang.String.charAt(Unknown Source) at net.be.mods.CraftingBigManager.addShapedRecipe(CraftingBigManager.java:199) at net.be.mods.CraftingBigManager.<init>(CraftingBigManager.java:92) at net.be.mods.CraftingBigManager.<clinit>(CraftingBigManager.java:17) ... 20 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at net.be.mods.ContainerBigCrafting.onCraftMatrixChanged(ContainerBigCrafting.java:62) at net.be.mods.ContainerBigCrafting.<init>(ContainerBigCrafting.java:53) at net.be.mods.GuiBigCrafting.<init>(GuiBigCrafting.java:14) at net.be.mods.GuiHandler.getClientGuiElement(GuiHandler.java:28) at cpw.mods.fml.common.network.NetworkRegistry.openLocalGui(NetworkRegistry.java:341) at cpw.mods.fml.common.network.FMLNetworkHandler.openGui(FMLNetworkHandler.java:375) at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2555) at net.be.mods.block.blockCraftingTable.onBlockActivated(blockCraftingTable.java:39) at net.minecraft.client.multiplayer.PlayerControllerMP.onPlayerRightClick(PlayerControllerMP.java:373) at net.minecraft.client.Minecraft.clickMouse(Minecraft.java:1390) -- Affected level -- Details: Level name: MpServer All players: 1 total; [EntityClientPlayerMP['Player339'/73, l='MpServer', x=272,37, y=5,62, z=-561,17]] Chunk stats: MultiplayerChunkCache: 441 Level seed: 0 Level generator: ID 01 - flat, ver 0. Features enabled: false Level generator options: Level spawn location: World: (265,4,-558), Chunk: (at 9,0,2 in 16,-35; contains blocks 256,0,-560 to 271,255,-545), Region: (0,-2; contains chunks 0,-64 to 31,-33, blocks 0,0,-1024 to 511,255,-513) Level time: 342927 game time, 84193 day time Level dimension: 0 Level storage version: 0x00000 - Unknown? Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false) Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false Forced entities: 58 total; [EntityChicken['Chicken'/5, l='MpServer', x=204,53, y=4,00, z=-546,47], EntityPig['Pig'/6, l='MpServer', x=199,16, y=4,00, z=-517,19], EntityPig['Pig'/8, l='MpServer', x=221,66, y=4,00, z=-489,81], EntityPig['Pig'/13, l='MpServer', x=238,28, y=4,00, z=-512,09], EntityItemFrame['entity.ItemFrame.name'/17, l='MpServer', x=255,50, y=6,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/16, l='MpServer', x=255,50, y=5,50, z=-559,06], EntityPig['Pig'/19, l='MpServer', x=243,03, y=4,00, z=-539,16], EntityItemFrame['entity.ItemFrame.name'/18, l='MpServer', x=255,50, y=4,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/21, l='MpServer', x=257,50, y=4,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/20, l='MpServer', x=256,50, y=4,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/23, l='MpServer', x=258,50, y=5,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/22, l='MpServer', x=258,50, y=4,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/25, l='MpServer', x=256,50, y=5,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/24, l='MpServer', x=257,50, y=5,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/27, l='MpServer', x=258,50, y=6,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/26, l='MpServer', x=257,50, y=6,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/29, l='MpServer', x=256,50, y=6,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/28, l='MpServer', x=269,50, y=4,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/31, l='MpServer', x=269,50, y=6,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/30, l='MpServer', x=269,50, y=5,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/34, l='MpServer', x=267,50, y=4,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/35, l='MpServer', x=267,50, y=5,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/32, l='MpServer', x=268,50, y=5,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/33, l='MpServer', x=268,50, y=4,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/38, l='MpServer', x=266,50, y=5,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/39, l='MpServer', x=265,50, y=5,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/36, l='MpServer', x=267,50, y=6,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/37, l='MpServer', x=266,50, y=6,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/42, l='MpServer', x=264,50, y=5,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/43, l='MpServer', x=264,50, y=4,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/40, l='MpServer', x=265,50, y=6,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/41, l='MpServer', x=264,50, y=6,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/46, l='MpServer', x=263,50, y=6,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/47, l='MpServer', x=262,50, y=6,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/44, l='MpServer', x=263,50, y=4,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/45, l='MpServer', x=263,50, y=5,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/51, l='MpServer', x=261,50, y=5,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/50, l='MpServer', x=261,50, y=4,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/49, l='MpServer', x=262,50, y=4,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/48, l='MpServer', x=262,50, y=5,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/55, l='MpServer', x=259,50, y=5,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/54, l='MpServer', x=259,50, y=6,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/53, l='MpServer', x=260,50, y=6,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/52, l='MpServer', x=261,50, y=6,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/59, l='MpServer', x=268,50, y=6,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/58, l='MpServer', x=260,50, y=5,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/57, l='MpServer', x=260,50, y=4,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/56, l='MpServer', x=259,50, y=4,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/63, l='MpServer', x=270,50, y=6,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/62, l='MpServer', x=271,50, y=6,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/61, l='MpServer', x=271,50, y=4,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/60, l='MpServer', x=270,50, y=4,50, z=-559,06], EntitySheep['Sheep'/68, l='MpServer', x=318,70, y=4,00, z=-493,64], EntityItemFrame['entity.ItemFrame.name'/64, l='MpServer', x=271,50, y=5,50, z=-559,06], EntityItemFrame['entity.ItemFrame.name'/65, l='MpServer', x=270,50, y=5,50, z=-559,06], EntityBat['Bat'/66, l='MpServer', x=289,75, y=5,10, z=-561,25], EntityBat['Bat'/67, l='MpServer', x=289,75, y=5,10, z=-561,47], EntityClientPlayerMP['Player339'/73, l='MpServer', x=272,37, y=5,62, z=-561,17]] Retry entities: 0 total; [] Server brand: fml,forge Server type: Integrated singleplayer server Stacktrace: at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:440) at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2312) at net.minecraft.client.Minecraft.run(Minecraft.java:864) at net.minecraft.client.main.Main.main(Main.java:93) 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:131) at net.minecraft.launchwrapper.Launch.main(Launch.java:27) -- System Details -- Details: Minecraft Version: 1.6.4 Operating System: Windows 7 (amd64) version 6.1 Java Version: 1.7.0_51, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 642756560 bytes (612 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M AABB Pool Size: 13641 (763896 bytes; 0 MB) allocated, 5 (280 bytes; 0 MB) used Suspicious classes: FML and Forge are installed IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v8.11 FML v6.4.49.965 Minecraft Forge 9.11.1.965 4 mods loaded, 4 mods active mcp{8.09} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available FML{6.4.49.965} [Forge Mod Loader] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Forge{9.11.1.965} [Minecraft Forge] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available beautifulexistence{Pre-alpha v0.001} [bE mods] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Launched Version: 1.6 LWJGL: 2.9.0 OpenGL: AMD Radeon HD 7570 GL version 4.2.11476 Compatibility Profile Context, ATI Technologies Inc. Is Modded: Definitely; Client brand changed to 'fml,forge' Type: Client (map_client.txt) Resource Pack: Default Current Language: English (US) Profiler Position: N/A (disabled) Vec3 Pool Size: 89 (4984 bytes; 0 MB) allocated, 26 (1456 bytes; 0 MB) used GuiHandler: public class GuiHandler implements IGuiHandler { @Override public Object getServerGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { TileEntity tile_entity = world.getBlockTileEntity(x, y, z); switch(id) { case 0: return id == 0 && world.getBlockId(x, y, z) == MainModBE.blockCraftingTable.blockID ? new ContainerBigCrafting(player.inventory, world, x, y, z) : null; case 1: return new ContainerBigCrafting(null, world, x, y, z); } return null; } @Override public Object getClientGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { TileEntity tile_entity = world.getBlockTileEntity(x, y, z); switch(id) { case 0: return id == 0 && world.getBlockId(x, y, z) == MainModBE.blockCraftingTable.blockID ? new GuiBigCrafting(player.inventory, world, x, y, z) : null; case 1: return new GuiBigCrafting(player.inventory, world, x, y, z); } return null; } } MainMod: @Mod(modid = MainModBE.modid, name = "BE mods", version = "Pre-alpha v0.001") @NetworkMod(clientSideRequired = true, serverSideRequired = true) public class MainModBE { public static final String modid = "beautifulexistence"; @EventHandler public void preInit(FMLPreInitializationEvent e) { NetworkRegistry.instance().registerGuiHandler(MainModBE.instance, new GuiHandler()); } @Instance("beautifulexistence") public static MainModBE instance; Crafting table: public class blockCraftingTable extends Block{ @SideOnly(Side.CLIENT) private Icon workbenchIconTop; @SideOnly(Side.CLIENT) private Icon workbenchIconFront; public blockCraftingTable(int id, Material par2Material) { super(id, par2Material); this.setCreativeTab(MainModBE.BETab); } @SideOnly(Side.CLIENT) public Icon getIcon(int par1, int par2) { return par1 == 1 ? this.workbenchIconTop : (par1 == 0 ? Block.planks.getBlockTextureFromSide(par1) : (par1 != 2 && par1 != 4 ? this.blockIcon : this.workbenchIconFront)); } @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { this.blockIcon = par1IconRegister.registerIcon("beautifulexistence:CraftingTableSide"); this.workbenchIconTop = par1IconRegister.registerIcon("beautifulexistence:CraftingTableTop"); this.workbenchIconFront = par1IconRegister.registerIcon("beautifulexistence:CraftingTableFront"); } public boolean onBlockActivated(World var1, int var2, int var3, int var4, EntityPlayer player, int var6, float var7, float var8, float var9) { if (!player.isSneaking()) { player.openGui(MainModBE.instance, 1, var1, var2, var3, var4); return true; }else{ return false; } } } Gui Container: public class GuiBigCrafting extends GuiContainer { public GuiBigCrafting(InventoryPlayer par1InventoryPlayer, World par2World, int par3, int par4, int par5) { super(new ContainerBigCrafting(par1InventoryPlayer, par2World, par3, par4, par5)); } public static String GuiTexturePrefix = "beautifulexistence" + ":" + "textures/gui/"; public static ResourceLocation BigCrafting = new ResourceLocation(GuiTexturePrefix + "BigCraftingTable.png"); protected void drawGuiContainerForegroundLayer(int par1, int par2) { this.fontRenderer.drawString("Big Crafting Table", 40 + 5, - 10 - 10, 4210752); this.fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 50 + 14, this.ySize - 96 - 10 - 19, 4210752); } protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { this.mc.getTextureManager().bindTexture(BigCrafting); this.ySize = 231; this.xSize = 176; int var5 = (this.width - this.xSize) / 2; int var6 = (this.height - this.ySize) / 2; int var7; this.drawTexturedModalRect(var5, var6, 0, 0, this.xSize, this.ySize); } } Container: public class ContainerBigCrafting extends Container { public InventoryCrafting craftMatrix = new InventoryCrafting(this, 3, 5); public IInventory craftResult = new InventoryCraftResult(); private World worldObj; private int posX; private int posY; private int posZ; public ContainerBigCrafting(InventoryPlayer par1InventoryPlayer, World par2World, int par3, int par4, int par5) { this.worldObj = par2World; this.posX = par3; this.posY = par4; this.posZ = par5; this.addSlotToContainer(new SlotBigCrafting(par1InventoryPlayer.player, this.craftMatrix, this.craftResult, 0, 124 + 8, 35 + 1)); int var6; int var7; for (var6 = 0; var6 < 5; ++var6) { for (var7 = 0; var7 < 3; ++var7) { this.addSlotToContainer(new Slot(this.craftMatrix, var7 + var6 * 3, 30 + var7 * 18, 17 + var6 * 18 - 17)); } } for (var6 = 0; var6 < 3; ++var6) { for (var7 = 0; var7 < 9; ++var7) { this.addSlotToContainer(new Slot(par1InventoryPlayer, var7 + var6 * 9 + 9, 8 + var7 * 18 , 84 + var6 * 18 + 33)); } } for (var6 = 0; var6 < 9; ++var6) { this.addSlotToContainer(new Slot(par1InventoryPlayer, var6, 8 + var6 * 18 , 142 + 10 + 23)); } this.onCraftMatrixChanged(this.craftMatrix); } public ContainerBigCrafting(InventoryPlayer inventory, BigTileEntity tileEntity) { // TODO Auto-generated constructor stub } public void onCraftMatrixChanged(IInventory par1IInventory) { this.craftResult.setInventorySlotContents(0, CraftingBigManager.getInstance().findMatchingRecipe(this.craftMatrix, this.worldObj)); } public boolean canInteractWith(EntityPlayer par1EntityPlayer) { return this.worldObj.getBlockId(this.posX, this.posY, this.posZ) != MainModBE.blockCraftingTable.blockID ? false : par1EntityPlayer.getDistanceSq((double)this.posX + 0.5D, (double)this.posY + 0.5D, (double)this.posZ + 0.5D) <= 64.0D; } public void onContainerClosed(EntityPlayer par1EntityPlayer) { super.onContainerClosed(par1EntityPlayer); if (!this.worldObj.isRemote) { for (int i = 0; i < 15; ++i) { ItemStack itemstack = this.craftMatrix.getStackInSlotOnClosing(i); if (itemstack != null) { par1EntityPlayer.dropPlayerItem(itemstack); } } } } public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) { ItemStack var3 = null; Slot var4 = (Slot)this.inventorySlots.get(par2); if (var4 != null && var4.getHasStack()) { ItemStack var5 = var4.getStack(); var3 = var5.copy(); if (par2 == 0) { if (!this.mergeItemStack(var5, 10, 46, true)) { return null; } var4.onSlotChange(var5, var3); } else if (par2 >= 10 && par2 < 37) { if (!this.mergeItemStack(var5, 37, 46, false)) { return null; } } else if (par2 >= 37 && par2 < 46) { if (!this.mergeItemStack(var5, 10, 37, false)) { return null; } } else if (!this.mergeItemStack(var5, 10, 46, false)) { return null; } if (var5.stackSize == 0) { var4.putStack((ItemStack)null); } else { var4.onSlotChanged(); } if (var5.stackSize == var3.stackSize) { return null; } var4.onPickupFromSlot(par1EntityPlayer, var5); } return var3; } public boolean func_94530_a(ItemStack par1ItemStack, Slot par2Slot) { return par2Slot.inventory != this.craftResult && super.func_94530_a(par1ItemStack, par2Slot); } } Slots: public class SlotBigCrafting extends Slot { private final IInventory craftMatrix; private EntityPlayer thePlayer; private int amountCrafted; public SlotBigCrafting(EntityPlayer par1EntityPlayer, IInventory par2IInventory, IInventory par3IInventory, int par4, int par5, int par6) { super(par3IInventory, par4, par5, par6); this.thePlayer = par1EntityPlayer; this.craftMatrix = par2IInventory; } public boolean isItemValid(ItemStack par1ItemStack) { return false; } public ItemStack decrStackSize(int par1) { if (this.getHasStack()) { this.amountCrafted += Math.min(par1, this.getStack().stackSize); } return super.decrStackSize(par1); } protected void onCrafting(ItemStack par1ItemStack, int par2) { this.amountCrafted += par2; this.onCrafting(par1ItemStack); } public void onPickupFromSlot(EntityPlayer par1EntityPlayer, ItemStack par2ItemStack) { GameRegistry.onItemCrafted(par1EntityPlayer, par2ItemStack, craftMatrix); this.onCrafting(par2ItemStack); for (int var3 = 0; var3 < this.craftMatrix.getSizeInventory(); ++var3) { ItemStack var4 = this.craftMatrix.getStackInSlot(var3); if (var4 != null) { this.craftMatrix.decrStackSize(var3, 1); if (var4.getItem().hasContainerItem()) { ItemStack var5 = var4.getItem().getContainerItemStack(var4); if (var5.isItemStackDamageable() && var5.getItemDamage() > var5.getMaxDamage()) { MinecraftForge.EVENT_BUS.post(new PlayerDestroyItemEvent(thePlayer, var5)); var5 = null; } if (var5 != null && (!var4.getItem().doesContainerItemLeaveCraftingGrid(var4) || !this.thePlayer.inventory.addItemStackToInventory(var5))) { if (this.craftMatrix.getStackInSlot(var3) == null) { this.craftMatrix.setInventorySlotContents(var3, var5); } else { this.thePlayer.dropPlayerItem(var5); } } } } } } }
  16. I changed the "serverSideRequired" to true but nothing changed, still says the same thing when I try to open it... I am really confused over why it's not working... I haven't set an id for the gui, could it be that?
  17. Now I've also tried this(I only changed the code in the class I'm showing): public class GuiHandler implements IGuiHandler { @Override public Object getServerGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { TileEntity tile_entity = world.getBlockTileEntity(x, y, z); switch(id) { case 0: return id == 0 && world.getBlockId(x, y, z) == MainModBE.blockCraftingTable.blockID ? new ContainerBigCrafting(player.inventory, world, x, y, z) : null; case 1: return new ContainerBigCrafting(null, world, x, y, z); } return null; } @Override public Object getClientGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { TileEntity tile_entity = world.getBlockTileEntity(x, y, z); switch(id) { case 0: return id == 0 && world.getBlockId(x, y, z) == MainModBE.blockCraftingTable.blockID ? new GuiBigCrafting(player.inventory, world, x, y, z) : null; case 1: return new GuiBigCrafting(player.inventory, world, x, y, z); } return null; } }
  18. Haha, yeah... That was a big fail. But I've tried possibly every method except the correct one and I just can't figure it out. Nothing works, it keeps giving me the same error: A mod tried to open a gui on the server without being a NetworkMod But it should work since It is a network mod... @Mod(modid = MainModBE.modid, name = "BE mods", version = "Pre-alpha v0.001") @NetworkMod(clientSideRequired = true, serverSideRequired = false) public class MainModBE { public static final String modid = "beautifulexistence"; @EventHandler public void preInit(FMLPreInitializationEvent e) { NetworkRegistry.instance().registerGuiHandler(MainModBE.instance, new GuiHandler()); } @Instance("beautifulexistance") public static MainModBE instance; So I have no idea what to do... Here is what i tried in the GuiHandler: package net.be.mods; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; import cpw.mods.fml.common.network.IGuiHandler; public class GuiHandler implements IGuiHandler { @Override public Object getServerGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { return id == 1 && world.getBlockId(x, y, z) == MainModBE.blockCraftingTable.blockID ? new ContainerBigCrafting(player.inventory, world, x, y, z) : null; } @Override public Object getClientGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { return id == 1 && world.getBlockId(x, y, z) == MainModBE.blockCraftingTable.blockID ? new GuiBigCrafting(player.inventory, world, x, y, z) : null; } }
  19. Nope still says the same thing I think this is really weird and I have no idea what is wrong... Main Class: @Mod(modid = MainModBE.modid, name = "BE mods", version = "Pre-alpha v0.001") @NetworkMod(clientSideRequired = true, serverSideRequired = false) public class MainModBE { public static final String modid = "beautifulexistence"; @EventHandler public void preInit(FMLPreInitializationEvent e) { NetworkRegistry.instance().registerGuiHandler(MainModBE.instance, new GuiHandler()); } @Instance("beautifulexistance") public static MainModBE instance; Gui Handler: public class GuiHandler implements IGuiHandler { @Override public Object getServerGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { switch(id) { } return null; } @Override public Object getClientGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { switch(id) { } return null; } } Crafting table block: public class blockCraftingTable extends Block{ @SideOnly(Side.CLIENT) private Icon workbenchIconTop; @SideOnly(Side.CLIENT) private Icon workbenchIconFront; public blockCraftingTable(int id, Material par2Material) { super(id, par2Material); this.setCreativeTab(MainModBE.BETab); } @SideOnly(Side.CLIENT) public Icon getIcon(int par1, int par2) { return par1 == 1 ? this.workbenchIconTop : (par1 == 0 ? Block.planks.getBlockTextureFromSide(par1) : (par1 != 2 && par1 != 4 ? this.blockIcon : this.workbenchIconFront)); } @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { this.blockIcon = par1IconRegister.registerIcon("beautifulexistence:CraftingTableSide"); this.workbenchIconTop = par1IconRegister.registerIcon("beautifulexistence:CraftingTableTop"); this.workbenchIconFront = par1IconRegister.registerIcon("beautifulexistence:CraftingTableFront"); } public boolean onBlockActivated(World var1, int var2, int var3, int var4, EntityPlayer player, int var6, float var7, float var8, float var9) { if (!player.isSneaking()) { player.openGui(MainModBE.instance, 1, var1, var2, var3, var4); return true; }else{ return false; } } } Crafting Gui: public class GuiBigCrafting extends GuiContainer { public GuiBigCrafting(InventoryPlayer par1InventoryPlayer, World par2World, int par3, int par4, int par5) { super(new ContainerBigCrafting(par1InventoryPlayer, par2World, par3, par4, par5)); } public static String GuiTexturePrefix = "beautifulexistence" + ":" + "textures/gui/"; public static ResourceLocation BigCrafting = new ResourceLocation(GuiTexturePrefix + "BigCraftingTable.png"); protected void drawGuiContainerForegroundLayer(int par1, int par2) { this.fontRenderer.drawString("Big Crafting Table", 40 + 5, - 10 - 10, 4210752); this.fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 50 + 14, this.ySize - 96 - 10 - 19, 4210752); } protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { this.mc.getTextureManager().bindTexture(BigCrafting); this.ySize = 231; this.xSize = 176; int var5 = (this.width - this.xSize) / 2; int var6 = (this.height - this.ySize) / 2; int var7; this.drawTexturedModalRect(var5, var6, 0, 0, this.xSize, this.ySize); } } Container: public class ContainerBigCrafting extends Container { public InventoryCrafting craftMatrix = new InventoryCrafting(this, 3, 5); public IInventory craftResult = new InventoryCraftResult(); private World worldObj; private int posX; private int posY; private int posZ; public ContainerBigCrafting(InventoryPlayer par1InventoryPlayer, World par2World, int par3, int par4, int par5) { this.worldObj = par2World; this.posX = par3; this.posY = par4; this.posZ = par5; this.addSlotToContainer(new SlotBigCrafting(par1InventoryPlayer.player, this.craftMatrix, this.craftResult, 0, 124 + 8, 35 + 1)); int var6; int var7; for (var6 = 0; var6 < 5; ++var6) { for (var7 = 0; var7 < 3; ++var7) { this.addSlotToContainer(new Slot(this.craftMatrix, var7 + var6 * 3, 30 + var7 * 18, 17 + var6 * 18 - 17)); } } for (var6 = 0; var6 < 3; ++var6) { for (var7 = 0; var7 < 9; ++var7) { this.addSlotToContainer(new Slot(par1InventoryPlayer, var7 + var6 * 9 + 9, 8 + var7 * 18 , 84 + var6 * 18 + 33)); } } for (var6 = 0; var6 < 9; ++var6) { this.addSlotToContainer(new Slot(par1InventoryPlayer, var6, 8 + var6 * 18 , 142 + 10 + 23)); } this.onCraftMatrixChanged(this.craftMatrix); } public void onCraftMatrixChanged(IInventory par1IInventory) { this.craftResult.setInventorySlotContents(0, CraftingBigManager.getInstance().findMatchingRecipe(this.craftMatrix, this.worldObj)); } public boolean canInteractWith(EntityPlayer par1EntityPlayer) { return this.worldObj.getBlockId(this.posX, this.posY, this.posZ) != MainModBE.blockCraftingTable.blockID ? false : par1EntityPlayer.getDistanceSq((double)this.posX + 0.5D, (double)this.posY + 0.5D, (double)this.posZ + 0.5D) <= 64.0D; } public void onContainerClosed(EntityPlayer par1EntityPlayer) { super.onContainerClosed(par1EntityPlayer); if (!this.worldObj.isRemote) { for (int i = 0; i < 15; ++i) { ItemStack itemstack = this.craftMatrix.getStackInSlotOnClosing(i); if (itemstack != null) { par1EntityPlayer.dropPlayerItem(itemstack); } } } } public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) { ItemStack var3 = null; Slot var4 = (Slot)this.inventorySlots.get(par2); if (var4 != null && var4.getHasStack()) { ItemStack var5 = var4.getStack(); var3 = var5.copy(); if (par2 == 0) { if (!this.mergeItemStack(var5, 10, 46, true)) { return null; } var4.onSlotChange(var5, var3); } else if (par2 >= 10 && par2 < 37) { if (!this.mergeItemStack(var5, 37, 46, false)) { return null; } } else if (par2 >= 37 && par2 < 46) { if (!this.mergeItemStack(var5, 10, 37, false)) { return null; } } else if (!this.mergeItemStack(var5, 10, 46, false)) { return null; } if (var5.stackSize == 0) { var4.putStack((ItemStack)null); } else { var4.onSlotChanged(); } if (var5.stackSize == var3.stackSize) { return null; } var4.onPickupFromSlot(par1EntityPlayer, var5); } return var3; } public boolean func_94530_a(ItemStack par1ItemStack, Slot par2Slot) { return par2Slot.inventory != this.craftResult && super.func_94530_a(par1ItemStack, par2Slot); } } Slots: public class SlotBigCrafting extends Slot { private final IInventory craftMatrix; private EntityPlayer thePlayer; private int amountCrafted; public SlotBigCrafting(EntityPlayer par1EntityPlayer, IInventory par2IInventory, IInventory par3IInventory, int par4, int par5, int par6) { super(par3IInventory, par4, par5, par6); this.thePlayer = par1EntityPlayer; this.craftMatrix = par2IInventory; } public boolean isItemValid(ItemStack par1ItemStack) { return false; } public ItemStack decrStackSize(int par1) { if (this.getHasStack()) { this.amountCrafted += Math.min(par1, this.getStack().stackSize); } return super.decrStackSize(par1); } protected void onCrafting(ItemStack par1ItemStack, int par2) { this.amountCrafted += par2; this.onCrafting(par1ItemStack); } public void onPickupFromSlot(EntityPlayer par1EntityPlayer, ItemStack par2ItemStack) { GameRegistry.onItemCrafted(par1EntityPlayer, par2ItemStack, craftMatrix); this.onCrafting(par2ItemStack); for (int var3 = 0; var3 < this.craftMatrix.getSizeInventory(); ++var3) { ItemStack var4 = this.craftMatrix.getStackInSlot(var3); if (var4 != null) { this.craftMatrix.decrStackSize(var3, 1); if (var4.getItem().hasContainerItem()) { ItemStack var5 = var4.getItem().getContainerItemStack(var4); if (var5.isItemStackDamageable() && var5.getItemDamage() > var5.getMaxDamage()) { MinecraftForge.EVENT_BUS.post(new PlayerDestroyItemEvent(thePlayer, var5)); var5 = null; } if (var5 != null && (!var4.getItem().doesContainerItemLeaveCraftingGrid(var4) || !this.thePlayer.inventory.addItemStackToInventory(var5))) { if (this.craftMatrix.getStackInSlot(var3) == null) { this.craftMatrix.setInventorySlotContents(var3, var5); } else { this.thePlayer.dropPlayerItem(var5); } } } } } } }
  20. @Instance("beautifulexistance") public static MainModBE instance; Still says the same thing
  21. Hello! I am trying to make a 3x5 crafting table, I should have everything working but when I rightclick to open the gui of it, all it says is: A mod tried to open a gui on the server without being a NetworkMod Please help me! Main class: @Mod(modid = MainModBE.modid, name = "BE mods", version = "Pre-alpha v0.001") @NetworkMod(clientSideRequired = true, serverSideRequired = false) public class MainModBE { public static final String modid = "beautifulexistence"; @EventHandler public void preInit(FMLPreInitializationEvent e) { NetworkRegistry.instance().registerGuiHandler(MainModBE.instance, new GuiHandler()); } @Instance("MainModBE") public static MainModBE instance; Gui Handler: public class GuiHandler implements IGuiHandler { @Override public Object getServerGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { switch(id) { case 1: return id == 1 && world.getBlockId(x, y, z) == MainModBE.blockCraftingTable.blockID ? new ContainerBigCrafting(player.inventory, world, x, y, z) : null; } return null; } @Override public Object getClientGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { switch(id) { case 1: return id == 1 && world.getBlockId(x, y, z) == MainModBE.blockCraftingTable.blockID ? new GuiBigCrafting(player.inventory, world, x, y, z) : null; } return null; } } Crafting table block: public class blockCraftingTable extends Block{ @SideOnly(Side.CLIENT) private Icon workbenchIconTop; @SideOnly(Side.CLIENT) private Icon workbenchIconFront; public blockCraftingTable(int id, Material par2Material) { super(id, par2Material); this.setCreativeTab(MainModBE.BETab); } @SideOnly(Side.CLIENT) public Icon getIcon(int par1, int par2) { return par1 == 1 ? this.workbenchIconTop : (par1 == 0 ? Block.planks.getBlockTextureFromSide(par1) : (par1 != 2 && par1 != 4 ? this.blockIcon : this.workbenchIconFront)); } @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { this.blockIcon = par1IconRegister.registerIcon("beautifulexistence:CraftingTableSide"); this.workbenchIconTop = par1IconRegister.registerIcon("beautifulexistence:CraftingTableTop"); this.workbenchIconFront = par1IconRegister.registerIcon("beautifulexistence:CraftingTableFront"); } public boolean onBlockActivated(World var1, int var2, int var3, int var4, EntityPlayer player, int var6, float var7, float var8, float var9) { if (!player.isSneaking()) { player.openGui(MainModBE.instance, 1, var1, var2, var3, var4); return true; }else{ return false; } } } Gui big crafting: public class GuiBigCrafting extends GuiContainer { public GuiBigCrafting(InventoryPlayer par1InventoryPlayer, World par2World, int par3, int par4, int par5) { super(new ContainerBigCrafting(par1InventoryPlayer, par2World, par3, par4, par5)); } public static String GuiTexturePrefix = "beautifulexistence" + ":" + "textures/gui/"; public static ResourceLocation BigCrafting = new ResourceLocation(GuiTexturePrefix + "BigCraftingTable.png"); protected void drawGuiContainerForegroundLayer(int par1, int par2) { this.fontRenderer.drawString("Big Crafting Table", 40 + 5, - 10 - 10, 4210752); this.fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 50 + 14, this.ySize - 96 - 10 - 19, 4210752); } protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { this.mc.getTextureManager().bindTexture(BigCrafting); this.ySize = 231; this.xSize = 176; int var5 = (this.width - this.xSize) / 2; int var6 = (this.height - this.ySize) / 2; int var7; this.drawTexturedModalRect(var5, var6, 0, 0, this.xSize, this.ySize); } } Container: public class ContainerBigCrafting extends Container { public InventoryCrafting craftMatrix = new InventoryCrafting(this, 3, 5); public IInventory craftResult = new InventoryCraftResult(); private World worldObj; private int posX; private int posY; private int posZ; public ContainerBigCrafting(InventoryPlayer par1InventoryPlayer, World par2World, int par3, int par4, int par5) { this.worldObj = par2World; this.posX = par3; this.posY = par4; this.posZ = par5; this.addSlotToContainer(new SlotBigCrafting(par1InventoryPlayer.player, this.craftMatrix, this.craftResult, 0, 124 + 8, 35 + 1)); int var6; int var7; for (var6 = 0; var6 < 5; ++var6) { for (var7 = 0; var7 < 3; ++var7) { this.addSlotToContainer(new Slot(this.craftMatrix, var7 + var6 * 3, 30 + var7 * 18, 17 + var6 * 18 - 17)); } } for (var6 = 0; var6 < 3; ++var6) { for (var7 = 0; var7 < 9; ++var7) { this.addSlotToContainer(new Slot(par1InventoryPlayer, var7 + var6 * 9 + 9, 8 + var7 * 18 , 84 + var6 * 18 + 33)); } } for (var6 = 0; var6 < 9; ++var6) { this.addSlotToContainer(new Slot(par1InventoryPlayer, var6, 8 + var6 * 18 , 142 + 10 + 23)); } this.onCraftMatrixChanged(this.craftMatrix); } public void onCraftMatrixChanged(IInventory par1IInventory) { this.craftResult.setInventorySlotContents(0, CraftingBigManager.getInstance().findMatchingRecipe(this.craftMatrix, this.worldObj)); } public boolean canInteractWith(EntityPlayer par1EntityPlayer) { return this.worldObj.getBlockId(this.posX, this.posY, this.posZ) != MainModBE.blockCraftingTable.blockID ? false : par1EntityPlayer.getDistanceSq((double)this.posX + 0.5D, (double)this.posY + 0.5D, (double)this.posZ + 0.5D) <= 64.0D; } public void onContainerClosed(EntityPlayer par1EntityPlayer) { super.onContainerClosed(par1EntityPlayer); if (!this.worldObj.isRemote) { for (int i = 0; i < 15; ++i) { ItemStack itemstack = this.craftMatrix.getStackInSlotOnClosing(i); if (itemstack != null) { par1EntityPlayer.dropPlayerItem(itemstack); } } } } public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) { ItemStack var3 = null; Slot var4 = (Slot)this.inventorySlots.get(par2); if (var4 != null && var4.getHasStack()) { ItemStack var5 = var4.getStack(); var3 = var5.copy(); if (par2 == 0) { if (!this.mergeItemStack(var5, 10, 46, true)) { return null; } var4.onSlotChange(var5, var3); } else if (par2 >= 10 && par2 < 37) { if (!this.mergeItemStack(var5, 37, 46, false)) { return null; } } else if (par2 >= 37 && par2 < 46) { if (!this.mergeItemStack(var5, 10, 37, false)) { return null; } } else if (!this.mergeItemStack(var5, 10, 46, false)) { return null; } if (var5.stackSize == 0) { var4.putStack((ItemStack)null); } else { var4.onSlotChanged(); } if (var5.stackSize == var3.stackSize) { return null; } var4.onPickupFromSlot(par1EntityPlayer, var5); } return var3; } public boolean func_94530_a(ItemStack par1ItemStack, Slot par2Slot) { return par2Slot.inventory != this.craftResult && super.func_94530_a(par1ItemStack, par2Slot); } } I think that's the code you need. Otherwise it's just crafting handlers. I really hope that I can get some help, I have searched everywhere on internet and not found anything...
  22. Oh yeah, sorry. The item class: [spolier] package net.be.mods.item; import net.be.mods.MainModBE; import net.be.mods.entity.EntityAirSpell; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class MagicSpellAir extends Item { public MagicSpellAir(int par1) { super(par1); this.setMaxDamage(3597); } @SideOnly(Side.CLIENT) public void registerIcons(IconRegister iconRegister) { this.itemIcon = iconRegister.registerIcon(MainModBE.modid + ":" + this.getUnlocalizedName().substring(5)); } public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World,EntityPlayer par3EntityPlayer) { if(par3EntityPlayer.capabilities.isCreativeMode||par3EntityPlayer.inventory.consumeInventoryItem(MainModBE.magicAirSpell.itemID)) { par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); if (!par2World.isRemote) { par2World.spawnEntityInWorld(new EntityAirSpell(par2World)); } } return par1ItemStack; } } The entity class:
  23. Hello reader! I want to create a magic spell that looks just like the Minecraft snowball entity but ignores gravity and dissapears after maybe 50 blocks so it doesn't fly forever. I really need some help with this. I have searched for hours and not found anything remotely close to what I want so. Please help me!
  24. Here's the code that now works for me, maybe you could check and see if there might be a problem in the future or anything, but now it works as far as I can see. Thanks you SO much for all your help! I don't think I could've done it without your help. Fast response and good answers. I liked that you gave me directions and not just gave me the answer. Thank you so very much! Increadibly greatful! package net.be.mods.item; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.be.mods.MainModBE; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; public class toolJewelChisel extends Item { private ItemStack emptyItem = null; private static int maxDamage = 64; public toolJewelChisel(int id) { super(id); setMaxDamage(64); this.setMaxStackSize(1); this.setCreativeTab(MainModBE.BETab); this.setNoRepair(); } @Override public boolean hasContainerItem() { return true; } public void setEmptyItem(ItemStack ei) { this.emptyItem = ei; } public boolean doesContainerItemLeaveCraftingGrid(ItemStack par1ItemStack) { return false; } @Override public ItemStack getContainerItemStack(ItemStack stack) { stack.setItemDamage(stack.getItemDamage() + 1); return stack; } public static ItemStack copyStack(ItemStack stack, int n) { return new ItemStack(stack.itemID, n, stack.getItemDamage()); } @SideOnly(Side.CLIENT) public void registerIcons(IconRegister iconRegister) { this.itemIcon = iconRegister.registerIcon(MainModBE.modid + ":" + this.getUnlocalizedName().substring(5)); } }
×
×
  • Create New...

Important Information

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