aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common
diff options
context:
space:
mode:
authorMatej Dipčár <492666@mail.muni.cz>2022-09-22 02:01:39 +0200
committerMatej Dipčár <492666@mail.muni.cz>2022-09-23 02:15:54 +0200
commitdd864a65681ab537289071dc16fac0c448855959 (patch)
tree4ed881e538a552a373bfa60defe85c08bee3f13c /src/main/java/gregtech/common
parent35fe35757cd1390bdaab9a07fc2014c0f5e36cd4 (diff)
downloadGT5-Unofficial-dd864a65681ab537289071dc16fac0c448855959.tar.gz
GT5-Unofficial-dd864a65681ab537289071dc16fac0c448855959.tar.bz2
GT5-Unofficial-dd864a65681ab537289071dc16fac0c448855959.zip
Make `parseTextBox` and `GT_GuiShortTextBox` more abstract
Diffstat (limited to 'src/main/java/gregtech/common')
-rw-r--r--src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedWirelessRedstoneBase.java34
-rw-r--r--src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessFluidDetector.java2
2 files changed, 24 insertions, 12 deletions
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<T extends GT_Cover_A
long step = Math.max(1, Math.abs(delta / 120));
step = (isShiftKeyDown() ? shiftStep : isCtrlKeyDown() ? ctrlStep : baseStep) * (delta > 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<T extends GT_Cover_A
update();
}
- protected int parseTextBox(GT_GuiIntegerTextBox box) {
+ protected int parseTextBox(GT_GuiIntegerTextBox box, int min, int max) {
String text = box.getText();
if (text == null) {
return 0;
}
- long frequency;
+ long value;
try {
- frequency = Long.parseLong(text.trim());
+ value = Long.parseLong(text.trim());
} catch (NumberFormatException e) {
return 0;
}
- if (frequency > 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<T extends GT_Cover_A
String text = getText().trim();
if (text.length() > 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