11
11
import gregtech .api .mui .GTGuiTextures ;
12
12
import gregtech .api .mui .GTGuis ;
13
13
import gregtech .api .mui .sync .GTFluidSyncHandler ;
14
- import gregtech .api .util .TextFormattingUtil ;
15
14
import gregtech .client .renderer .texture .Textures ;
16
15
import gregtech .common .mui .widget .GTFluidSlot ;
17
16
37
36
import com .cleanroommc .modularui .api .drawable .IKey ;
38
37
import com .cleanroommc .modularui .factory .PosGuiData ;
39
38
import com .cleanroommc .modularui .screen .ModularPanel ;
39
+ import com .cleanroommc .modularui .utils .Alignment ;
40
+ import com .cleanroommc .modularui .utils .Color ;
40
41
import com .cleanroommc .modularui .value .sync .PanelSyncManager ;
41
42
import com .cleanroommc .modularui .value .sync .SyncHandlers ;
42
43
import com .cleanroommc .modularui .widgets .ItemSlot ;
44
+ import com .cleanroommc .modularui .widgets .RichTextWidget ;
43
45
import com .cleanroommc .modularui .widgets .SlotGroupWidget ;
44
46
import org .jetbrains .annotations .NotNull ;
45
47
import org .jetbrains .annotations .Nullable ;
@@ -130,7 +132,8 @@ public boolean usesMui2() {
130
132
public ModularPanel buildUI (PosGuiData guiData , PanelSyncManager guiSyncManager ) {
131
133
guiSyncManager .registerSlotGroup ("item_inv" , 2 );
132
134
133
- GTFluidSyncHandler tankSyncHandler = new GTFluidSyncHandler (this .fluidTank )
135
+ GTFluidSyncHandler tankSyncHandler = GTFluidSlot .sync (this .fluidTank )
136
+ .showAmount (false )
134
137
.accessibility (true , false );
135
138
136
139
// TODO: Change the position of the name when it's standardized.
@@ -143,15 +146,23 @@ public ModularPanel buildUI(PosGuiData guiData, PanelSyncManager guiSyncManager)
143
146
.child (GTGuiTextures .TANK_ICON .asWidget ()
144
147
.left (92 ).top (36 )
145
148
.size (14 , 15 ))
146
- .child (IKey .lang ("gregtech.gui.fluid_amount" ).color (0xFFFFFF ).asWidget ().pos (11 , 20 ))
147
- .child (IKey .dynamic (() -> getFluidAmountFormatted (tankSyncHandler ))
148
- .color (0xFFFFFF )
149
- .asWidget ().pos (11 , 30 ))
150
- .child (IKey .dynamic (() -> getFluidNameTranslated (tankSyncHandler ))
151
- .color (0xFFFFFF )
152
- .asWidget ().pos (11 , 40 ))
149
+ .child (new RichTextWidget ()
150
+ .size (75 , 47 )
151
+ .pos (10 , 20 )
152
+ .textColor (Color .WHITE .main )
153
+ .alignment (Alignment .TopLeft )
154
+ .autoUpdate (true )
155
+ .textBuilder (richText -> {
156
+ richText .addLine (IKey .lang ("gregtech.gui.fluid_amount" ));
157
+ String name = tankSyncHandler .getFluidLocalizedName ();
158
+ if (name == null ) return ;
159
+
160
+ richText .addLine (IKey .str (name ));
161
+ richText .addLine (IKey .str (tankSyncHandler .getFormattedFluidAmount ()));
162
+ }))
153
163
.child (new GTFluidSlot ().syncHandler (tankSyncHandler )
154
- .pos (69 , 52 ))
164
+ .pos (69 , 52 )
165
+ .disableBackground ())
155
166
.child (new ItemSlot ().slot (SyncHandlers .itemSlot (this .importItems , 0 )
156
167
.slotGroup ("item_inv" )
157
168
.filter (itemStack -> FluidUtil .getFluidHandler (itemStack ) != null ))
@@ -164,22 +175,6 @@ public ModularPanel buildUI(PosGuiData guiData, PanelSyncManager guiSyncManager)
164
175
.pos (90 , 53 ));
165
176
}
166
177
167
- private String getFluidNameTranslated (GTFluidSyncHandler tankSyncHandler ) {
168
- if (tankSyncHandler .getFluid () == null ) {
169
- return "" ;
170
- } else {
171
- return tankSyncHandler .getFluid ().getLocalizedName ();
172
- }
173
- }
174
-
175
- private String getFluidAmountFormatted (GTFluidSyncHandler tankSyncHandler ) {
176
- if (tankSyncHandler .getFluid () == null ) {
177
- return "0" ;
178
- } else {
179
- return TextFormattingUtil .formatNumbers (tankSyncHandler .getFluid ().amount );
180
- }
181
- }
182
-
183
178
@ Override
184
179
public void addInformation (ItemStack stack , @ Nullable World player , @ NotNull List <String > tooltip ,
185
180
boolean advanced ) {
0 commit comments