From a01d019ed97101936210f16c7a362d852f081f09 Mon Sep 17 00:00:00 2001
From: NexusNull
Date: Sat, 1 Apr 2023 14:03:40 +0200
Subject: add option for strong signal (#1825)
---
.../common/covers/GT_Cover_LiquidMeter.java | 44 ++++++++++++++++++----
1 file changed, 37 insertions(+), 7 deletions(-)
(limited to 'src')
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 4a3b96a769..af062ca56b 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_LiquidMeter.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_LiquidMeter.java
@@ -44,7 +44,7 @@ public class GT_Cover_LiquidMeter extends GT_CoverBehaviorBase widget.addTooltip(0, NORMAL).addTooltip(1, INVERTED)
.setPos(spaceX * 0, spaceY * 0))
+ .addFollower(
+ CoverDataFollower_ToggleButtonWidget.ofRedstone(),
+ coverData -> coverData.strong,
+ (coverData, state) -> {
+ coverData.strong = state;
+ return coverData;
+ },
+ widget -> widget.addTooltip(0, WEAK).addTooltip(1, STRONG)
+ .setPos(spaceX * 0, spaceY * 1))
.addFollower(
new CoverDataFollower_TextFieldWidget<>(),
coverData -> String.valueOf(coverData.threshold),
@@ -217,7 +232,7 @@ public class GT_Cover_LiquidMeter extends GT_CoverBehaviorBase widget.setOnScrollNumbers(1000, 100, 100000)
.setNumbers(0, maxCapacity > 0 ? maxCapacity : Integer.MAX_VALUE)
- .setFocusOnGuiOpen(true).setPos(spaceX * 0, spaceY * 1 + 2)
+ .setFocusOnGuiOpen(true).setPos(spaceX * 0, spaceY * 2 + 2)
.setSize(spaceX * 4 + 5, 12))
.setPos(startX, startY))
.widget(
@@ -225,33 +240,44 @@ public class GT_Cover_LiquidMeter extends GT_CoverBehaviorBase getCoverData() != null ? getCoverData().inverted ? INVERTED : NORMAL : "")
.setSynced(false).setDefaultColor(COLOR_TEXT_GRAY.get())
.setPos(startX + spaceX * 1, 4 + startY + spaceY * 0))
+ .widget(
+ TextWidget
+ .dynamicString(
+ () -> getCoverData() != null ? getCoverData().strong ? STRONG : WEAK : "")
+ .setSynced(false).setDefaultColor(COLOR_TEXT_GRAY.get())
+ .setPos(startX + spaceX * 1, 4 + startY + spaceY * 1))
.widget(
new TextWidget(GT_Utility.trans("222", "Fluid threshold"))
.setDefaultColor(COLOR_TEXT_GRAY.get())
- .setPos(startX + spaceX * 5 - 10, startY + spaceY * 1 + 4));
+ .setPos(startX + spaceX * 5 - 10, startY + spaceY * 2 + 4));
}
}
public static class LiquidMeterData implements ISerializableObject {
private boolean inverted;
- /** The special value {@code 0} means threshold check is disabled. */
+ private boolean strong;
+ /**
+ * The special value {@code 0} means threshold check is disabled.
+ */
private int threshold;
public LiquidMeterData() {
inverted = false;
+ strong = false;
threshold = 0;
}
- public LiquidMeterData(boolean inverted, int threshold) {
+ public LiquidMeterData(boolean inverted, boolean strong, int threshold) {
this.inverted = inverted;
+ this.strong = strong;
this.threshold = threshold;
}
@Nonnull
@Override
public ISerializableObject copy() {
- return new LiquidMeterData(inverted, threshold);
+ return new LiquidMeterData(inverted, strong, threshold);
}
@Nonnull
@@ -259,6 +285,7 @@ public class GT_Cover_LiquidMeter extends GT_CoverBehaviorBase