aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/tileentities/machines/multi
diff options
context:
space:
mode:
authorAbdiel Kavash <19243993+AbdielKavash@users.noreply.github.com>2024-03-12 19:00:02 -0600
committerGitHub <noreply@github.com>2024-03-13 02:00:02 +0100
commit26c8407b9d22dbe4e3b98b4e08acfcdbfdd89f45 (patch)
treeed601445c225fc184a76cf7a0fa8b6d80113c2e0 /src/main/java/gregtech/common/tileentities/machines/multi
parent056eb3667f76e260d99b9ad72ea83253be162543 (diff)
downloadGT5-Unofficial-26c8407b9d22dbe4e3b98b4e08acfcdbfdd89f45.tar.gz
GT5-Unofficial-26c8407b9d22dbe4e3b98b4e08acfcdbfdd89f45.tar.bz2
GT5-Unofficial-26c8407b9d22dbe4e3b98b4e08acfcdbfdd89f45.zip
Numeric widget and localized number formatting. (#2532)
* Cover widgets * Volumetric flask * Misc textfields * Update GT_MetaTileEntity_MultiBlockBase.java * Update GT_MetaTileEntity_MultiBlockBase.java * Fixes decimal digits --------- Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/gregtech/common/tileentities/machines/multi')
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ConcreteBackfillerBase.java5
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java31
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java28
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PCBFactory.java50
5 files changed, 63 insertions, 58 deletions
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ConcreteBackfillerBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ConcreteBackfillerBase.java
index ce8abe7a73..e520b87e43 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ConcreteBackfillerBase.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ConcreteBackfillerBase.java
@@ -12,6 +12,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import com.google.common.collect.ImmutableList;
+import com.gtnewhorizons.modularui.api.NumberFormatMUI;
import com.gtnewhorizons.modularui.api.math.Alignment;
import com.gtnewhorizons.modularui.common.widget.DynamicPositionedColumn;
import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget;
@@ -158,6 +159,8 @@ public abstract class GT_MetaTileEntity_ConcreteBackfillerBase extends GT_MetaTi
return true;
}
+ protected static final NumberFormatMUI numberFormat = new NumberFormatMUI();
+
@Override
protected void drawTexts(DynamicPositionedColumn screenElements, SlotWidget inventorySlot) {
super.drawTexts(screenElements, inventorySlot);
@@ -167,7 +170,7 @@ public abstract class GT_MetaTileEntity_ConcreteBackfillerBase extends GT_MetaTi
.dynamicString(
() -> StatCollector.translateToLocalFormatted(
"GT5U.gui.text.backfiller_current_area",
- GT_Utility.formatNumbers(clientYHead)))
+ numberFormat.format(clientYHead)))
.setSynced(false)
.setTextAlignment(Alignment.CenterLeft)
.setEnabled(widget -> getBaseMetaTileEntity().isActive() && workState == STATE_UPWARD))
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java
index 168fda93ca..89f180f1c1 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java
@@ -32,6 +32,7 @@ import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructa
import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
+import com.gtnewhorizons.modularui.api.NumberFormatMUI;
import com.gtnewhorizons.modularui.api.math.Alignment;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
@@ -565,6 +566,8 @@ public abstract class GT_MetaTileEntity_FusionComputer
return 166;
}
+ protected static final NumberFormatMUI numberFormat = new NumberFormatMUI();
+
@Override
public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) {
builder
@@ -610,7 +613,7 @@ public abstract class GT_MetaTileEntity_FusionComputer
.setTexture(GT_UITextures.PROGRESSBAR_STORED_EU, 147)
.setPos(5, 156)
.setSize(147, 5))
- .widget(TextWidget.dynamicString(() -> {
+ .widget(new TextWidget().setStringSupplier(() -> {
long energy = getBaseMetaTileEntity().getStoredEU();
if (energy > 160_000_000L && energy < 160_010_000L) {
energy = 160_000_000L;
@@ -624,7 +627,7 @@ public abstract class GT_MetaTileEntity_FusionComputer
if (energy > 5_120_000_000L && energy < 5_120_080_000L) {
energy = 5_120_000_000L;
}
- return GT_Utility.formatNumbers(energy) + " EU";
+ return numberFormat.format(energy) + " EU";
})
.setDefaultColor(COLOR_TEXT_RED.get())
.setPos(50, 155))
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java
index 254f5bf0b0..c4028f1819 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java
@@ -36,6 +36,7 @@ import net.minecraftforge.fluids.FluidStack;
import org.jetbrains.annotations.NotNull;
import com.google.common.collect.ImmutableList;
+import com.gtnewhorizons.modularui.api.NumberFormatMUI;
import com.gtnewhorizons.modularui.api.math.Alignment;
import com.gtnewhorizons.modularui.common.widget.DynamicPositionedColumn;
import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget;
@@ -401,7 +402,7 @@ public abstract class GT_MetaTileEntity_OilDrillBase extends GT_MetaTileEntity_D
builder.add(
StatCollector.translateToLocalFormatted(
"GT5U.gui.text.pump_rate.1",
- EnumChatFormatting.AQUA + getFlowRatePerTick())
+ EnumChatFormatting.AQUA + numberFormat.format(getFlowRatePerTick()))
+ StatCollector.translateToLocal("GT5U.gui.text.pump_rate.2"),
getReservoirContents() + StatCollector.translateToLocal("GT5U.gui.text.pump_recovery.2"));
} else {
@@ -423,9 +424,8 @@ public abstract class GT_MetaTileEntity_OilDrillBase extends GT_MetaTileEntity_D
return ImmutableList.of(failureReason);
}
- @NotNull
- protected String getFlowRatePerTick() {
- return GT_Utility.formatNumbers(this.mMaxProgresstime > 0 ? (mOilFlow / this.mMaxProgresstime) : 0);
+ protected int getFlowRatePerTick() {
+ return this.mMaxProgresstime > 0 ? (mOilFlow / this.mMaxProgresstime) : 0;
}
@NotNull
@@ -438,7 +438,7 @@ public abstract class GT_MetaTileEntity_OilDrillBase extends GT_MetaTileEntity_D
}
private @NotNull String clientFluidType = "";
- private @NotNull String clientPumpRate = "";
+ private int clientPumpRate = 0;
private @NotNull String clientReservoirContents = "";
@NotNull
@@ -455,42 +455,41 @@ public abstract class GT_MetaTileEntity_OilDrillBase extends GT_MetaTileEntity_D
.translateToLocalFormatted("GT5U.gui.text.pump_recovery.1", GT_Utility.formatNumbers(amount));
}
+ protected static final NumberFormatMUI numberFormat = new NumberFormatMUI();
+
@Override
protected void drawTexts(DynamicPositionedColumn screenElements, SlotWidget inventorySlot) {
super.drawTexts(screenElements, inventorySlot);
screenElements
.widget(
- TextWidget
- .dynamicString(
+ new TextWidget()
+ .setStringSupplier(
() -> EnumChatFormatting.GRAY
+ StatCollector.translateToLocalFormatted("GT5U.gui.text.pump_fluid_type", clientFluidType))
- .setSynced(false)
.setTextAlignment(Alignment.CenterLeft)
.setEnabled(widget -> getBaseMetaTileEntity().isActive() && workState == STATE_AT_BOTTOM))
.widget(
- TextWidget
- .dynamicString(
+ new TextWidget()
+ .setStringSupplier(
() -> EnumChatFormatting.GRAY
+ StatCollector.translateToLocalFormatted(
"GT5U.gui.text.pump_rate.1",
- EnumChatFormatting.AQUA + clientPumpRate)
+ EnumChatFormatting.AQUA + numberFormat.format(clientPumpRate))
+ EnumChatFormatting.GRAY
+ StatCollector.translateToLocal("GT5U.gui.text.pump_rate.2"))
- .setSynced(false)
.setTextAlignment(Alignment.CenterLeft)
.setEnabled(widget -> getBaseMetaTileEntity().isActive() && workState == STATE_AT_BOTTOM))
.widget(
- TextWidget
- .dynamicString(
+ new TextWidget()
+ .setStringSupplier(
() -> EnumChatFormatting.GRAY + clientReservoirContents
+ EnumChatFormatting.GRAY
+ StatCollector.translateToLocal("GT5U.gui.text.pump_recovery.2"))
- .setSynced(false)
.setTextAlignment(Alignment.CenterLeft)
.setEnabled(widget -> getBaseMetaTileEntity().isActive() && workState == STATE_AT_BOTTOM))
.widget(new FakeSyncWidget.IntegerSyncer(() -> workState, newInt -> workState = newInt))
.widget(new FakeSyncWidget.StringSyncer(this::getFluidName, newString -> clientFluidType = newString))
- .widget(new FakeSyncWidget.StringSyncer(this::getFlowRatePerTick, newString -> clientPumpRate = newString))
+ .widget(new FakeSyncWidget.IntegerSyncer(this::getFlowRatePerTick, newInt -> clientPumpRate = newInt))
.widget(
new FakeSyncWidget.StringSyncer(
this::getReservoirContents,
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java
index e719f8db0f..045374823f 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java
@@ -30,6 +30,7 @@ import net.minecraftforge.fluids.FluidStack;
import org.jetbrains.annotations.NotNull;
import com.google.common.collect.ImmutableList;
+import com.gtnewhorizons.modularui.api.NumberFormatMUI;
import com.gtnewhorizons.modularui.api.drawable.IDrawable;
import com.gtnewhorizons.modularui.api.math.Alignment;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
@@ -588,40 +589,39 @@ public abstract class GT_MetaTileEntity_OreDrillingPlantBase extends GT_MetaTile
return tt;
}
+ protected static final NumberFormatMUI numberFormat = new NumberFormatMUI();
+
@Override
protected void drawTexts(DynamicPositionedColumn screenElements, SlotWidget inventorySlot) {
super.drawTexts(screenElements, inventorySlot);
screenElements
.widget(
- TextWidget
- .dynamicString(
+ new TextWidget()
+ .setStringSupplier(
() -> EnumChatFormatting.GRAY + StatCollector.translateToLocalFormatted(
"GT5U.gui.text.drill_ores_left_chunk",
- GT_Utility.formatNumbers(clientOreListSize)))
- .setSynced(false)
+ numberFormat.format(clientOreListSize)))
.setTextAlignment(Alignment.CenterLeft)
.setEnabled(
widget -> getBaseMetaTileEntity().isActive() && clientOreListSize > 0
&& workState == STATE_AT_BOTTOM))
.widget(
- TextWidget
- .dynamicString(
+ new TextWidget()
+ .setStringSupplier(
() -> EnumChatFormatting.GRAY + StatCollector.translateToLocalFormatted(
"GT5U.gui.text.drill_ores_left_layer",
- GT_Utility.formatNumbers(clientYHead),
- GT_Utility.formatNumbers(clientOreListSize)))
- .setSynced(false)
+ numberFormat.format(clientYHead),
+ numberFormat.format(clientOreListSize)))
.setTextAlignment(Alignment.CenterLeft)
.setEnabled(
widget -> getBaseMetaTileEntity().isActive() && clientYHead > 0 && workState == STATE_DOWNWARD))
.widget(
- TextWidget
- .dynamicString(
+ new TextWidget()
+ .setStringSupplier(
() -> EnumChatFormatting.GRAY + StatCollector.translateToLocalFormatted(
"GT5U.gui.text.drill_chunks_left",
- GT_Utility.formatNumbers(clientCurrentChunk),
- GT_Utility.formatNumbers(clientTotalChunks)))
- .setSynced(false)
+ numberFormat.format(clientCurrentChunk),
+ numberFormat.format(clientTotalChunks)))
.setTextAlignment(Alignment.CenterLeft)
.setEnabled(
widget -> getBaseMetaTileEntity().isActive() && clientCurrentChunk > 0
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PCBFactory.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PCBFactory.java
index 0f6fa77197..547ec67921 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PCBFactory.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PCBFactory.java
@@ -54,7 +54,7 @@ import com.gtnewhorizons.modularui.common.widget.DynamicPositionedColumn;
import com.gtnewhorizons.modularui.common.widget.DynamicPositionedRow;
import com.gtnewhorizons.modularui.common.widget.MultiChildWidget;
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.GregTech_API;
import gregtech.api.enums.Materials;
@@ -1050,9 +1050,9 @@ public class GT_MetaTileEntity_PCBFactory extends
.setSize(20, 16)
.setPos(173, 98))
.widget(
- new TextFieldWidget().setGetterInt(() -> mSetTier)
- .setSetterInt(val -> mSetTier = val)
- .setNumbers(1, 3)
+ new NumericWidget().setGetter(() -> mSetTier)
+ .setSetter(val -> mSetTier = (int) val)
+ .setBounds(1, 3)
.setTextColor(Color.WHITE.normal)
.setTextAlignment(Alignment.Center)
.addTooltip("PCB Factory Tier")
@@ -1161,9 +1161,9 @@ public class GT_MetaTileEntity_PCBFactory extends
.setEnabled(widget -> !getBaseMetaTileEntity().isActive())
.setPos(0, 4))
.widget(
- new TextFieldWidget().setGetterInt(() -> (int) ((1f / mRoughnessMultiplier) * 100f))
- .setSetterInt(val -> mRoughnessMultiplier = 100f / val)
- .setNumbers(50, 200)
+ new NumericWidget().setGetter(() -> (int) ((1f / mRoughnessMultiplier) * 100f))
+ .setSetter(val -> mRoughnessMultiplier = 100f / (int) val)
+ .setBounds(50, 200)
.setTextColor(Color.WHITE.normal)
.setTextAlignment(Alignment.Center)
.addTooltip(
@@ -1184,18 +1184,18 @@ public class GT_MetaTileEntity_PCBFactory extends
.widget(
new DynamicPositionedRow().setSynced(false)
.widget(
- new TextFieldWidget().setGetterInt(() -> mBioOffsets[0])
- .setSetterInt(val -> mBioOffsets[0] = val)
- .setNumbers(-16, 16)
+ new NumericWidget().setGetter(() -> mBioOffsets[0])
+ .setSetter(val -> mBioOffsets[0] = (int) val)
+ .setBounds(-16, 16)
.setTextColor(Color.WHITE.normal)
.setTextAlignment(Alignment.Center)
.addTooltip("X Offset")
.setBackground(GT_UITextures.BACKGROUND_TEXT_FIELD)
.setSize(36, 18))
.widget(
- new TextFieldWidget().setGetterInt(() -> mBioOffsets[1])
- .setSetterInt(val -> mBioOffsets[1] = val)
- .setNumbers(-16, 16)
+ new NumericWidget().setGetter(() -> mBioOffsets[1])
+ .setSetter(val -> mBioOffsets[1] = (int) val)
+ .setBounds(-16, 16)
.setTextColor(Color.WHITE.normal)
.setTextAlignment(Alignment.Center)
.addTooltip("Z Offset")
@@ -1208,18 +1208,18 @@ public class GT_MetaTileEntity_PCBFactory extends
.widget(
new DynamicPositionedRow().setSynced(false)
.widget(
- new TextFieldWidget().setGetterInt(() -> mOCTier1Offsets[0])
- .setSetterInt(val -> mOCTier1Offsets[0] = val)
- .setNumbers(-16, 16)
+ new NumericWidget().setGetter(() -> mOCTier1Offsets[0])
+ .setSetter(val -> mOCTier1Offsets[0] = (int) val)
+ .setBounds(-16, 16)
.setTextColor(Color.WHITE.normal)
.setTextAlignment(Alignment.Center)
.addTooltip("X Offset")
.setBackground(GT_UITextures.BACKGROUND_TEXT_FIELD)
.setSize(36, 18))
.widget(
- new TextFieldWidget().setGetterInt(() -> mOCTier1Offsets[1])
- .setSetterInt(val -> mOCTier1Offsets[1] = val)
- .setNumbers(-16, 16)
+ new NumericWidget().setGetter(() -> mOCTier1Offsets[1])
+ .setSetter(val -> mOCTier1Offsets[1] = (int) val)
+ .setBounds(-16, 16)
.setTextColor(Color.WHITE.normal)
.setTextAlignment(Alignment.Center)
.addTooltip("Z Offset")
@@ -1232,18 +1232,18 @@ public class GT_MetaTileEntity_PCBFactory extends
.widget(
new DynamicPositionedRow().setSynced(false)
.widget(
- new TextFieldWidget().setGetterInt(() -> mOCTier2Offsets[0])
- .setSetterInt(val -> mOCTier2Offsets[0] = val)
- .setNumbers(-16, 16)
+ new NumericWidget().setGetter(() -> mOCTier2Offsets[0])
+ .setSetter(val -> mOCTier2Offsets[0] = (int) val)
+ .setBounds(-16, 16)
.setTextColor(Color.WHITE.normal)
.setTextAlignment(Alignment.Center)
.addTooltip("X Offset")
.setBackground(GT_UITextures.BACKGROUND_TEXT_FIELD)
.setSize(36, 18))
.widget(
- new TextFieldWidget().setGetterInt(() -> mOCTier2Offsets[1])
- .setSetterInt(val -> mOCTier2Offsets[1] = val)
- .setNumbers(-16, 16)
+ new NumericWidget().setGetter(() -> mOCTier2Offsets[1])
+ .setSetter(val -> mOCTier2Offsets[1] = (int) val)
+ .setBounds(-16, 16)
.setTextColor(Color.WHITE.normal)
.setTextAlignment(Alignment.Center)
.addTooltip("Z Offset")