I have 2 separate classes for 2 different events. The first one is an ItemTossEvent, in which I add "delete" to the lore of the dropped item. The second one is an ItemPickupEvent where I am supposed to delete the items that were picked up by using
player.inventory.clearMatchingItems
The only problem is that I'm pretty new to NBT and I'm not sure how exactly they work and I couldn't find any good explanation so I don't know how to check for the lore (the NBT in this case). I'm not sure if this helps but here is the part of the ItemTossEvent where I add lore to the dropped item.
public class EventDropItem {
@SubscribeEvent
public void dropItemEvent(ItemTossEvent event)
{
ItemStack droppedItem = droppedEntityItem.getItem();
NBTTagCompound nbt = droppedItem.getTagCompound();
if (nbt == null) nbt = new NBTTagCompound();
NBTTagList lore = new NBTTagList();
lore.appendTag(new NBTTagString("delete"));
NBTTagCompound display = new NBTTagCompound();
display.setTag("Lore", lore);
nbt.setTag("display", display);
droppedItem.setTagCompound(nbt);
}
}