diff --git a/core/src/main/java/binnie/core/gui/minecraft/ContainerCraftGUI.java b/core/src/main/java/binnie/core/gui/minecraft/ContainerCraftGUI.java index aad4e0a48..94eec9293 100644 --- a/core/src/main/java/binnie/core/gui/minecraft/ContainerCraftGUI.java +++ b/core/src/main/java/binnie/core/gui/minecraft/ContainerCraftGUI.java @@ -138,11 +138,14 @@ private ItemStack shiftClick(final EntityPlayer player, final int slotnumber) { TransferResult transferResult = request.transfer(player, true); if (transferResult.isSuccess()) { NonNullList results = transferResult.getRemaining(); - if (results.size() == 1) { - final ItemStack itemstack = results.get(0); + if (results.size() > 0) { + final ItemStack itemstack = results.remove(results.size() - 1); final Slot shiftClickedSlot = this.inventorySlots.get(slotnumber); shiftClickedSlot.putStack(itemstack); shiftClickedSlot.onSlotChanged(); + for (ItemStack remaining : results) { + player.inventory.addItemStackToInventory(remaining); + } } } return ItemStack.EMPTY; @@ -200,9 +203,11 @@ public final void tankClick(final EntityPlayer player, final int slotID) { if (results.size() > 0) { IItemHandler itemHandler = new InvWrapper(inventory); for (ItemStack remaining : results) { - ItemHandlerHelper.insertItemStacked(itemHandler, remaining, false); + ItemStack stack = ItemHandlerHelper.insertItemStacked(itemHandler, remaining, false); + player.inventory.addItemStackToInventory(stack); } } + } } }