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