From 5c5212e86a75902b08c83ac61717a028246bfe5f Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Mon, 15 Aug 2016 22:01:07 +0200 Subject: [PATCH] Add shiftclickhandler for fluid interface --- .../container/ContainerFluidInterface.java | 29 +++++++++++++++++++ .../refinedstorage/gui/GuiFluidInterface.java | 8 +++++ 2 files changed, 37 insertions(+) diff --git a/src/main/java/refinedstorage/container/ContainerFluidInterface.java b/src/main/java/refinedstorage/container/ContainerFluidInterface.java index 244bf54da..3c535c3db 100755 --- a/src/main/java/refinedstorage/container/ContainerFluidInterface.java +++ b/src/main/java/refinedstorage/container/ContainerFluidInterface.java @@ -1,6 +1,8 @@ package refinedstorage.container; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; import net.minecraftforge.items.SlotItemHandler; import refinedstorage.container.slot.SlotSpecimenFluid; import refinedstorage.tile.TileFluidInterface; @@ -18,4 +20,31 @@ public class ContainerFluidInterface extends ContainerBase { addPlayerInventory(8, 122); } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack stack = null; + + Slot slot = getSlot(index); + + if (slot != null && slot.getHasStack()) { + stack = slot.getStack(); + + if (index < 4 + 2) { + if (!mergeItemStack(stack, 4 + 2, inventorySlots.size(), false)) { + return null; + } + } else if (!mergeItemStack(stack, 0, 4 + 2, false)) { + return null; + } + + if (stack.stackSize == 0) { + slot.putStack(null); + } else { + slot.onSlotChanged(); + } + } + + return stack; + } } diff --git a/src/main/java/refinedstorage/gui/GuiFluidInterface.java b/src/main/java/refinedstorage/gui/GuiFluidInterface.java index 4a15b69aa..9f2d9ce9c 100755 --- a/src/main/java/refinedstorage/gui/GuiFluidInterface.java +++ b/src/main/java/refinedstorage/gui/GuiFluidInterface.java @@ -46,5 +46,13 @@ public class GuiFluidInterface extends GuiBase { drawString(43 + 4, 20, t("gui.refinedstorage:fluid_interface.in")); drawString(115 + 1, 20, t("gui.refinedstorage:fluid_interface.out")); drawString(7, 111, t("container.inventory")); + + if (inBounds(46, 56, 12, 47, mouseX, mouseY) && TileFluidInterface.TANK_IN.getValue() != null) { + drawTooltip(mouseX, mouseY, TileFluidInterface.TANK_IN.getValue().getLocalizedName() + "\n" + TileFluidInterface.TANK_IN.getValue().amount + " mB"); + } + + if (inBounds(118, 56, 12, 47, mouseX, mouseY) && TileFluidInterface.TANK_OUT.getValue() != null) { + drawTooltip(mouseX, mouseY, TileFluidInterface.TANK_OUT.getValue().getLocalizedName() + "\n" + TileFluidInterface.TANK_OUT.getValue().amount + " mB"); + } } }