@Override public @Nonnull ItemStack transferStackInSlot(@Nonnull EntityPlayer p_82846_1_, int p_82846_2_) { ItemStack itemstack = ItemStack.EMPTY; Slot slot = this.inventorySlots.get(p_82846_2_); if (slot != null && slot.getHasStack()) { ItemStack itemstack1 = slot.getStack(); itemstack = itemstack1.copy(); int minPlayerSlot = inventorySlots.size() - playerInv.mainInventory.size(); if (p_82846_2_ < minPlayerSlot) { if (!this.mergeItemStack(itemstack1, minPlayerSlot, this.inventorySlots.size(), true)) { return ItemStack.EMPTY; } } else if (!this.mergeItemStack(itemstack1, 0, minPlayerSlot, false)) { return ItemStack.EMPTY; } if (itemstack1.isEmpty()) { slot.putStack(ItemStack.EMPTY); } else { slot.onSlotChanged(); } } return itemstack; }