diff options
author | Matej Dipčár <492666@mail.muni.cz> | 2022-09-22 02:43:17 +0200 |
---|---|---|
committer | Matej Dipčár <492666@mail.muni.cz> | 2022-09-23 02:15:54 +0200 |
commit | a579d5eefc4af9cdb6f83fdd3ab8e16ed569633b (patch) | |
tree | 82761ac898be97b9a9b007f5ab7d6e59a76d8f65 /src/main | |
parent | dd864a65681ab537289071dc16fac0c448855959 (diff) | |
download | GT5-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.java | 27 |
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)); + } } } } |