From 917430bf5c3210aa745166402eb2bc76988d4aa8 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Thu, 28 May 2015 16:27:06 -0400 Subject: [PATCH] You can now dump any tank by shift-clicking its gauge with a gauge dropper --- .../mekanism/client/gui/element/GuiFluidGauge.java | 7 +++++++ .../mekanism/client/gui/element/GuiGasGauge.java | 7 +++++++ .../java/mekanism/common/base/ITankManager.java | 14 ++++++++++++-- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/main/java/mekanism/client/gui/element/GuiFluidGauge.java b/src/main/java/mekanism/client/gui/element/GuiFluidGauge.java index e41845271..9271b43dd 100644 --- a/src/main/java/mekanism/client/gui/element/GuiFluidGauge.java +++ b/src/main/java/mekanism/client/gui/element/GuiFluidGauge.java @@ -2,6 +2,8 @@ package mekanism.client.gui.element; import java.util.Arrays; +import org.lwjgl.input.Keyboard; + import mekanism.api.Coord4D; import mekanism.api.transmitters.TransmissionType; import mekanism.client.gui.GuiMekanism; @@ -60,6 +62,11 @@ public class GuiFluidGauge extends GuiGauge if(index != -1) { + if(button == 0 && Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) + { + button = 2; + } + Mekanism.packetHandler.sendToServer(new DropperUseMessage(Coord4D.get(tile), button, index)); } } diff --git a/src/main/java/mekanism/client/gui/element/GuiGasGauge.java b/src/main/java/mekanism/client/gui/element/GuiGasGauge.java index 5f6aed665..0c355559c 100644 --- a/src/main/java/mekanism/client/gui/element/GuiGasGauge.java +++ b/src/main/java/mekanism/client/gui/element/GuiGasGauge.java @@ -2,6 +2,8 @@ package mekanism.client.gui.element; import java.util.Arrays; +import org.lwjgl.input.Keyboard; + import mekanism.api.Coord4D; import mekanism.api.gas.Gas; import mekanism.api.gas.GasTank; @@ -60,6 +62,11 @@ public class GuiGasGauge extends GuiGauge if(index != -1) { + if(button == 0 && Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) + { + button = 2; + } + Mekanism.packetHandler.sendToServer(new DropperUseMessage(Coord4D.get(tile), button, index)); } } diff --git a/src/main/java/mekanism/common/base/ITankManager.java b/src/main/java/mekanism/common/base/ITankManager.java index 3b377e1c2..e889a0777 100644 --- a/src/main/java/mekanism/common/base/ITankManager.java +++ b/src/main/java/mekanism/common/base/ITankManager.java @@ -51,7 +51,8 @@ public interface ITankManager ((EntityPlayerMP)player).sendContainerAndContentsToPlayer(player.openContainer, player.openContainer.getInventory()); } - else { //Extract gas from dropper + else if(button == 1) //Extract gas from dropper + { if(dropper.getFluid(stack) != null || gasTank.getNeeded() == 0) { return; @@ -63,6 +64,10 @@ public interface ITankManager ((EntityPlayerMP)player).sendContainerAndContentsToPlayer(player.openContainer, player.openContainer.getInventory()); } + else if(button == 2) //Dump the tank + { + gasTank.setGas(null); + } } else if(tank instanceof FluidTank) { @@ -87,7 +92,8 @@ public interface ITankManager ((EntityPlayerMP)player).sendContainerAndContentsToPlayer(player.openContainer, player.openContainer.getInventory()); } - else { //Extract fluid from dropper + else if(button == 1) //Extract fluid from dropper + { if(dropper.getGas(stack) != null || fluidTank.getCapacity()-fluidTank.getFluidAmount() == 0) { return; @@ -99,6 +105,10 @@ public interface ITankManager ((EntityPlayerMP)player).sendContainerAndContentsToPlayer(player.openContainer, player.openContainer.getInventory()); } + else if(button == 2) //Dump the tank + { + fluidTank.setFluid(null); + } } } }