From dd864a65681ab537289071dc16fac0c448855959 Mon Sep 17 00:00:00 2001 From: Matej Dipčár <492666@mail.muni.cz> Date: Thu, 22 Sep 2022 02:01:39 +0200 Subject: Make `parseTextBox` and `GT_GuiShortTextBox` more abstract --- .../GT_Cover_AdvancedWirelessRedstoneBase.java | 34 +++++++++++++++------- .../redstone/GT_Cover_WirelessFluidDetector.java | 2 +- 2 files changed, 24 insertions(+), 12 deletions(-) (limited to 'src/main') diff --git a/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedWirelessRedstoneBase.java b/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedWirelessRedstoneBase.java index 6fd4ab7339..1633b2f05e 100644 --- a/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedWirelessRedstoneBase.java +++ b/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedWirelessRedstoneBase.java @@ -256,7 +256,7 @@ public abstract class GT_Cover_AdvancedWirelessRedstoneBase 0 ? step : -step); - long value = parseTextBox(box) + step; + long value = parseTextBox(box, minValue, maxValue) + step; if (value > maxValue) value = maxValue; else if (value < minValue) value = minValue; @@ -306,29 +306,41 @@ public abstract class GT_Cover_AdvancedWirelessRedstoneBase Integer.MAX_VALUE) frequency = Integer.MAX_VALUE; - else if (frequency < 0) frequency = 0; - - return (int) frequency; + if (value >= max) return max; + else if (value < min) return min; + return (int) value; + } + + protected int parseTextBox(GT_GuiIntegerTextBox box) { + return parseTextBox(box, 0, Integer.MAX_VALUE); } - private class GT_GuiShortTextBox extends GT_GuiIntegerTextBox { + protected class GT_GuiShortTextBox extends GT_GuiIntegerTextBox { - public GT_GuiShortTextBox(IGuiScreen gui, int id, int x, int y, int width, int height) { + private final int min; + private final int max; + + public GT_GuiShortTextBox(IGuiScreen gui, int id, int x, int y, int width, int height, int min, int max) { super(gui, id, x, y, width, height); + this.min = min; + this.max = max; + } + + public GT_GuiShortTextBox(IGuiScreen gui, int id, int x, int y, int width, int height) { + this(gui, id, x, y, width, height, 0, Integer.MAX_VALUE); } @Override @@ -337,7 +349,7 @@ public abstract class GT_Cover_AdvancedWirelessRedstoneBase 0) { - setText(String.valueOf(parseTextBox(this))); + setText(String.valueOf(parseTextBox(this, min, max))); } return true; diff --git a/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessFluidDetector.java b/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessFluidDetector.java index ea86b79043..8985f24259 100644 --- a/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessFluidDetector.java +++ b/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessFluidDetector.java @@ -125,7 +125,7 @@ public class GT_Cover_WirelessFluidDetector extends GT_Cover_AdvancedRedstoneTra public FluidTransmitterGUI(byte aSide, int aCoverID, FluidTransmitterData aCoverVariable, ICoverable aTileEntity) { super(aSide, aCoverID, aCoverVariable, aTileEntity, 1, 2); - thresholdBox = new GT_GuiIntegerTextBox(this,1, 1 + startX, 2 + startY, spaceX * 5 - 4, 12); + thresholdBox = new GT_GuiShortTextBox(this,1, 1 + startX, 2 + startY, spaceX * 5 - 4, 12); } @Override -- cgit