aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorMatej Dipčár <492666@mail.muni.cz>2022-09-22 02:43:17 +0200
committerMatej Dipčár <492666@mail.muni.cz>2022-09-23 02:15:54 +0200
commita579d5eefc4af9cdb6f83fdd3ab8e16ed569633b (patch)
tree82761ac898be97b9a9b007f5ab7d6e59a76d8f65 /src/main
parentdd864a65681ab537289071dc16fac0c448855959 (diff)
downloadGT5-Unofficial-a579d5eefc4af9cdb6f83fdd3ab8e16ed569633b.tar.gz
GT5-Unofficial-a579d5eefc4af9cdb6f83fdd3ab8e16ed569633b.tar.bz2
GT5-Unofficial-a579d5eefc4af9cdb6f83fdd3ab8e16ed569633b.zip
Make `GT_GuiShortTextBox` able to map values to different display strings
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedWirelessRedstoneBase.java27
1 files changed, 25 insertions, 2 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 1633b2f05e..2e73ae2094 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
@@ -24,9 +24,11 @@ import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fluids.Fluid;
import javax.annotation.Nonnull;
+import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.stream.Collectors;
public abstract class GT_Cover_AdvancedWirelessRedstoneBase<T extends GT_Cover_AdvancedWirelessRedstoneBase.WirelessData> extends GT_CoverBehaviorBase<T> {
@@ -323,7 +325,7 @@ public abstract class GT_Cover_AdvancedWirelessRedstoneBase<T extends GT_Cover_A
else if (value < min) return min;
return (int) value;
}
-
+
protected int parseTextBox(GT_GuiIntegerTextBox box) {
return parseTextBox(box, 0, Integer.MAX_VALUE);
}
@@ -332,11 +334,21 @@ public abstract class GT_Cover_AdvancedWirelessRedstoneBase<T extends GT_Cover_A
private final int min;
private final int max;
+ private final Map<String, String> translation;
+ private final Map<String, String> inverseTranslation;
- public GT_GuiShortTextBox(IGuiScreen gui, int id, int x, int y, int width, int height, int min, int max) {
+ public GT_GuiShortTextBox(IGuiScreen gui, int id, int x, int y, int width, int height, int min, int max,
+ Map<String, String> translate) {
super(gui, id, x, y, width, height);
this.min = min;
this.max = max;
+ this.translation = translate;
+ this.inverseTranslation = translate.entrySet().stream()
+ .collect(Collectors.toMap(Map.Entry::getValue, Map.Entry::getKey));
+ }
+
+ public GT_GuiShortTextBox(IGuiScreen gui, int id, int x, int y, int width, int height, int min, int max) {
+ this(gui, id, x, y, width, height, min, max, new HashMap<>());
}
public GT_GuiShortTextBox(IGuiScreen gui, int id, int x, int y, int width, int height) {
@@ -354,6 +366,17 @@ public abstract class GT_Cover_AdvancedWirelessRedstoneBase<T extends GT_Cover_A
return true;
}
+
+ @Override
+ public String getText() {
+ String text = super.getText();
+ return inverseTranslation.getOrDefault(text, text);
+ }
+
+ @Override
+ public void setText(String text) {
+ super.setText(translation.getOrDefault(text, text));
+ }
}
}
}