From ae51723c822009ef20a4676f56bd28a1c2044c95 Mon Sep 17 00:00:00 2001 From: asiekierka Date: Tue, 28 Apr 2015 18:46:31 +0200 Subject: [PATCH] allow shift-click to clear trigger/action slots --- .../transport/gui/GuiGateInterface.java | 81 ++++++++++--------- 1 file changed, 44 insertions(+), 37 deletions(-) diff --git a/common/buildcraft/transport/gui/GuiGateInterface.java b/common/buildcraft/transport/gui/GuiGateInterface.java index a8d737aa..e965dab6 100644 --- a/common/buildcraft/transport/gui/GuiGateInterface.java +++ b/common/buildcraft/transport/gui/GuiGateInterface.java @@ -9,6 +9,7 @@ package buildcraft.transport.gui; import java.util.Iterator; +import org.lwjgl.input.Keyboard; import org.lwjgl.input.Mouse; import org.lwjgl.opengl.GL11; import net.minecraft.inventory.IInventory; @@ -271,28 +272,30 @@ public class GuiGateInterface extends GuiAdvancedInterface { IStatement changed = null; - if (triggerSlot.getStatement() == null) { - - if (k == 0) { - changed = container.getFirstTrigger(); - } else { - changed = container.getLastTrigger(); - } - + if (isShiftKeyDown()) { + changed = null; } else { - Iterator it = container.getTriggerIterator(k != 0); - - for (; it.hasNext();) { - IStatement trigger = it.next(); - - if (!it.hasNext()) { - changed = null; - break; + if (triggerSlot.getStatement() == null) { + if (k == 0) { + changed = container.getFirstTrigger(); + } else { + changed = container.getLastTrigger(); } + } else { + Iterator it = container.getTriggerIterator(k != 0); - if (trigger == triggerSlot.getStatement()) { - changed = it.next(); - break; + for (; it.hasNext(); ) { + IStatement trigger = it.next(); + + if (!it.hasNext()) { + changed = null; + break; + } + + if (trigger == triggerSlot.getStatement()) { + changed = it.next(); + break; + } } } } @@ -314,28 +317,32 @@ public class GuiGateInterface extends GuiAdvancedInterface { ActionSlot actionSlot = (ActionSlot) slot; IStatement changed = null; - if (actionSlot.getStatement() == null) { - - if (k == 0) { - changed = container.getFirstAction(); - } else { - changed = container.getLastAction(); - } + if (isShiftKeyDown()) { + changed = null; } else { - Iterator it = container.getActionIterator(k != 0); - - for (; it.hasNext();) { - IStatement action = it.next(); - - if (!it.hasNext()) { - changed = null; - break; + if (actionSlot.getStatement() == null) { + if (k == 0) { + changed = container.getFirstAction(); + } else { + changed = container.getLastAction(); } - if (action == actionSlot.getStatement()) { - changed = it.next(); - break; + } else { + Iterator it = container.getActionIterator(k != 0); + + for (; it.hasNext(); ) { + IStatement action = it.next(); + + if (!it.hasNext()) { + changed = null; + break; + } + + if (action == actionSlot.getStatement()) { + changed = it.next(); + break; + } } } }