Skip to content

Commit c7be3f4

Browse files
committed
port steam machines to mui2
simplify usesMui2 checks
1 parent 8b30d6c commit c7be3f4

2 files changed

Lines changed: 38 additions & 3 deletions

File tree

src/main/java/gregtech/api/metatileentity/SimpleMachineMetaTileEntity.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -493,9 +493,8 @@ public void clearMachineInventory(@NotNull List<@NotNull ItemStack> itemBuffer)
493493

494494
@Override
495495
public boolean usesMui2() {
496-
RecipeMap<?> recipeMap = getRecipeMap();
497-
if (recipeMap == null) return false;
498-
return recipeMap.getRecipeMapUI().usesMui2();
496+
RecipeMap<?> map = getRecipeMap();
497+
return map != null && map.getRecipeMapUI().usesMui2();
499498
}
500499

501500
@Override

src/main/java/gregtech/api/metatileentity/SteamMetaTileEntity.java

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
import gregtech.api.gui.GuiTextures;
99
import gregtech.api.gui.ModularUI;
1010
import gregtech.api.gui.widgets.ImageWidget;
11+
import gregtech.api.mui.GTGuiTheme;
12+
import gregtech.api.mui.GTGuis;
1113
import gregtech.api.recipes.RecipeMap;
1214
import gregtech.api.util.GTUtility;
1315
import gregtech.client.particle.VanillaParticleEffects;
@@ -34,6 +36,11 @@
3436
import codechicken.lib.render.pipeline.ColourMultiplier;
3537
import codechicken.lib.render.pipeline.IVertexOperation;
3638
import codechicken.lib.vec.Matrix4;
39+
import com.cleanroommc.modularui.api.drawable.IKey;
40+
import com.cleanroommc.modularui.factory.PosGuiData;
41+
import com.cleanroommc.modularui.screen.ModularPanel;
42+
import com.cleanroommc.modularui.value.sync.PanelSyncManager;
43+
import com.cleanroommc.modularui.widget.Widget;
3744
import org.apache.commons.lang3.ArrayUtils;
3845
import org.apache.commons.lang3.tuple.Pair;
3946
import org.jetbrains.annotations.Nullable;
@@ -43,6 +50,8 @@
4350

4451
public abstract class SteamMetaTileEntity extends MetaTileEntity {
4552

53+
// todo quick and dirty fix to not show input tank in ui, find better solution
54+
protected static final FluidTankList EMPTY = new FluidTankList(false);
4655
protected static final int STEAM_CAPACITY = 16000;
4756

4857
protected final boolean isHighPressure;
@@ -127,6 +136,33 @@ public FluidTankList createImportFluidHandler() {
127136
return new FluidTankList(false, steamFluidTank);
128137
}
129138

139+
@Override
140+
public boolean usesMui2() {
141+
RecipeMap<?> map = getRecipeMap();
142+
return map != null && map.getRecipeMapUI().usesMui2();
143+
}
144+
145+
@Override
146+
public ModularPanel buildUI(PosGuiData guiData, PanelSyncManager guiSyncManager) {
147+
RecipeMap<?> map = Objects.requireNonNull(getRecipeMap());
148+
149+
ModularPanel modularPanel = GTGuis.defaultPanel(this);
150+
151+
Widget<?> widget = map.getRecipeMapUI().buildWidget(workableHandler::getProgressPercent, importItems,
152+
exportItems, EMPTY, exportFluids, 0, guiSyncManager);
153+
154+
modularPanel.child(widget)
155+
.child(IKey.lang(getMetaFullName()).asWidget().pos(5, 5))
156+
.bindPlayerInventory();
157+
158+
return modularPanel;
159+
}
160+
161+
@Override
162+
public GTGuiTheme getUITheme() {
163+
return isHighPressure ? GTGuiTheme.STEEL : GTGuiTheme.BRONZE;
164+
}
165+
130166
public ModularUI.Builder createUITemplate(EntityPlayer player) {
131167
return ModularUI.builder(GuiTextures.BACKGROUND_STEAM.get(isHighPressure), 176, 166)
132168
.label(6, 6, getMetaFullName()).shouldColor(false)

0 commit comments

Comments
 (0)