Posted September 8, 201312 yr Hello everybody! I created an Item which gets damage from a handler, which works. But if the Item gets the last bit of Damage which should destroy it, it doesn't and another Item appears there instead which has zero Damage. Have i missed anything in my Item class? It looks very short, I think.. package mod.classes.items; import java.util.List; import mod.Main; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; import net.minecraft.world.World; public class ItemTool extends ModItem { public ItemTool(int ID) { super(ID); this.setMaxStackSize(1); this.setMaxDamage(128); this.setCreativeTab(Main.modBasic); } } The Damage is dealt with this Method: player.inventory.getStackInSlot(InventoryController.getSlot(Element.get(elementID))).damageItem(1, player); Hope anybody sees my Mistake.. http://i.imgur.com/wNvtGZw.png[/img] MODS and MODDING TUTORIALS
September 8, 201312 yr Could you post the Handler as well please? http://i.imgur.com/kPfhwnJ.png[/img] ↑↑↑↑↑↑↑↑↑↑ Click it please? :3 ↑↑↑↑↑↑↑↑↑↑
September 9, 201312 yr You have to destroy the item yourself if it hits 0 i had to with my custom pick.
September 9, 201312 yr Author And how? If i just go like this it doesn't work: @Override public void onUpdate(ItemStack stack, World world, Entity entity, int n, boolean b) { if (stack.getItemDamage() >= stack.getMaxDamage()) stack = null; } http://i.imgur.com/wNvtGZw.png[/img] MODS and MODDING TUTORIALS
September 18, 201312 yr Author @Chibill or others: Can anybody give me some working code? http://i.imgur.com/wNvtGZw.png[/img] MODS and MODDING TUTORIALS
September 18, 201312 yr Hi Look in ItemStack.damageItem() --->EntityPlayer.destroyCurrentEquippedItem --> this.inventory.setInventorySlotContents(this.inventory.currentItem, (ItemStack)null); I think this might be what you are after? -TGG
September 18, 201312 yr @Override public void onUpdate(ItemStack stack, World world, Entity entity, int n, boolean b) { if (stack.getItemDamage() >= stack.getMaxDamage()) stack.stackSize -= 1; //if this is reduced to 0, it is automatically "destroyed" } Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
September 21, 201312 yr Author Even this doesn't work. I think the problem is, that the Item I want to damage is not the currently selected Item. It can be any Item in the Inventory... I don't understand, why it doesn't break.. Note: The Item, which you get instead of the old one can't be throwed out of the Inventory. If you press Q the game crashes with the following crash report: 2013-09-21 07:52:40 [iNFO] [sTDERR] net.minecraft.util.ReportedException: Ticking memory connection 2013-09-21 07:52:40 [iNFO] [sTDERR] at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:63) 2013-09-21 07:52:40 [iNFO] [sTDERR] at net.minecraft.server.integrated.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:109) 2013-09-21 07:52:40 [iNFO] [sTDERR] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:689) 2013-09-21 07:52:40 [iNFO] [sTDERR] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:585) 2013-09-21 07:52:40 [iNFO] [sTDERR] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:129) 2013-09-21 07:52:40 [iNFO] [sTDERR] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482) 2013-09-21 07:52:40 [iNFO] [sTDERR] at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16) 2013-09-21 07:52:40 [iNFO] [sTDERR] Caused by: java.lang.NullPointerException 2013-09-21 07:52:40 [iNFO] [sTDERR] at net.minecraft.world.World.spawnEntityInWorld(World.java:1549) 2013-09-21 07:52:40 [iNFO] [sTDERR] at net.minecraft.entity.player.EntityPlayer.joinEntityItemWithWorld(EntityPlayer.java:870) 2013-09-21 07:52:40 [iNFO] [sTDERR] at net.minecraftforge.common.ForgeHooks.onPlayerTossEvent(ForgeHooks.java:377) 2013-09-21 07:52:40 [iNFO] [sTDERR] at net.minecraft.entity.player.EntityPlayer.dropOneItem(EntityPlayer.java:797) 2013-09-21 07:52:40 [iNFO] [sTDERR] at net.minecraft.network.NetServerHandler.handleBlockDig(NetServerHandler.java:434) 2013-09-21 07:52:40 [iNFO] [sTDERR] at net.minecraft.network.packet.Packet14BlockDig.processPacket(Packet14BlockDig.java:67) 2013-09-21 07:52:40 [iNFO] [sTDERR] at net.minecraft.network.MemoryConnection.processReadPackets(MemoryConnection.java:89) 2013-09-21 07:52:40 [iNFO] [sTDERR] at net.minecraft.network.NetServerHandler.networkTick(NetServerHandler.java:141) 2013-09-21 07:52:40 [iNFO] [sTDERR] at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:54) 2013-09-21 07:52:40 [iNFO] [sTDERR] ... 6 more 2013-09-21 07:52:40 [sEVERE] [Minecraft-Server] Encountered an unexpected exception ReportedException net.minecraft.util.ReportedException: Ticking memory connection at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:63) at net.minecraft.server.integrated.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:109) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:689) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:585) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:129) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482) at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16) Caused by: java.lang.NullPointerException at net.minecraft.world.World.spawnEntityInWorld(World.java:1549) at net.minecraft.entity.player.EntityPlayer.joinEntityItemWithWorld(EntityPlayer.java:870) at net.minecraftforge.common.ForgeHooks.onPlayerTossEvent(ForgeHooks.java:377) at net.minecraft.entity.player.EntityPlayer.dropOneItem(EntityPlayer.java:797) at net.minecraft.network.NetServerHandler.handleBlockDig(NetServerHandler.java:434) at net.minecraft.network.packet.Packet14BlockDig.processPacket(Packet14BlockDig.java:67) 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) ... 6 more 2013-09-21 07:52:40 [sEVERE] [Minecraft-Server] This crash report has been saved to: C:\Users\Julian\Desktop\Minecraft- extras\Modding\Eclipse Workspaces\Minecraft_1.6.2 - Magicum\forge\mcp\jars\.\crash-reports\crash-2013-09-21_07.52.40-server.txt 2013-09-21 07:52:40 [iNFO] [Minecraft-Server] Stopping server 2013-09-21 07:52:40 [iNFO] [Minecraft-Server] Saving players 2013-09-21 07:52:40 [iNFO] [Minecraft-Server] _Bedrock_Miner_ left the game 2013-09-21 07:52:40 [iNFO] [Minecraft-Server] Saving worlds 2013-09-21 07:52:40 [iNFO] [Minecraft-Server] Saving chunks for level 'Neue Welt'/Overworld 2013-09-21 07:52:40 [iNFO] [sTDOUT] ---- Minecraft Crash Report ---- 2013-09-21 07:52:40 [iNFO] [sTDOUT] // You're mean. 2013-09-21 07:52:40 [iNFO] [sTDOUT] 2013-09-21 07:52:40 [iNFO] [sTDOUT] Time: 21.09.13 07:52 2013-09-21 07:52:40 [iNFO] [sTDOUT] Description: Ticking memory connection 2013-09-21 07:52:40 [iNFO] [sTDOUT] 2013-09-21 07:52:40 [iNFO] [sTDOUT] java.lang.NullPointerException 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.world.World.spawnEntityInWorld(World.java:1549) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.entity.player.EntityPlayer.joinEntityItemWithWorld(EntityPlayer.java:870) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraftforge.common.ForgeHooks.onPlayerTossEvent(ForgeHooks.java:377) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.entity.player.EntityPlayer.dropOneItem(EntityPlayer.java:797) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.network.NetServerHandler.handleBlockDig(NetServerHandler.java:434) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.network.packet.Packet14BlockDig.processPacket(Packet14BlockDig.java:67) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.network.MemoryConnection.processReadPackets(MemoryConnection.java:89) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.network.NetServerHandler.networkTick(NetServerHandler.java:141) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:54) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.server.integrated.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:109) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:689) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:585) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:129) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16) 2013-09-21 07:52:40 [iNFO] [sTDOUT] 2013-09-21 07:52:40 [iNFO] [sTDOUT] 2013-09-21 07:52:40 [iNFO] [sTDOUT] A detailed walkthrough of the error, its code path and all known details is as follows: 2013-09-21 07:52:40 [iNFO] [sTDOUT] --------------------------------------------------------------------------------------- 2013-09-21 07:52:40 [iNFO] [sTDOUT] 2013-09-21 07:52:40 [iNFO] [sTDOUT] -- Head -- 2013-09-21 07:52:40 [iNFO] [sTDOUT] Stacktrace: 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.world.World.spawnEntityInWorld(World.java:1549) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.entity.player.EntityPlayer.joinEntityItemWithWorld(EntityPlayer.java:870) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraftforge.common.ForgeHooks.onPlayerTossEvent(ForgeHooks.java:377) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.entity.player.EntityPlayer.dropOneItem(EntityPlayer.java:797) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.network.NetServerHandler.handleBlockDig(NetServerHandler.java:434) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.network.packet.Packet14BlockDig.processPacket(Packet14BlockDig.java:67) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.network.MemoryConnection.processReadPackets(MemoryConnection.java:89) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.network.NetServerHandler.networkTick(NetServerHandler.java:141) 2013-09-21 07:52:40 [iNFO] [sTDOUT] 2013-09-21 07:52:40 [iNFO] [sTDOUT] -- Ticking connection -- 2013-09-21 07:52:40 [iNFO] [sTDOUT] Details: 2013-09-21 07:52:40 [iNFO] [sTDOUT] Connection: net.minecraft.network.NetServerHandler@23d720a9 2013-09-21 07:52:40 [iNFO] [sTDOUT] Stacktrace: 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:54) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.server.integrated.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:109) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:689) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:585) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:129) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482) 2013-09-21 07:52:40 [iNFO] [sTDOUT] at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16) 2013-09-21 07:52:40 [iNFO] [sTDOUT] 2013-09-21 07:52:40 [iNFO] [sTDOUT] -- System Details -- 2013-09-21 07:52:40 [iNFO] [sTDOUT] Details: 2013-09-21 07:52:40 [iNFO] [sTDOUT] Minecraft Version: 1.6.2 2013-09-21 07:52:40 [iNFO] [sTDOUT] Operating System: Windows 7 (amd64) version 6.1 2013-09-21 07:52:40 [iNFO] [sTDOUT] Java Version: 1.7.0_21, Oracle Corporation 2013-09-21 07:52:40 [iNFO] [sTDOUT] Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation 2013-09-21 07:52:40 [iNFO] [sTDOUT] Memory: 649858968 bytes (619 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB) 2013-09-21 07:52:40 [iNFO] [sTDOUT] JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M 2013-09-21 07:52:40 [iNFO] [sTDOUT] AABB Pool Size: 3803 (212968 bytes; 0 MB) allocated, 3393 (190008 bytes; 0 MB) used 2013-09-21 07:52:40 [iNFO] [sTDOUT] Suspicious classes: FML and Forge are installed 2013-09-21 07:52:40 [iNFO] [sTDOUT] IntCache: cache: 0, tcache: 0, allocated: 1, tallocated: 63 2013-09-21 07:52:40 [iNFO] [sTDOUT] FML: MCP v8.04 FML v6.2.30.794 Minecraft Forge 9.10.0.794 4 mods loaded, 4 mods active 2013-09-21 07:52:40 [iNFO] [sTDOUT] mcp{8.04} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available 2013-09-21 07:52:40 [iNFO] [sTDOUT] FML{6.2.30.794} [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available 2013-09-21 07:52:40 [iNFO] [sTDOUT] Forge{9.10.0.794} [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available 2013-09-21 07:52:40 [iNFO] [sTDOUT] magicum{1.0.0} [Magicum Mod] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available 2013-09-21 07:52:40 [iNFO] [sTDOUT] Profiler Position: N/A (disabled) 2013-09-21 07:52:40 [iNFO] [sTDOUT] Vec3 Pool Size: 1236 (69216 bytes; 0 MB) allocated, 1097 (61432 bytes; 0 MB) used 2013-09-21 07:52:40 [iNFO] [sTDOUT] Player Count: 1 / 8; [EntityPlayerMP['_Bedrock_Miner_'/83, l='Neue Welt', x=-488,03, y=66,00, z=96,58]] 2013-09-21 07:52:40 [iNFO] [sTDOUT] Type: Integrated Server (map_client.txt) 2013-09-21 07:52:40 [iNFO] [sTDOUT] Is Modded: Definitely; Client brand changed to 'fml,forge' 2013-09-21 07:52:40 [iNFO] [sTDOUT] #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\Julian\Desktop\Minecraft- extras\Modding\Eclipse Workspaces\Minecraft_1.6.2 - Magicum\forge\mcp\jars\.\crash-reports\crash-2013-09-21_07.52.40-server.txt 2013-09-21 07:52:40 [iNFO] [Minecraft-Server] Stopping server 2013-09-21 07:52:40 [iNFO] [Minecraft-Server] Saving players 2013-09-21 07:52:40 [iNFO] [Minecraft-Server] Saving worlds 2013-09-21 07:52:40 [iNFO] [Minecraft-Server] Saving chunks for level 'Neue Welt'/Overworld AL lib: (EE) alc_cleanup: 1 device not closed http://i.imgur.com/wNvtGZw.png[/img] MODS and MODDING TUTORIALS
September 21, 201312 yr rewrite your code. items should brake automaticly. dont use onUpdate to break it. and where do you use the code to damage it ? https://minecraft.curseforge.com/members/Subaraki/projects
September 22, 201311 yr Author Now it works! I changed my damage-method to the following: player.inventory.getStackInSlot(InventoryController.getSlot(Element.get(elementID))).setItemDamage(player.inventory.getStackInSlot(InventoryController.getSlot(Element.get(elementID))).getItemDamage() + 1); if (player.inventory.getStackInSlot(InventoryController.getSlot(Element.get(elementID))).getItemDamage() >= player.inventory.getStackInSlot(InventoryController.getSlot(Element.get(elementID))).getMaxDamage()) player.inventory.setInventorySlotContents(InventoryController.getSlot(Element.get(elementID)), null); Thanks to all of you! http://i.imgur.com/wNvtGZw.png[/img] MODS and MODDING TUTORIALS
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.