From fda405e4721d21482a4236b0fb30f5101786ea5d Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Thu, 24 Dec 2015 13:42:11 +0100 Subject: [PATCH] shift clicking in drive --- .../container/ContainerDrive.java | 42 ++++++++++++++++++- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/src/main/java/storagecraft/container/ContainerDrive.java b/src/main/java/storagecraft/container/ContainerDrive.java index ce2eff017..a5dc8870b 100644 --- a/src/main/java/storagecraft/container/ContainerDrive.java +++ b/src/main/java/storagecraft/container/ContainerDrive.java @@ -1,6 +1,8 @@ package storagecraft.container; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; import storagecraft.StorageCraftItems; import storagecraft.container.slot.SlotItemFilter; import storagecraft.tile.TileDrive; @@ -11,8 +13,6 @@ public class ContainerDrive extends ContainerBase { super(player); - addPlayerInventory(8, 108); - int x = 71; int y = 20; @@ -30,5 +30,43 @@ public class ContainerDrive extends ContainerBase x += 18; } } + + addPlayerInventory(8, 108); + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int index) + { + ItemStack stack = null; + + Slot slot = getSlot(index); + + if (slot != null && slot.getHasStack()) + { + stack = slot.getStack().copy(); + + if (index < 8) + { + if (!mergeItemStack(stack, 8, inventorySlots.size(), true)) + { + return null; + } + } + else if (!mergeItemStack(stack, 0, 8, false)) + { + return null; + } + + if (stack.stackSize == 0) + { + slot.putStack(null); + } + else + { + slot.onSlotChanged(); + } + } + + return stack; } }