diff options
author | Abdiel Kavash <19243993+AbdielKavash@users.noreply.github.com> | 2024-03-10 00:11:26 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-10 07:11:26 +0100 |
commit | fb9e6fc821224c58d7946ecd80de94c715d4f289 (patch) | |
tree | 55f82dd8103403378eb967ab714c62c8c462e561 /src/main/java/com | |
parent | 50dfbb44acdd28bc183dc58b9cd40d5ba5121685 (diff) | |
download | GT5-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')
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)) |