Jump to content

OrangeVillager61

Members
  • Posts

    339
  • Joined

  • Last visited

Converted

  • Gender
    Undisclosed
  • Personal Text
    I am new!

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

OrangeVillager61's Achievements

Diamond Finder

Diamond Finder (5/8)

2

Reputation

  1. 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?
  2. 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
  3. 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); } } } }
  4. I'll definitely prefix the NBT tags, but what exactly do you mean by handling the boolean tag with two separate items?
  5. 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.
  6. 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); } } } } }
  7. 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.
  8. Well, I'm wondering what holds the function so I can implement it such as, something.something.rendertypelookup.
  9. 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.
  10. Yeah, I probably made a mistake somewhere, I did a clean reinstall and it fixed the problem. Thanks!
  11. It is already the latest version, do you mean that I should try a wipe and reinstall?
  12. 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!
×
×
  • Create New...

Important Information

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