aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/covers
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/common/covers')
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Arm.java94
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_EUMeter.java39
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_FluidLimiter.java11
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java45
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java90
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_LiquidMeter.java43
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java25
-rw-r--r--src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedWirelessRedstoneBase.java14
-rw-r--r--src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessFluidDetector.java40
-rw-r--r--src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessItemDetector.java68
10 files changed, 235 insertions, 234 deletions
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Arm.java b/src/main/java/gregtech/common/covers/GT_Cover_Arm.java
index dc44e2b390..f2440ebc44 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_Arm.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_Arm.java
@@ -1,16 +1,16 @@
package gregtech.common.covers;
-import net.minecraft.client.gui.GuiScreen;
+import java.text.FieldPosition;
+
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.Fluid;
-import com.gtnewhorizons.modularui.api.math.MathExpression;
+import com.gtnewhorizons.modularui.api.NumberFormatMUI;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
import com.gtnewhorizons.modularui.common.widget.TextWidget;
-import com.gtnewhorizons.modularui.common.widget.textfield.BaseTextFieldWidget;
import gregtech.api.gui.modularui.GT_CoverUIBuildContext;
import gregtech.api.gui.modularui.GT_UITextures;
@@ -21,7 +21,7 @@ import gregtech.api.util.GT_CoverBehavior;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.ISerializableObject;
import gregtech.common.gui.modularui.widget.CoverDataControllerWidget;
-import gregtech.common.gui.modularui.widget.CoverDataFollower_TextFieldWidget;
+import gregtech.common.gui.modularui.widget.CoverDataFollower_NumericWidget;
import gregtech.common.gui.modularui.widget.CoverDataFollower_ToggleButtonWidget;
public class GT_Cover_Arm extends GT_CoverBehavior {
@@ -34,10 +34,6 @@ public class GT_Cover_Arm extends GT_CoverBehavior {
protected static final int SLOT_ID_MIN = 0;
protected static final int CONVERTED_BIT = 0x80000000;
- // This used to be translatable, but now that cover GUI is synced with server, having conflicting texts
- // among players doesn't make sense.
- private static final String ANY_TEXT = "Any";
-
public GT_Cover_Arm(int aTickRate, ITexture coverTexture) {
super(coverTexture);
this.mTickRate = aTickRate;
@@ -299,6 +295,21 @@ public class GT_Cover_Arm extends GT_CoverBehavior {
private int maxSlot;
+ /**
+ * Display the text "Any" instead of a number when the slot is set to -1.
+ */
+ protected static final NumberFormatMUI numberFormatAny = new NumberFormatMUI() {
+
+ @Override
+ public StringBuffer format(double number, StringBuffer toAppendTo, FieldPosition pos) {
+ if (number < 0) {
+ return toAppendTo.append(GT_Utility.trans("ANY", "Any"));
+ } else {
+ return super.format(number, toAppendTo, pos);
+ }
+ }
+ };
+
protected ArmUIFactory(GT_CoverUIBuildContext buildContext) {
super(buildContext);
}
@@ -339,41 +350,34 @@ public class GT_Cover_Arm extends GT_CoverBehavior {
.addTooltip(GT_Utility.trans("007", "Import"))
.setPos(spaceX * 1, spaceY * 0))
.addFollower(
- new CoverDataFollower_TextFieldWidget<>(),
- coverData -> getTextFieldContent(getFlagInternalSlot(convert(coverData)) - 1),
+ new CoverDataFollower_NumericWidget<>(),
+ coverData -> (double) (getFlagInternalSlot(convert(coverData)) - 1),
(coverData, state) -> {
final int coverVariable = convert(coverData);
return new ISerializableObject.LegacyCoverData(
- getFlagExport(coverVariable) | ((getIntFromText(state) + 1) & SLOT_ID_MASK)
+ getFlagExport(coverVariable) | ((state.intValue() + 1) & SLOT_ID_MASK)
| (getFlagAdjacentSlot(coverVariable) << 14)
| CONVERTED_BIT);
},
- widget -> widget.setOnScrollText()
- .setValidator(val -> {
- final int valSlot = getIntFromText(val);
- if (valSlot > -1) {
- return widget.getDecimalFormatter()
- .format(Math.min(valSlot, maxSlot));
- } else {
- return ANY_TEXT;
- }
- })
- .setPattern(BaseTextFieldWidget.NATURAL_NUMS)
- .setFocusOnGuiOpen(true)
+ widget -> widget.setBounds(-1, maxSlot)
+ .setDefaultValue(-1)
+ .setScrollValues(1, 100, 10)
+ .setNumberFormat(numberFormatAny)
.setPos(spaceX * 0, spaceY * 1 + 2)
.setSize(spaceX * 2 + 5, 12))
.addFollower(
- new CoverDataFollower_TextFieldWidget<>(),
- coverData -> getTextFieldContent(getFlagAdjacentSlot(convert(coverData)) - 1),
+ new CoverDataFollower_NumericWidget<>(),
+ coverData -> (double) (getFlagAdjacentSlot(convert(coverData)) - 1),
(coverData, state) -> {
final int coverVariable = convert(coverData);
return new ISerializableObject.LegacyCoverData(
getFlagExport(coverVariable) | getFlagInternalSlot(coverVariable)
- | (((getIntFromText(state) + 1) & SLOT_ID_MASK) << 14)
+ | (((state.intValue() + 1) & SLOT_ID_MASK) << 14)
| CONVERTED_BIT);
},
widget -> widget.setValidator(val -> {
- final int valSlot = getIntFromText(val);
+ // We need to check the adjacent inventory here, and can't simply set a maximum value,
+ // because it can change while this cover is alive.
final int adjacentMaxSlot;
final ICoverable tile = getUIBuildContext().getTile();
if (tile instanceof TileEntity && !tile.isDead()) {
@@ -384,30 +388,20 @@ public class GT_Cover_Arm extends GT_CoverBehavior {
} else {
adjacentMaxSlot = -1;
}
- if (valSlot > -1) {
- return widget.getDecimalFormatter()
- .format(Math.min(valSlot, adjacentMaxSlot));
- } else {
- return ANY_TEXT;
- }
+ return Math.min(val, adjacentMaxSlot);
})
- .setOnScroll((text, direction) -> {
- final int val = getIntFromText(text);
- int step = (GuiScreen.isShiftKeyDown() ? 50 : GuiScreen.isCtrlKeyDown() ? 5 : 1)
- * direction;
- return widget.getDecimalFormatter()
- .format(val + step);
- })
- .setPattern(BaseTextFieldWidget.NATURAL_NUMS)
+ .setMinValue(-1)
+ .setDefaultValue(-1)
+ .setScrollValues(1, 100, 10)
+ .setNumberFormat(numberFormatAny)
.setPos(spaceX * 0, spaceY * 2 + 2)
.setSize(spaceX * 2 + 5, 12))
.setPos(startX, startY))
.widget(
- TextWidget
- .dynamicString(
+ new TextWidget()
+ .setStringSupplier(
() -> (convert(getCoverData()) & EXPORT_MASK) > 0 ? GT_Utility.trans("006", "Export")
: GT_Utility.trans("007", "Import"))
- .setSynced(false)
.setDefaultColor(COLOR_TEXT_GRAY.get())
.setPos(startX + spaceX * 3, 4 + startY + spaceY * 0))
.widget(
@@ -427,18 +421,6 @@ public class GT_Cover_Arm extends GT_CoverBehavior {
}
}
- private String getTextFieldContent(int val) {
- return val < 0 ? ANY_TEXT : String.valueOf(val);
- }
-
- private int getIntFromText(String text) {
- try {
- return (int) MathExpression.parseMathExpression(text, -1);
- } catch (Exception e) {
- return -1;
- }
- }
-
private int getFlagExport(int coverVariable) {
return coverVariable & EXPORT_MASK;
}
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_EUMeter.java b/src/main/java/gregtech/common/covers/GT_Cover_EUMeter.java
index de1f934a71..0010f7745b 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_EUMeter.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_EUMeter.java
@@ -13,8 +13,8 @@ import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.Fluid;
import com.google.common.io.ByteArrayDataInput;
-import com.gtnewhorizons.modularui.api.math.MathExpression;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
+import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget;
import com.gtnewhorizons.modularui.common.widget.TextWidget;
import gregtech.api.gui.modularui.GT_CoverUIBuildContext;
@@ -29,7 +29,7 @@ import gregtech.api.util.GT_Utility;
import gregtech.api.util.ISerializableObject;
import gregtech.common.gui.modularui.widget.CoverDataControllerWidget;
import gregtech.common.gui.modularui.widget.CoverDataFollower_CycleButtonWidget;
-import gregtech.common.gui.modularui.widget.CoverDataFollower_TextFieldWidget;
+import gregtech.common.gui.modularui.widget.CoverDataFollower_NumericWidget;
import gregtech.common.gui.modularui.widget.CoverDataFollower_ToggleButtonWidget;
import io.netty.buffer.ByteBuf;
@@ -199,6 +199,8 @@ public class GT_Cover_EUMeter extends GT_CoverBehaviorBase<GT_Cover_EUMeter.EUMe
final String INVERTED = GT_Utility.trans("INVERTED", "Inverted");
final String NORMAL = GT_Utility.trans("NORMAL", "Normal");
+ final CoverDataFollower_NumericWidget<EUMeterData> numericWidget = new CoverDataFollower_NumericWidget<>();
+
builder.widget(
new CoverDataControllerWidget<>(this::getCoverData, this::setCoverData, GT_Cover_EUMeter.this)
.addFollower(
@@ -224,33 +226,36 @@ public class GT_Cover_EUMeter extends GT_CoverBehaviorBase<GT_Cover_EUMeter.EUMe
widget -> widget.addTooltip(0, NORMAL)
.addTooltip(1, INVERTED)
.setPos(spaceX * 0, spaceY * 1))
- .addFollower(
- new CoverDataFollower_TextFieldWidget<>(),
- coverData -> String.valueOf(coverData.threshold),
- (coverData, state) -> {
- coverData.threshold = (long) MathExpression.parseMathExpression(state);
- return coverData;
- },
- widget -> widget.setOnScrollNumbersLong(1000, 100, 100000)
- .setNumbersLong(() -> 0L, () -> Long.MAX_VALUE)
+ .addFollower(numericWidget, coverData -> (double) coverData.threshold, (coverData, state) -> {
+ coverData.threshold = state.longValue();
+ return coverData;
+ },
+ widget -> widget.setScrollValues(1000, 100, 100000)
.setFocusOnGuiOpen(true)
.setPos(spaceX * 0, spaceY * 2 + 2)
.setSize(spaceX * 8, 12))
.setPos(startX, startY))
.widget(
- TextWidget.dynamicString(() -> getCoverData() != null ? getCoverData().type.getTitle() : "")
- .setSynced(false)
+ new TextWidget()
+ .setStringSupplier(() -> getCoverData() != null ? getCoverData().type.getTitle() : "")
.setDefaultColor(COLOR_TEXT_GRAY.get())
.setPos(startX + spaceX, 4 + startY))
.widget(
- TextWidget
- .dynamicString(() -> getCoverData() != null ? getCoverData().inverted ? INVERTED : NORMAL : "")
- .setSynced(false)
+ new TextWidget()
+ .setStringSupplier(
+ () -> getCoverData() != null ? getCoverData().inverted ? INVERTED : NORMAL : "")
.setDefaultColor(COLOR_TEXT_GRAY.get())
.setPos(startX + spaceX, 4 + startY + spaceY))
.widget(
new TextWidget(GT_Utility.trans("222.1", "Energy threshold")).setDefaultColor(COLOR_TEXT_GRAY.get())
- .setPos(startX, startY + spaceY * 3 + 4));
+ .setPos(startX, startY + spaceY * 3 + 4))
+
+ .widget(
+ new FakeSyncWidget.LongSyncer(
+ () -> getCoverData() != null
+ ? getCoverData().type.getTileEntityEnergyCapacity(getUIBuildContext().getTile())
+ : Long.MAX_VALUE,
+ value -> numericWidget.setMaxValue(value)));
}
}
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_FluidLimiter.java b/src/main/java/gregtech/common/covers/GT_Cover_FluidLimiter.java
index 871f89a07b..142cb875c3 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_FluidLimiter.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_FluidLimiter.java
@@ -13,7 +13,6 @@ import net.minecraftforge.fluids.FluidTankInfo;
import net.minecraftforge.fluids.IFluidHandler;
import com.google.common.io.ByteArrayDataInput;
-import com.gtnewhorizons.modularui.api.math.MathExpression;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
import com.gtnewhorizons.modularui.common.widget.TextWidget;
@@ -24,7 +23,7 @@ import gregtech.api.util.GT_CoverBehaviorBase;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.ISerializableObject;
import gregtech.common.gui.modularui.widget.CoverDataControllerWidget;
-import gregtech.common.gui.modularui.widget.CoverDataFollower_TextFieldWidget;
+import gregtech.common.gui.modularui.widget.CoverDataFollower_NumericWidget;
import io.netty.buffer.ByteBuf;
/***
@@ -190,13 +189,13 @@ public class GT_Cover_FluidLimiter extends GT_CoverBehaviorBase<GT_Cover_FluidLi
builder.widget(
new CoverDataControllerWidget<>(this::getCoverData, this::setCoverData, GT_Cover_FluidLimiter.this)
.addFollower(
- new CoverDataFollower_TextFieldWidget<>(),
- coverData -> String.valueOf(Math.round(coverData.threshold * 100)),
+ new CoverDataFollower_NumericWidget<>(),
+ coverData -> (double) Math.round(coverData.threshold * 100),
(coverData, val) -> {
- coverData.threshold = (float) (MathExpression.parseMathExpression(val) / 100);
+ coverData.threshold = val.floatValue() / 100;
return coverData;
},
- widget -> widget.setNumbers(0, 100)
+ widget -> widget.setBounds(0, 100)
.setFocusOnGuiOpen(true)
.setPos(startX, startY + spaceY * 2 - 24)
.setSize(spaceX * 4 - 3, 12)))
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java b/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java
index 7d2afb838d..483f882e91 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java
@@ -15,11 +15,10 @@ import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidHandler;
import com.google.common.io.ByteArrayDataInput;
+import com.gtnewhorizons.modularui.api.NumberFormatMUI;
import com.gtnewhorizons.modularui.api.drawable.Text;
-import com.gtnewhorizons.modularui.api.math.MathExpression;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
import com.gtnewhorizons.modularui.common.widget.TextWidget;
-import com.gtnewhorizons.modularui.common.widget.textfield.BaseTextFieldWidget;
import gregtech.api.gui.modularui.GT_CoverUIBuildContext;
import gregtech.api.gui.modularui.GT_UITextures;
@@ -30,7 +29,7 @@ import gregtech.api.util.GT_CoverBehaviorBase;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.ISerializableObject;
import gregtech.common.gui.modularui.widget.CoverDataControllerWidget;
-import gregtech.common.gui.modularui.widget.CoverDataFollower_TextFieldWidget;
+import gregtech.common.gui.modularui.widget.CoverDataFollower_NumericWidget;
import gregtech.common.gui.modularui.widget.CoverDataFollower_ToggleButtonWidget;
import io.netty.buffer.ByteBuf;
@@ -252,6 +251,12 @@ public class GT_Cover_FluidRegulator extends GT_CoverBehaviorBase<GT_Cover_Fluid
private static final int spaceX = 18;
private static final int spaceY = 18;
+ private static final NumberFormatMUI numberFormat;
+ static {
+ numberFormat = new NumberFormatMUI();
+ numberFormat.setMaximumFractionDigits(2);
+ }
+
public FluidRegulatorUIFactory(GT_CoverUIBuildContext buildContext) {
super(buildContext);
}
@@ -314,14 +319,14 @@ public class GT_Cover_FluidRegulator extends GT_CoverBehaviorBase<GT_Cover_Fluid
.addTooltip(GT_Utility.trans("343.1", "Use Inverted Machine Processing State"))
.setPos(spaceX * 2, spaceY * 1))
.addFollower(
- new CoverDataFollower_TextFieldWidget<>(),
- coverData -> String.valueOf(coverData.speed),
+ new CoverDataFollower_NumericWidget<>(),
+ coverData -> (double) coverData.speed,
(coverData, state) -> {
- coverData.speed = (int) MathExpression.parseMathExpression(state);
+ coverData.speed = state.intValue();
return coverData;
},
- widget -> widget.setOnScrollNumbersLong(1, 5, 50)
- .setNumbersLong(val -> {
+ widget -> widget.setBounds(Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY)
+ .setValidator(val -> {
final int tickRate = getCoverData() != null ? getCoverData().tickRate : 0;
final long maxFlow = (long) mTransferRate
* GT_Utility.clamp(tickRate, TICK_RATE_MIN, TICK_RATE_MAX);
@@ -335,19 +340,19 @@ public class GT_Cover_FluidRegulator extends GT_CoverBehaviorBase<GT_Cover_Fluid
}
return val;
})
- .setPattern(BaseTextFieldWidget.WHOLE_NUMS)
+ .setScrollValues(1, 144, 1000)
.setFocusOnGuiOpen(true)
.setPos(spaceX * 0, spaceY * 2 + 2)
.setSize(spaceX * 4 - 3, 12))
.addFollower(
- new CoverDataFollower_TextFieldWidget<>(),
- coverData -> String.valueOf(coverData.tickRate),
+ new CoverDataFollower_NumericWidget<>(),
+ coverData -> (double) coverData.tickRate,
(coverData, state) -> {
- coverData.tickRate = (int) MathExpression.parseMathExpression(state);
+ coverData.tickRate = state.intValue();
return coverData;
},
- widget -> widget.setOnScrollNumbersLong(1, 5, 50)
- .setNumbersLong(val -> {
+ widget -> widget.setBounds(0, TICK_RATE_MAX)
+ .setValidator(val -> {
final int speed = getCoverData() != null ? getCoverData().speed : 0;
warn.set(false);
if (val > TICK_RATE_MAX) {
@@ -362,7 +367,6 @@ public class GT_Cover_FluidRegulator extends GT_CoverBehaviorBase<GT_Cover_Fluid
}
return val;
})
- .setPattern(BaseTextFieldWidget.WHOLE_NUMS)
.setPos(spaceX * 5, spaceY * 2 + 2)
.setSize(spaceX * 2 - 3, 12))
.setPos(startX, startY))
@@ -378,16 +382,17 @@ public class GT_Cover_FluidRegulator extends GT_CoverBehaviorBase<GT_Cover_Fluid
.widget(
new TextWidget(GT_Utility.trans("209", " ticks")).setDefaultColor(COLOR_TEXT_GRAY.get())
.setPos(startX + spaceX * 7, 4 + startY + spaceY * 2))
- .widget(TextWidget.dynamicText(() -> {
+ .widget(new TextWidget().setTextSupplier(() -> {
FluidRegulatorData coverVariable = getCoverData();
if (coverVariable == null) return new Text("");
return new Text(
- String.format(
- GT_Utility.trans("210", "Average: %.2f L/sec"),
- coverVariable.tickRate == 0 ? 0 : coverVariable.speed * 20d / coverVariable.tickRate))
+ GT_Utility.trans("210.1", "Average:") + " "
+ + numberFormat.format(
+ coverVariable.tickRate == 0 ? 0 : coverVariable.speed * 20d / coverVariable.tickRate)
+ + " "
+ + GT_Utility.trans("210.2", "L/sec"))
.color(warn.get() ? COLOR_TEXT_WARN.get() : COLOR_TEXT_GRAY.get());
})
- .setSynced(false)
.setPos(startX + spaceX * 0, 4 + startY + spaceY * 3));
}
}
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java b/src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java
index 2339bd2243..bb2364cf0e 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java
@@ -1,5 +1,7 @@
package gregtech.common.covers;
+import java.text.FieldPosition;
+
import javax.annotation.Nonnull;
import net.minecraft.entity.player.EntityPlayer;
@@ -12,10 +14,9 @@ import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.Fluid;
import com.google.common.io.ByteArrayDataInput;
-import com.gtnewhorizons.modularui.api.math.MathExpression;
+import com.gtnewhorizons.modularui.api.NumberFormatMUI;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
import com.gtnewhorizons.modularui.common.widget.TextWidget;
-import com.gtnewhorizons.modularui.common.widget.textfield.BaseTextFieldWidget;
import gregtech.api.gui.modularui.GT_CoverUIBuildContext;
import gregtech.api.interfaces.ITexture;
@@ -26,7 +27,7 @@ import gregtech.api.util.GT_CoverBehaviorBase;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.ISerializableObject;
import gregtech.common.gui.modularui.widget.CoverDataControllerWidget;
-import gregtech.common.gui.modularui.widget.CoverDataFollower_TextFieldWidget;
+import gregtech.common.gui.modularui.widget.CoverDataFollower_NumericWidget;
import gregtech.common.gui.modularui.widget.CoverDataFollower_ToggleButtonWidget;
import gregtech.common.gui.modularui.widget.ItemWatcherSlotWidget;
import gregtech.common.tileentities.machines.GT_MetaTileEntity_Hatch_OutputBus_ME;
@@ -204,7 +205,21 @@ public class GT_Cover_ItemMeter extends GT_CoverBehaviorBase<GT_Cover_ItemMeter.
private static final int startY = 25;
private static final int spaceX = 18;
private static final int spaceY = 18;
- private static final String ALL_TEXT = "All";
+
+ /**
+ * Display the text "All" instead of a number when the slot is set to -1.
+ */
+ protected static final NumberFormatMUI numberFormatAll = new NumberFormatMUI() {
+
+ @Override
+ public StringBuffer format(double number, StringBuffer toAppendTo, FieldPosition pos) {
+ if (number < 0) {
+ return toAppendTo.append(GT_Utility.trans("ALL", "All"));
+ } else {
+ return super.format(number, toAppendTo, pos);
+ }
+ }
+ };
private int maxSlot;
private int maxThreshold;
@@ -234,53 +249,46 @@ public class GT_Cover_ItemMeter extends GT_CoverBehaviorBase<GT_Cover_ItemMeter.
.addTooltip(1, INVERTED)
.setPos(0, 0))
.addFollower(
- new CoverDataFollower_TextFieldWidget<>(),
- coverData -> getSlotTextFieldContent(coverData.slot),
+ new CoverDataFollower_NumericWidget<>(),
+ coverData -> (double) coverData.threshold,
(coverData, state) -> {
- coverData.slot = getIntFromText(state);
+ coverData.threshold = state.intValue();
return coverData;
},
- widget -> widget.setOnScrollText()
- .setValidator(val -> {
- final int valSlot = getIntFromText(val);
- if (valSlot > -1) {
- return widget.getDecimalFormatter()
- .format(Math.min(valSlot, maxSlot));
- } else {
- return ALL_TEXT;
- }
- })
- .setPattern(BaseTextFieldWidget.NATURAL_NUMS)
+ widget -> widget.setBounds(0, maxThreshold)
+ .setScrollValues(1, 64, 1000)
.setFocusOnGuiOpen(true)
- .setPos(0, spaceY + 2)
- .setSize(spaceX * 2 + 5, 12))
+ .setPos(0, 2 + spaceY)
+ .setSize(spaceX * 4 + 5, 12))
.addFollower(
- new CoverDataFollower_TextFieldWidget<>(),
- coverData -> String.valueOf(coverData.threshold),
+ new CoverDataFollower_NumericWidget<>(),
+ coverData -> (double) coverData.slot,
(coverData, state) -> {
- coverData.threshold = (int) MathExpression.parseMathExpression(state);
+ coverData.slot = state.intValue();
return coverData;
},
- widget -> widget.setOnScrollNumbers(1, 10, 64)
- .setNumbers(0, maxThreshold)
- .setPos(0, spaceY * 2 + 2)
- .setSize(spaceX * 4 + 5, 12))
+ widget -> widget.setBounds(-1, maxSlot)
+ .setDefaultValue(-1)
+ .setScrollValues(1, 100, 10)
+ .setNumberFormat(numberFormatAll)
+ .setPos(0, 2 + spaceY * 2)
+ .setSize(spaceX * 3 + 1, 12))
.setPos(startX, startY))
.widget(
new ItemWatcherSlotWidget().setGetter(this::getTargetItem)
- .setPos(startX + spaceX * 8 - 4, startY + spaceY))
+ .setPos(startX + spaceX * 3 + 8, startY + spaceY * 2))
.widget(
- TextWidget
- .dynamicString(() -> getCoverData() != null ? getCoverData().inverted ? INVERTED : NORMAL : "")
- .setSynced(false)
+ new TextWidget()
+ .setStringSupplier(
+ () -> getCoverData() != null ? getCoverData().inverted ? INVERTED : NORMAL : "")
.setDefaultColor(COLOR_TEXT_GRAY.get())
- .setPos(startX + spaceX * 3, 4 + startY))
+ .setPos(startX + spaceX, 4 + startY))
.widget(
- new TextWidget(GT_Utility.trans("254", "Detect slot#")).setDefaultColor(COLOR_TEXT_GRAY.get())
- .setPos(startX + spaceX * 3, 4 + startY + spaceY))
+ new TextWidget(GT_Utility.trans("254", "Detect slot #")).setDefaultColor(COLOR_TEXT_GRAY.get())
+ .setPos(startX + spaceX * 4 + 9, 4 + startY + spaceY * 2))
.widget(
new TextWidget(GT_Utility.trans("221", "Item threshold")).setDefaultColor(COLOR_TEXT_GRAY.get())
- .setPos(startX + spaceX * 5 - 10, startY + spaceY * 2 + 4));
+ .setPos(startX + spaceX * 4 + 9, 4 + startY + spaceY));
}
private void setMaxSlot() {
@@ -303,18 +311,6 @@ public class GT_Cover_ItemMeter extends GT_CoverBehaviorBase<GT_Cover_ItemMeter.
}
}
- private int getIntFromText(String text) {
- try {
- return (int) MathExpression.parseMathExpression(text, -1);
- } catch (Exception e) {
- return -1;
- }
- }
-
- private String getSlotTextFieldContent(int val) {
- return val < 0 ? ALL_TEXT : String.valueOf(val);
- }
-
private ItemStack getTargetItem() {
ItemMeterData coverVariable = getCoverData();
if (coverVariable == null || coverVariable.slot < 0) {
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_LiquidMeter.java b/src/main/java/gregtech/common/covers/GT_Cover_LiquidMeter.java
index e011954cdd..c3a4b4ff89 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_LiquidMeter.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_LiquidMeter.java
@@ -15,7 +15,6 @@ import net.minecraftforge.fluids.FluidTankInfo;
import net.minecraftforge.fluids.IFluidHandler;
import com.google.common.io.ByteArrayDataInput;
-import com.gtnewhorizons.modularui.api.math.MathExpression;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
import com.gtnewhorizons.modularui.common.widget.TextWidget;
@@ -27,7 +26,7 @@ import gregtech.api.util.GT_CoverBehaviorBase;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.ISerializableObject;
import gregtech.common.gui.modularui.widget.CoverDataControllerWidget;
-import gregtech.common.gui.modularui.widget.CoverDataFollower_TextFieldWidget;
+import gregtech.common.gui.modularui.widget.CoverDataFollower_NumericWidget;
import gregtech.common.gui.modularui.widget.CoverDataFollower_ToggleButtonWidget;
import gregtech.common.tileentities.storage.GT_MetaTileEntity_DigitalTankBase;
import io.netty.buffer.ByteBuf;
@@ -178,6 +177,7 @@ public class GT_Cover_LiquidMeter extends GT_CoverBehaviorBase<GT_Cover_LiquidMe
private static final int startY = 25;
private static final int spaceX = 18;
private static final int spaceY = 18;
+ private int maxCapacity;
public LiquidMeterUIFactory(GT_CoverUIBuildContext buildContext) {
super(buildContext);
@@ -188,17 +188,8 @@ public class GT_Cover_LiquidMeter extends GT_CoverBehaviorBase<GT_Cover_LiquidMe
protected void addUIWidgets(ModularWindow.Builder builder) {
final String INVERTED = GT_Utility.trans("INVERTED", "Inverted");
final String NORMAL = GT_Utility.trans("NORMAL", "Normal");
- final int maxCapacity;
- if (getUIBuildContext().getTile() instanceof IFluidHandler) {
- FluidTankInfo[] tanks = ((IFluidHandler) getUIBuildContext().getTile())
- .getTankInfo(ForgeDirection.UNKNOWN);
- maxCapacity = Arrays.stream(tanks)
- .mapToInt(tank -> tank.capacity)
- .sum();
- } else {
- maxCapacity = -1;
- }
+ setMaxCapacity();
builder.widget(
new CoverDataControllerWidget<>(this::getCoverData, this::setCoverData, GT_Cover_LiquidMeter.this)
@@ -213,28 +204,40 @@ public class GT_Cover_LiquidMeter extends GT_CoverBehaviorBase<GT_Cover_LiquidMe
.addTooltip(1, INVERTED)
.setPos(spaceX * 0, spaceY * 0))
.addFollower(
- new CoverDataFollower_TextFieldWidget<>(),
- coverData -> String.valueOf(coverData.threshold),
+ new CoverDataFollower_NumericWidget<>(),
+ coverData -> (double) coverData.threshold,
(coverData, state) -> {
- coverData.threshold = (int) MathExpression.parseMathExpression(state);
+ coverData.threshold = state.intValue();
return coverData;
},
- widget -> widget.setOnScrollNumbers(1000, 100, 100000)
- .setNumbers(0, maxCapacity > 0 ? maxCapacity : Integer.MAX_VALUE)
+ widget -> widget.setBounds(0, maxCapacity > 0 ? maxCapacity : Integer.MAX_VALUE)
+ .setScrollValues(1000, 144, 100000)
.setFocusOnGuiOpen(true)
.setPos(spaceX * 0, spaceY * 1 + 2)
.setSize(spaceX * 4 + 5, 12))
.setPos(startX, startY))
.widget(
- TextWidget
- .dynamicString(() -> getCoverData() != null ? getCoverData().inverted ? INVERTED : NORMAL : "")
- .setSynced(false)
+ new TextWidget()
+ .setStringSupplier(
+ () -> getCoverData() != null ? getCoverData().inverted ? INVERTED : NORMAL : "")
.setDefaultColor(COLOR_TEXT_GRAY.get())
.setPos(startX + spaceX * 1, 4 + startY + spaceY * 0))
.widget(
new TextWidget(GT_Utility.trans("222", "Fluid threshold")).setDefaultColor(COLOR_TEXT_GRAY.get())
.setPos(startX + spaceX * 5 - 10, startY + spaceY * 1 + 4));
}
+
+ private void setMaxCapacity() {
+ final ICoverable tile = getUIBuildContext().getTile();
+ if (!tile.isDead() && tile instanceof IFluidHandler) {
+ FluidTankInfo[] tanks = ((IFluidHandler) tile).getTankInfo(ForgeDirection.UNKNOWN);
+ maxCapacity = Arrays.stream(tanks)
+ .mapToInt(tank -> tank.capacity)
+ .sum();
+ } else {
+ maxCapacity = -1;
+ }
+ }
}
public static class LiquidMeterData implements ISerializableObject {
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java
index 45441025e5..df298c2489 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java
@@ -4,7 +4,6 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.Fluid;
-import com.gtnewhorizons.modularui.api.math.MathExpression;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
import com.gtnewhorizons.modularui.common.widget.TextWidget;
@@ -16,7 +15,7 @@ import gregtech.api.util.GT_CoverBehavior;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.ISerializableObject;
import gregtech.common.gui.modularui.widget.CoverDataControllerWidget;
-import gregtech.common.gui.modularui.widget.CoverDataFollower_TextFieldWidget;
+import gregtech.common.gui.modularui.widget.CoverDataFollower_NumericWidget;
import gregtech.common.gui.modularui.widget.CoverDataFollower_ToggleButtonWidget;
public abstract class GT_Cover_RedstoneWirelessBase extends GT_CoverBehavior {
@@ -195,16 +194,18 @@ public abstract class GT_Cover_RedstoneWirelessBase extends GT_CoverBehavior {
new CoverDataControllerWidget<>(
this::getCoverData,
this::setCoverData,
- GT_Cover_RedstoneWirelessBase.this).addFollower(
- new CoverDataFollower_TextFieldWidget<>(),
- coverData -> String.valueOf(getFlagFrequency(convert(coverData))),
- (coverData, text) -> new ISerializableObject.LegacyCoverData(
- (int) MathExpression.parseMathExpression(text) | getFlagCheckbox(convert(coverData))),
- widget -> widget.setOnScrollNumbers()
- .setNumbers(0, MAX_CHANNEL)
- .setFocusOnGuiOpen(true)
- .setPos(spaceX * 0, spaceY * 0 + 2)
- .setSize(spaceX * 4 - 3, 12))
+ GT_Cover_RedstoneWirelessBase.this)
+
+ .addFollower(
+ new CoverDataFollower_NumericWidget<>(),
+ coverData -> (double) getFlagFrequency(convert(coverData)),
+ (coverData, state) -> new ISerializableObject.LegacyCoverData(
+ state.intValue() | getFlagCheckbox(convert(coverData))),
+ widget -> widget.setBounds(0, MAX_CHANNEL)
+ .setScrollValues(1, 1000, 10)
+ .setFocusOnGuiOpen(true)
+ .setPos(spaceX * 0, spaceY * 0 + 2)
+ .setSize(spaceX * 4 - 3, 12))
.addFollower(
CoverDataFollower_ToggleButtonWidget.ofCheck(),
coverData -> getFlagCheckbox(convert(coverData)) > 0,
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 e04a6664ac..d19db38177 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
@@ -13,7 +13,6 @@ import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.Fluid;
import com.google.common.io.ByteArrayDataInput;
-import com.gtnewhorizons.modularui.api.math.MathExpression;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
import com.gtnewhorizons.modularui.common.widget.TextWidget;
@@ -25,7 +24,7 @@ import gregtech.api.util.GT_CoverBehaviorBase;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.ISerializableObject;
import gregtech.common.gui.modularui.widget.CoverDataControllerWidget;
-import gregtech.common.gui.modularui.widget.CoverDataFollower_TextFieldWidget;
+import gregtech.common.gui.modularui.widget.CoverDataFollower_NumericWidget;
import gregtech.common.gui.modularui.widget.CoverDataFollower_ToggleButtonWidget;
import io.netty.buffer.ByteBuf;
@@ -270,15 +269,14 @@ public abstract class GT_Cover_AdvancedWirelessRedstoneBase<T extends GT_Cover_A
protected void addUIForDataController(CoverDataControllerWidget<T> controller) {
controller.addFollower(
- new CoverDataFollower_TextFieldWidget<>(),
- coverData -> String.valueOf(coverData.frequency),
+ new CoverDataFollower_NumericWidget<>(),
+ coverData -> (double) coverData.frequency,
(coverData, state) -> {
- coverData.frequency = (int) MathExpression.parseMathExpression(state);
+ coverData.frequency = state.intValue();
return coverData;
},
- widget -> widget.setOnScrollNumbers()
- .setNumbers(0, Integer.MAX_VALUE)
- .setFocusOnGuiOpen(true)
+ widget -> widget.setScrollValues(1, 1000, 10)
+ .setBounds(0, Integer.MAX_VALUE)
.setPos(1, 2 + spaceY * getFrequencyRow())
.setSize(spaceX * 5 - 4, 12))
.addFollower(
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 ab5d26356f..9a9d419be6 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
@@ -1,5 +1,6 @@
package gregtech.common.covers.redstone;
+import java.util.Arrays;
import java.util.UUID;
import javax.annotation.Nonnull;
@@ -8,9 +9,10 @@ import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.nbt.NBTBase;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.ForgeDirection;
+import net.minecraftforge.fluids.FluidTankInfo;
+import net.minecraftforge.fluids.IFluidHandler;
import com.google.common.io.ByteArrayDataInput;
-import com.gtnewhorizons.modularui.api.math.MathExpression;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
import com.gtnewhorizons.modularui.common.widget.TextWidget;
@@ -21,7 +23,7 @@ import gregtech.api.util.GT_Utility;
import gregtech.api.util.ISerializableObject;
import gregtech.common.covers.GT_Cover_LiquidMeter;
import gregtech.common.gui.modularui.widget.CoverDataControllerWidget;
-import gregtech.common.gui.modularui.widget.CoverDataFollower_TextFieldWidget;
+import gregtech.common.gui.modularui.widget.CoverDataFollower_NumericWidget;
import io.netty.buffer.ByteBuf;
public class GT_Cover_WirelessFluidDetector
@@ -127,42 +129,58 @@ public class GT_Cover_WirelessFluidDetector
private class WirelessFluidDetectorUIFactory extends AdvancedRedstoneTransmitterBaseUIFactory {
+ private int maxCapacity;
+
public WirelessFluidDetectorUIFactory(GT_CoverUIBuildContext buildContext) {
super(buildContext);
}
@Override
protected int getFrequencyRow() {
- return 1;
+ return 0;
}
@Override
protected int getButtonRow() {
- return 2;
+ return 1;
}
@Override
protected void addUIWidgets(ModularWindow.Builder builder) {
+ setMaxCapacity();
super.addUIWidgets(builder);
builder.widget(
new TextWidget(GT_Utility.trans("222", "Fluid threshold")).setDefaultColor(COLOR_TEXT_GRAY.get())
- .setPos(startX + spaceX * 5, 4 + startY));
+ .setPos(startX + spaceX * 5, 4 + startY + spaceY * 2));
}
@Override
protected void addUIForDataController(CoverDataControllerWidget<FluidTransmitterData> controller) {
super.addUIForDataController(controller);
controller.addFollower(
- new CoverDataFollower_TextFieldWidget<>(),
- coverData -> String.valueOf(coverData.threshold),
+ new CoverDataFollower_NumericWidget<>(),
+ coverData -> (double) coverData.threshold,
(coverData, state) -> {
- coverData.threshold = (int) MathExpression.parseMathExpression(state);
+ coverData.threshold = state.intValue();
return coverData;
},
- widget -> widget.setOnScrollNumbers()
- .setNumbers(0, Integer.MAX_VALUE)
- .setPos(1, 2)
+ widget -> widget.setBounds(0, maxCapacity > 0 ? maxCapacity : Integer.MAX_VALUE)
+ .setScrollValues(1000, 144, 100000)
+ .setFocusOnGuiOpen(true)
+ .setPos(1, 2 + spaceY * 2)
.setSize(spaceX * 5 - 4, 12));
}
+
+ private void setMaxCapacity() {
+ final ICoverable tile = getUIBuildContext().getTile();
+ if (!tile.isDead() && tile instanceof IFluidHandler) {
+ FluidTankInfo[] tanks = ((IFluidHandler) tile).getTankInfo(ForgeDirection.UNKNOWN);
+ maxCapacity = Arrays.stream(tanks)
+ .mapToInt(tank -> tank.capacity)
+ .sum();
+ } else {
+ maxCapacity = -1;
+ }
+ }
}
}
diff --git a/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessItemDetector.java b/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessItemDetector.java
index fb7fa93ea7..3cc7f60984 100644
--- a/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessItemDetector.java
+++ b/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessItemDetector.java
@@ -1,5 +1,6 @@
package gregtech.common.covers.redstone;
+import java.text.FieldPosition;
import java.util.UUID;
import javax.annotation.Nonnull;
@@ -12,10 +13,9 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.ForgeDirection;
import com.google.common.io.ByteArrayDataInput;
-import com.gtnewhorizons.modularui.api.math.MathExpression;
+import com.gtnewhorizons.modularui.api.NumberFormatMUI;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
import com.gtnewhorizons.modularui.common.widget.TextWidget;
-import com.gtnewhorizons.modularui.common.widget.textfield.BaseTextFieldWidget;
import gregtech.api.gui.modularui.GT_CoverUIBuildContext;
import gregtech.api.interfaces.ITexture;
@@ -25,7 +25,7 @@ import gregtech.api.util.GT_Utility;
import gregtech.api.util.ISerializableObject;
import gregtech.common.covers.GT_Cover_ItemMeter;
import gregtech.common.gui.modularui.widget.CoverDataControllerWidget;
-import gregtech.common.gui.modularui.widget.CoverDataFollower_TextFieldWidget;
+import gregtech.common.gui.modularui.widget.CoverDataFollower_NumericWidget;
import gregtech.common.gui.modularui.widget.ItemWatcherSlotWidget;
import gregtech.common.tileentities.storage.GT_MetaTileEntity_DigitalChestBase;
import io.netty.buffer.ByteBuf;
@@ -149,10 +149,22 @@ public class GT_Cover_WirelessItemDetector
private class WirelessItemDetectorUIFactory extends AdvancedRedstoneTransmitterBaseUIFactory {
- private static final String ALL_TEXT = "All";
-
private int maxSlot;
private int maxThreshold;
+ /**
+ * Display the text "All" instead of a number when the slot is set to -1.
+ */
+ private static final NumberFormatMUI numberFormatAll = new NumberFormatMUI() {
+
+ @Override
+ public StringBuffer format(double number, StringBuffer toAppendTo, FieldPosition pos) {
+ if (number < 0) {
+ return toAppendTo.append(GT_Utility.trans("ALL", "All"));
+ } else {
+ return super.format(number, toAppendTo, pos);
+ }
+ }
+ };
public WirelessItemDetectorUIFactory(GT_CoverUIBuildContext buildContext) {
super(buildContext);
@@ -180,7 +192,7 @@ public class GT_Cover_WirelessItemDetector
new TextWidget(GT_Utility.trans("221", "Item threshold")).setDefaultColor(COLOR_TEXT_GRAY.get())
.setPos(startX + spaceX * 5, 4 + startY + spaceY * 2))
.widget(
- new TextWidget(GT_Utility.trans("254.0", "Detect Slot")).setDefaultColor(COLOR_TEXT_GRAY.get())
+ new TextWidget(GT_Utility.trans("254", "Detect Slot #")).setDefaultColor(COLOR_TEXT_GRAY.get())
.setPos(startX + spaceX * 5, 4 + startY + spaceY * 3));
}
@@ -188,34 +200,28 @@ public class GT_Cover_WirelessItemDetector
protected void addUIForDataController(CoverDataControllerWidget<ItemTransmitterData> controller) {
super.addUIForDataController(controller);
controller.addFollower(
- new CoverDataFollower_TextFieldWidget<>(),
- coverData -> String.valueOf(coverData.threshold),
+ new CoverDataFollower_NumericWidget<>(),
+ coverData -> (double) coverData.threshold,
(coverData, state) -> {
- coverData.threshold = (int) MathExpression.parseMathExpression(state);
+ coverData.threshold = state.intValue();
return coverData;
},
- widget -> widget.setOnScrollNumbers(1, 10, 64)
- .setNumbers(0, maxThreshold)
+ widget -> widget.setBounds(0, maxThreshold)
+ .setScrollValues(1, 64, 1000)
+ .setFocusOnGuiOpen(true)
.setPos(1, 2 + spaceY * 2)
.setSize(spaceX * 5 - 4, 12))
.addFollower(
- new CoverDataFollower_TextFieldWidget<>(),
- coverData -> getSlotTextFieldContent(coverData.slot),
+ new CoverDataFollower_NumericWidget<>(),
+ coverData -> (double) coverData.slot,
(coverData, state) -> {
- coverData.slot = getIntFromText(state);
+ coverData.slot = state.intValue();
return coverData;
},
- widget -> widget.setOnScrollText()
- .setValidator(val -> {
- final int valSlot = getIntFromText(val);
- if (valSlot > -1) {
- return widget.getDecimalFormatter()
- .format(Math.min(valSlot, maxSlot));
- } else {
- return ALL_TEXT;
- }
- })
- .setPattern(BaseTextFieldWidget.NATURAL_NUMS)
+ widget -> widget.setBounds(-1, maxSlot)
+ .setDefaultValue(-1)
+ .setScrollValues(1, 100, 10)
+ .setNumberFormat(numberFormatAll)
.setPos(1, 2 + spaceY * 3)
.setSize(spaceX * 4 - 8, 12));
}
@@ -240,18 +246,6 @@ public class GT_Cover_WirelessItemDetector
}
}
- private int getIntFromText(String text) {
- try {
- return (int) MathExpression.parseMathExpression(text, -1);
- } catch (Exception e) {
- return -1;
- }
- }
-
- private String getSlotTextFieldContent(int val) {
- return val < 0 ? ALL_TEXT : String.valueOf(val);
- }
-
private ItemStack getTargetItem() {
final ICoverable tile = getUIBuildContext().getTile();
final ItemTransmitterData coverVariable = getCoverData();