aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com
diff options
context:
space:
mode:
authorAbdiel Kavash <19243993+AbdielKavash@users.noreply.github.com>2024-03-10 00:11:26 -0600
committerGitHub <noreply@github.com>2024-03-10 07:11:26 +0100
commitfb9e6fc821224c58d7946ecd80de94c715d4f289 (patch)
tree55f82dd8103403378eb967ab714c62c8c462e561 /src/main/java/com
parent50dfbb44acdd28bc183dc58b9cd40d5ba5121685 (diff)
downloadGT5-Unofficial-fb9e6fc821224c58d7946ecd80de94c715d4f289.tar.gz
GT5-Unofficial-fb9e6fc821224c58d7946ecd80de94c715d4f289.tar.bz2
GT5-Unofficial-fb9e6fc821224c58d7946ecd80de94c715d4f289.zip
Numeric widget and localized number formatting. (#2)
* bs + deps * Radio Hatch * LESU * spotless * deps
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_LESU.java56
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_RadioHatch.java13
2 files changed, 44 insertions, 25 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_LESU.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_LESU.java
index e253db5d45..65a45051ab 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_LESU.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_LESU.java
@@ -34,6 +34,7 @@ import com.github.bartimaeusnek.bartworks.common.loaders.ItemRegistry;
import com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference;
import com.github.bartimaeusnek.bartworks.util.ChatColorHelper;
import com.github.bartimaeusnek.bartworks.util.ConnectedBlocksChecker;
+import com.gtnewhorizons.modularui.api.NumberFormatMUI;
import com.gtnewhorizons.modularui.api.drawable.Text;
import com.gtnewhorizons.modularui.api.forge.ItemStackHandler;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
@@ -41,6 +42,7 @@ import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
import com.gtnewhorizons.modularui.common.internal.wrapper.BaseSlot;
import com.gtnewhorizons.modularui.common.widget.DrawableWidget;
import com.gtnewhorizons.modularui.common.widget.DynamicPositionedColumn;
+import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget;
import com.gtnewhorizons.modularui.common.widget.ProgressBar;
import com.gtnewhorizons.modularui.common.widget.SlotWidget;
import com.gtnewhorizons.modularui.common.widget.TextWidget;
@@ -79,6 +81,8 @@ public class GT_TileEntity_LESU extends GT_MetaTileEntity_MultiBlockBase {
};
private long mStorage;
+ protected static final NumberFormatMUI numberFormat = new NumberFormatMUI();
+
public GT_TileEntity_LESU(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional);
this.mStorage = ConfigHandler.energyPerCell;
@@ -492,40 +496,54 @@ public class GT_TileEntity_LESU extends GT_MetaTileEntity_MultiBlockBase {
.setSize(116, 5));
}
+ private long clientEU;
+ private long clientMaxEU;
+ private long clientMaxIn;
+ private long clientMaxOut;
+ private long clientAmps;
+
private void drawTexts(DynamicPositionedColumn screenElements) {
screenElements.setSpace(0).setPos(11, 8);
screenElements
.widget(
- TextWidget.dynamicString(
- () -> "EU: " + GT_Utility.formatNumbers(this.getBaseMetaTileEntity().getStoredEU()))
+ new TextWidget().setStringSupplier(() -> "EU: " + numberFormat.format(this.clientEU))
.setDefaultColor(this.COLOR_TEXT_WHITE.get()))
.widget(
- TextWidget.dynamicString(
- () -> "MAX: " + (this.getBaseMetaTileEntity().isActive()
- ? GT_Utility.formatNumbers(this.getBaseMetaTileEntity().getOutputVoltage())
- + String.valueOf(ConfigHandler.energyPerCell).substring(1)
- : Integer.toString(0)))
+ new FakeSyncWidget.LongSyncer(
+ () -> this.getBaseMetaTileEntity().getStoredEU(),
+ val -> clientEU = val))
+ .widget(
+ new TextWidget().setStringSupplier(() -> "MAX: " + numberFormat.format(clientMaxEU))
.setDefaultColor(this.COLOR_TEXT_WHITE.get()))
.widget(
- TextWidget
- .dynamicString(
- () -> "MAX EU/t IN: " + GT_Utility
- .formatNumbers(this.getBaseMetaTileEntity().getInputVoltage()))
+ new FakeSyncWidget.LongSyncer(
+ () -> this.getBaseMetaTileEntity().isActive()
+ ? this.getBaseMetaTileEntity().getOutputVoltage() * ConfigHandler.energyPerCell
+ : 0,
+ val -> clientMaxEU = val))
+ .widget(
+ new TextWidget().setStringSupplier(() -> "MAX EU/t IN: " + numberFormat.format(clientMaxIn))
.setDefaultColor(this.COLOR_TEXT_WHITE.get()))
.widget(
- TextWidget
- .dynamicString(
- () -> "EU/t OUT: " + GT_Utility
- .formatNumbers(this.getBaseMetaTileEntity().getOutputVoltage()))
+ new FakeSyncWidget.LongSyncer(
+ () -> this.getBaseMetaTileEntity().getInputVoltage(),
+ val -> clientMaxIn = val))
+ .widget(
+ new TextWidget().setStringSupplier(() -> "EU/t OUT: " + numberFormat.format(clientMaxOut))
.setDefaultColor(this.COLOR_TEXT_WHITE.get()))
.widget(
- TextWidget
- .dynamicString(
- () -> "AMP/t IN/OUT: " + GT_Utility
- .formatNumbers(this.getBaseMetaTileEntity().getInputAmperage()))
+ new FakeSyncWidget.LongSyncer(
+ () -> this.getBaseMetaTileEntity().getOutputVoltage(),
+ val -> clientMaxOut = val))
+ .widget(
+ new TextWidget().setStringSupplier(() -> "AMP/t IN/OUT: " + numberFormat.format(clientAmps))
.setDefaultColor(this.COLOR_TEXT_WHITE.get()))
.widget(
+ new FakeSyncWidget.LongSyncer(
+ () -> this.getBaseMetaTileEntity().getInputAmperage(),
+ val -> clientAmps = val))
+ .widget(
new TextWidget(Text.localised("tooltip.LESU.0.name")).setDefaultColor(Color.YELLOW.getRGB())
.setEnabled(widget -> this.maxEUStore() >= Long.MAX_VALUE - 1))
.widget(
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_RadioHatch.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_RadioHatch.java
index 942c2823b0..6eb6bf9e85 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_RadioHatch.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/tiered/GT_MetaTileEntity_RadioHatch.java
@@ -45,7 +45,7 @@ import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget;
import com.gtnewhorizons.modularui.common.widget.ProgressBar;
import com.gtnewhorizons.modularui.common.widget.ProgressBar.Direction;
import com.gtnewhorizons.modularui.common.widget.TextWidget;
-import com.gtnewhorizons.modularui.common.widget.textfield.TextFieldWidget;
+import com.gtnewhorizons.modularui.common.widget.textfield.NumericWidget;
import gregtech.api.enums.Materials;
import gregtech.api.enums.Textures;
@@ -402,14 +402,16 @@ public class GT_MetaTileEntity_RadioHatch extends GT_MetaTileEntity_Hatch
new DrawableWidget().setBackground(BW_UITextures.PICTURE_DECAY_TIME_CONTAINER).setPos(120, 14)
.setSize(24, 56))
.widget(
- TextWidget.dynamicString(
+ new TextWidget().setStringSupplier(
() -> StatCollector.translateToLocalFormatted("BW.NEI.display.radhatch.1", this.mass))
.setTextAlignment(Alignment.Center).setPos(65, 62))
+ .widget(new FakeSyncWidget.ByteSyncer(() -> this.mass, val -> this.mass = val))
.widget(
- TextWidget.dynamicString(
+ new TextWidget().setStringSupplier(
() -> StatCollector
.translateToLocalFormatted("BW.NEI.display.radhatch.0", this.getSievert()))
.setTextAlignment(Alignment.Center).setPos(60, 72))
+ .widget(new FakeSyncWidget.IntegerSyncer(() -> this.sievert, val -> this.sievert = val))
.widget(new ButtonWidget().setOnClick((clickData, widget) -> {
if (!widget.isClient()) {
widget.getContext().openSyncedWindow(RADIATION_SHUTTER_WINDOW_ID);
@@ -442,9 +444,8 @@ public class GT_MetaTileEntity_RadioHatch extends GT_MetaTileEntity_Hatch
(widget, val) -> widget.setPos(16, 29 + this.coverage / 2)
.setSize(51, 50 - this.coverage / 2)))
.widget(
- new TextFieldWidget().setSetterInt(val -> this.coverage = val.byteValue())
- .setGetterInt(() -> (int) this.coverage).setNumbers(0, 100)
- .setTextColor(Color.WHITE.dark(1)).setOnScrollNumbers(1, 5, 50)
+ new NumericWidget().setSetter(val -> this.coverage = (byte) val).setGetter(() -> this.coverage)
+ .setBounds(0, 100).setScrollValues(1, 5, 50).setTextColor(Color.WHITE.dark(1))
.setTextAlignment(Alignment.CenterLeft)
.setBackground(GT_UITextures.BACKGROUND_TEXT_FIELD.withOffset(-1, -1, 2, 2))
.setPos(86, 27).setSize(30, 12))