Posted November 27, 20168 yr I'm trying to store some data in an item before I give it to the player (Position and an integer) ItemStack scepter = new ItemStack(ModItems.scepterGuard); if (!scepter.hasTagCompound()) { scepter.setTagCompound(new NBTTagCompound()); } NBTTagCompound compound = scepter.getTagCompound(); compound.setInteger("task", task.ordinal()); BlockPosUtil.writeToNBT(compound, "pos", building.getID()); ItemStack item = player.inventory.getStackInSlot(player.inventory.currentItem); player.inventory.setInventorySlotContents(emptySlot, item); player.inventory.setInventorySlotContents(player.inventory.currentItem, scepter); and trying to retrieve it afterwards in the item onUse: ItemStack scepter = new ItemStack(ModItems.scepterGuard); if (!scepter.hasTagCompound()) { scepter.setTagCompound(new NBTTagCompound()); } NBTTagCompound compound = scepter.getTagCompound(); int task = compound.getInteger("task"); BlockPos guardTower = BlockPosUtil.readFromNBT(compound, "pos"); But that doesn't work...
November 27, 20168 yr In your onItemUse , you create a new ItemStack . A new ItemStack is never going to have the NBT data of another ItemStack . Either use the ItemStack parameter (1.8-1.10.2) or get the one from the player (1.11), as that's actually the one the player has in it's inventory. Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support. 1.12 -> 1.13 primer by williewillus. 1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support. http://www.howoldisminecraft1710.today/
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.