Posted January 29, 20169 yr I have an item that is intended to stay with the player upon death. Because of the way Minecraft handles the "keepInventory" gamerule by calling a "dropAllItems" method if the gamerule is false, I can't figure out how to stop a specific item from being dropped. What is the best way to do it?
January 29, 20169 yr Using events listen for the player's death so that you can store a copy of the stack, and then when the player respawns (event) give them the itemstack I think its my java of the variables.
January 29, 20169 yr As I am myself not sure right now which combination will cover all cases, I will throw all, hopefully, helpful things: 1. LivingDeathEvent // Forge 2. PlayerEvent.Clone // Forge 3. PlayerEvent.PlayerRespawnEvent // FML 4. PlayerDropsEvent // Forge In any case - you will use 4. to make item not drop from player. Few ways: * Use 1. to save ItemStack to probably IExtendedEntityProperties and 3. to restore it. * Use 2. to clone ItemStack directly from old to new entity, BUT then it might get buggy since it fires in different kind of situations and only when you actually click respawn button (tho I am unsure). * It might be possible that forge handles that for you and allows you to presist items if they were removed from drop list in 4. - but you have to check it yourself. Basically - test this shit for it to suit your needs. 1.7.10 is no longer supported by forge, you are on your own.
January 29, 20169 yr Author Thanks all! I sorted it out by using the PlayerDropsEvent and PlayerRespawns event with a boolean that triggers if the player had the item.
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.