-
[1.15.2 - Adding NBT tag to item is not working]
Oh, that's how you debugged it? I debugged it by checking the boolean has_venom below: CompoundNBT nbtvenom = itemstack1.getOrCreateChildTag(MoDrops.modid + "has_bee_venom"); boolean has_venom = nbtvenom.getBoolean(MoDrops.modid + "has_bee_venom"); MoDrops.logger.debug(has_venom); I (clearly falsely) assumed that if it was there, it would pass that check. Since the tag is there how would I access the tag correctly?
-
[1.15.2 - Adding NBT tag to item is not working]
Thank you for letting me know, I just added it.
-
[1.15.2 - Adding NBT tag to item is not working]
I'm currently working on figuring out how to make the itemhandler work. Also here's the repo: https://github.com/Orange1861/1.15.2-MoDrops/tree/1.15.2-MoDrops-Beta_Three
-
[1.15.2 - Adding NBT tag to item is not working]
Alright, so I started implementing the changes, but copying the itemstack still doesn't solve the problem of the tag not applying: (Still trying to figure out how to implement the itemhandler so that's not in yet) public void updateRepairOutput() { ItemStack itemstack = this.inputSlots.getStackInSlot(0); if (itemstack.isEmpty()) { this.outputSlot.setInventorySlotContents(0, ItemStack.EMPTY); } else { ItemStack itemstack1 = EnhancementContainer.this.inputSlots.getStackInSlot(0).copy(); ItemStack itemstack2 = EnhancementContainer.this.inputSlots.getStackInSlot(1); CompoundNBT nbtvenom = itemstack1.getOrCreateChildTag(MoDrops.modid + "has_bee_venom"); boolean has_venom = nbtvenom.getBoolean(MoDrops.modid + "has_bee_venom"); if (!itemstack2.isEmpty() && itemstack2.getCount() > 0 && !has_venom == true && itemstack2.getItem() == ItemList.bee_venom) { if(itemstack2.getCount() > 0 && itemstack2.getCount() < 4) { CompoundNBT nbt = itemstack1.getOrCreateTag(); nbt.putBoolean(MoDrops.modid + "has_bee_venom", true); nbt.putInt(MoDrops.modid + "bee_venom_strength", itemstack2.getCount()); itemstack1.setTag(nbt); EnhancementContainer.this.outputSlot.setInventorySlotContents(1, itemstack1); } else { CompoundNBT nbt = itemstack1.getOrCreateTag(); nbt.putBoolean(MoDrops.modid + "has_bee_venom", true); nbt.putInt(MoDrops.modid + "bee_venom_strength", 1); itemstack1.write(nbt); itemstack1.setTag(nbt); EnhancementContainer.this.outputSlot.setInventorySlotContents(1, itemstack1); } } } }
-
[1.15.2 - Adding NBT tag to item is not working]
I'll definitely prefix the NBT tags, but what exactly do you mean by handling the boolean tag with two separate items?
-
[1.15.2 - Adding NBT tag to item is not working]
Regarding the separate items and tags, I am trying to add data to items, in case, add bee venom to weapons so that they deal poison damage on hit (handled in an event). Should I use a capability instead of nbt tags and if so, how do I attach the capability to items in this container? Thanks for letting me know to get rid of write, switch IItemHandler, and clone the itemstack I'll definitely go do so.
-
[1.15.2 - Adding NBT tag to item is not working]
Hello! In my code, I am trying to add an nbt tag when an item is taken from my machine. Problem is that the item is not getting the tag, which I know due to how the machine doesn't accept items that have the tag set to a certain value. (Condensed code) public class EnhancementContainer extends Container{ public void updateRepairOutput() { ItemStack itemstack = this.inputSlots.getStackInSlot(0); if (itemstack.isEmpty()) { this.outputSlot.setInventorySlotContents(0, ItemStack.EMPTY); } else { ItemStack itemstack1 = EnhancementContainer.this.inputSlots.getStackInSlot(0); ItemStack itemstack2 = EnhancementContainer.this.inputSlots.getStackInSlot(1); CompoundNBT nbtvenom = itemstack1.getOrCreateChildTag("has_bee_venom"); boolean has_venom = nbtvenom.getBoolean("has_bee_venom"); if (!itemstack2.isEmpty() && itemstack2.getCount() > 0 && !has_venom == true && itemstack2.getItem() == ItemList.bee_venom) { if(itemstack2.getCount() > 0 && itemstack2.getCount() < 4) { CompoundNBT nbt = itemstack1.getOrCreateTag(); nbt.putBoolean("has_bee_venom", true); nbt.putInt("bee_venom_strength", itemstack2.getCount()); itemstack1.write(nbt); itemstack1.setTag(nbt); EnhancementContainer.this.outputSlot.setInventorySlotContents(1, itemstack1); } else { CompoundNBT nbt = itemstack1.getOrCreateTag(); nbt.putBoolean("has_bee_venom", true); nbt.putInt("bee_venom_strength", 1); itemstack1.write(nbt); itemstack1.setTag(nbt); EnhancementContainer.this.outputSlot.setInventorySlotContents(1, itemstack1); } } } } }
-
Forge 1.12.2 keeps crashing i need help pls
Are you coding a mod yourself? If not, you should go post the full crash log (this is a tiny snippet) with this in the Support and Bug Reports chat.
-
[1.15.1] Transparent Blocks, Arn't
Well, I'm wondering what holds the function so I can implement it such as, something.something.rendertypelookup.
-
Twitch Modpack keeps crashing on Initializaion
Show us the error report.
-
[1.15.1] Transparent Blocks, Arn't
This is pretty helpful for me too, but what uses the RenderTypeLookup method in FMLClientSetupEvent? I can't find the method using the event or the block.
-
[1.14.4] Some Source Files have "Source not found"
Yeah, I probably made a mistake somewhere, I did a clean reinstall and it fixed the problem. Thanks!
-
[1.14.4] Some Source Files have "Source not found"
It is already the latest version, do you mean that I should try a wipe and reinstall?
-
[1.14.4] Some Source Files have "Source not found"
Hello! I am starting to mod in 1.14.4 and I am having this issue: This is happening to about half of the source files and this makes it far harder to read and understand the files. Does anyone have any suggestions to try to fix this? Thanks so much!
-
[Solved] Problem with 1.14.4 Modding! Can't run mod!
(Ignore this, solution found)
IPS spam blocked by CleanTalk.