((IBauble) stackInSlot.getItem()).onUnequipped(stackInSlot, player);
@Override public ItemStack onTake(EntityPlayer playerIn, ItemStack stack) { if (!getHasStack() && !((IBaublesItemHandler)getItemHandler()).isEventBlocked() && stack.hasCapability(BaublesCapabilities.CAPABILITY_ITEM_BAUBLE, null)) { stack.getCapability(BaublesCapabilities.CAPABILITY_ITEM_BAUBLE, null).onUnequipped(stack, playerIn); } super.onTake(playerIn, stack); return stack; }
@Override public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand) { ItemStack stack = player.getHeldItem(hand); ItemStack toEquip = stack.splitStack(1); if(Loader.isModLoaded("baubles")) { if (canEquip(toEquip, player)) { IItemHandlerModifiable baubles = BaublesApi.getBaublesHandler(player); for (int i = 0; i < baubles.getSlots(); i++) { ItemStack simulate = baubles.insertItem(i, toEquip, true); if (simulate.isEmpty()) { ItemStack stackInSlot = baubles.getStackInSlot(i); if (stackInSlot.isEmpty() || ((IBauble) stackInSlot.getItem()).canUnequip(stackInSlot, player)) { if (!world.isRemote) { baubles.setStackInSlot(i, toEquip); } if (!stackInSlot.isEmpty()) { ((IBauble) stackInSlot.getItem()).onUnequipped(stackInSlot, player); return ActionResult.newResult(EnumActionResult.SUCCESS, stackInSlot.copy()); } break; } } } } } return ActionResult.newResult(EnumActionResult.PASS, stack); }
@Override public void putStack(ItemStack stack) { if (getHasStack() && !ItemStack.areItemStacksEqual(stack,getStack()) && !((IBaublesItemHandler)getItemHandler()).isEventBlocked() && getStack().hasCapability(BaublesCapabilities.CAPABILITY_ITEM_BAUBLE, null)) { getStack().getCapability(BaublesCapabilities.CAPABILITY_ITEM_BAUBLE, null).onUnequipped(getStack(), player); } ItemStack oldstack = getStack().copy(); super.putStack(stack); if (getHasStack() && !ItemStack.areItemStacksEqual(oldstack,getStack()) && !((IBaublesItemHandler)getItemHandler()).isEventBlocked() && getStack().hasCapability(BaublesCapabilities.CAPABILITY_ITEM_BAUBLE, null)) { getStack().getCapability(BaublesCapabilities.CAPABILITY_ITEM_BAUBLE, null).onEquipped(getStack(), player); } }
itemstack.getCapability(BaublesCapabilities.CAPABILITY_ITEM_BAUBLE, null).onUnequipped(itemstack, playerIn);