Skip to content

Commit 6be92cb

Browse files
Merge branch 'mui2-refactor' into tar/mui-central-monitor
2 parents b1c5385 + 158aeac commit 6be92cb

File tree

19 files changed

+152
-143
lines changed

19 files changed

+152
-143
lines changed

src/generated/resources/assets/gtceu/lang/en_ud.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,11 @@
3333
"behavior.portable_scanner.machine_progress": "%s / %s :pɐoꞀ/ssǝɹboɹԀ",
3434
"behavior.portable_scanner.machine_upwards_facing": "%s :buıɔɐℲ spɹɐʍd∩",
3535
"behavior.portable_scanner.mode.caption": "%s :ǝpoɯ ʎɐןdsıᗡ",
36-
"behavior.portable_scanner.mode.show_all_info": "oɟuı ןןɐ ʍoɥS",
36+
"behavior.portable_scanner.mode.show_all_info": ")oɟuı ןɐuɹǝʇuı buıpnןɔxǝ( oɟuı ןןɐ ʍoɥS",
3737
"behavior.portable_scanner.mode.show_block_info": "oɟuı ʞɔoןq ʍoɥS",
3838
"behavior.portable_scanner.mode.show_electrical_info": "oɟuı ןɐɔıɹʇɔǝןǝ ʍoɥS",
3939
"behavior.portable_scanner.mode.show_environmental_info": "oɟuı ןɐʇuǝɯuoɹıʌuǝ ʍoɥS",
40+
"behavior.portable_scanner.mode.show_internal_info": "oɟuı buıbbnqǝp ןɐuɹǝʇuı ʍoɥS",
4041
"behavior.portable_scanner.mode.show_machine_info": "oɟuı ǝuıɥɔɐɯ ʍoɥS",
4142
"behavior.portable_scanner.mode.show_recipe_info": "oɟuı ǝdıɔǝɹ ʍoɥS",
4243
"behavior.portable_scanner.muffled": "˙pǝןɟɟnW",
@@ -1733,7 +1734,6 @@
17331734
"command.gtceu.share_prospection_data.notification": "¡noʎ ɥʇıʍ ɐʇɐp buıʇɔǝdsoɹd buıɹɐɥs sı %s",
17341735
"config.gtceu.option.addLoot": "ʇooꞀppɐ",
17351736
"config.gtceu.option.ae2": "ᄅǝɐ",
1736-
"config.gtceu.option.allUniqueStoneTypes": "sǝdʎ⟘ǝuoʇSǝnbıu∩ןןɐ",
17371737
"config.gtceu.option.allowDrumsInputFluidsFromOutputSide": "ǝpıSʇndʇnOɯoɹℲspınןℲʇnduIsɯnɹᗡʍoןןɐ",
17381738
"config.gtceu.option.animationTime": "ǝɯı⟘uoıʇɐɯıuɐ",
17391739
"config.gtceu.option.arcRecyclingYield": "pןǝıʎbuıןɔʎɔǝᴚɔɹɐ",
@@ -1866,6 +1866,7 @@
18661866
"config.gtceu.option.renderGrowingPlants": "sʇuɐןԀbuıʍoɹ⅁ɹǝpuǝɹ",
18671867
"config.gtceu.option.renderer": "ɹǝɹǝpuǝɹ",
18681868
"config.gtceu.option.replaceMinedBlocksWith": "ɥʇıMsʞɔoןᗺpǝuıWǝɔɐןdǝɹ",
1869+
"config.gtceu.option.replaceVanillaTooltips": "sdıʇןoo⟘ɐןןıuɐΛǝɔɐןdǝɹ",
18691870
"config.gtceu.option.replaceWithCobbleVersion": "uoısɹǝΛǝןqqoƆɥʇıMǝɔɐןdǝɹ",
18701871
"config.gtceu.option.requireGTToolsForBlocks": "sʞɔoןᗺɹoℲsןoo⟘⟘⅁ǝɹınbǝɹ",
18711872
"config.gtceu.option.rngDamageElectricTools": "sןoo⟘ɔıɹʇɔǝןƎǝbɐɯɐᗡbuɹ",
@@ -2443,6 +2444,7 @@
24432444
"gtceu.gui.fluid_auto_output.tooltip.enabled": "pǝןqɐuƎ ʇndʇnO-oʇnⱯ pınןℲ",
24442445
"gtceu.gui.fluid_auto_output.unselected.0": "ʇndʇnO oʇnⱯ pınןℲ",
24452446
"gtceu.gui.fluid_auto_output.unselected.1": "˙ʇndʇno sʇı ǝɹnbıɟuoɔ oʇ ǝuıɥɔɐɯ ǝɥʇ ɟo ǝpıs ɐ ʇɔǝןǝSㄥ§",
2447+
"gtceu.gui.fluid_input_from_output": "%s :ʇndʇnO ɯoɹɟ ʇnduI pınןℲ",
24462448
"gtceu.gui.fluid_lock.tooltip.disabled": "pǝןqɐsıᗡ buıʞɔoꞀ pınןℲ",
24472449
"gtceu.gui.fluid_lock.tooltip.enabled": "pǝןqɐuƎ buıʞɔoꞀ pınןℲ",
24482450
"gtceu.gui.fluid_voiding": "spınןℲ6§ buıpıoΛㄥ§",
@@ -2461,6 +2463,8 @@
24612463
"gtceu.gui.item_auto_output.other_direction.2": "˙ǝpıs pǝʇɔǝןǝs ʎןʇuǝɹɹnɔ ǝɥʇ oʇ ʇndʇno ǝɥʇ ǝʌoɯ oʇ ʞɔıןƆㄥ§",
24622464
"gtceu.gui.item_auto_output.tooltip.disabled": "pǝןqɐsıᗡ ʇndʇnO-oʇnⱯ ɯǝʇI",
24632465
"gtceu.gui.item_auto_output.tooltip.enabled": "pǝןqɐuƎ ʇndʇnO-oʇnⱯ ɯǝʇI",
2466+
"gtceu.gui.item_auto_output.unselected.0": "ʇndʇnO oʇnⱯ ɯǝʇI",
2467+
"gtceu.gui.item_auto_output.unselected.1": "˙ʇndʇno sʇı ǝɹnbıɟuoɔ oʇ ǝuıɥɔɐɯ ǝɥʇ ɟo ǝpıs ɐ ʇɔǝןǝSㄥ§",
24642468
"gtceu.gui.item_collector.range": " :ǝbuɐᴚ",
24652469
"gtceu.gui.item_input_from_output": "%s :ʇndʇnO ɯoɹɟ ʇnduI ɯǝʇI",
24662470
"gtceu.gui.item_lock.tooltip.disabled": "pǝןqɐsıᗡ buıʞɔoꞀ ɯǝʇI",

src/generated/resources/assets/gtceu/lang/en_us.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,11 @@
3333
"behavior.portable_scanner.machine_progress": "Progress/Load: %s / %s",
3434
"behavior.portable_scanner.machine_upwards_facing": "Upwards Facing: %s",
3535
"behavior.portable_scanner.mode.caption": "Display mode: %s",
36-
"behavior.portable_scanner.mode.show_all_info": "Show all info",
36+
"behavior.portable_scanner.mode.show_all_info": "Show all info (excluding internal info)",
3737
"behavior.portable_scanner.mode.show_block_info": "Show block info",
3838
"behavior.portable_scanner.mode.show_electrical_info": "Show electrical info",
3939
"behavior.portable_scanner.mode.show_environmental_info": "Show environmental info",
40+
"behavior.portable_scanner.mode.show_internal_info": "Show internal debugging info",
4041
"behavior.portable_scanner.mode.show_machine_info": "Show machine info",
4142
"behavior.portable_scanner.mode.show_recipe_info": "Show recipe info",
4243
"behavior.portable_scanner.muffled": "Muffled.",
@@ -1733,7 +1734,6 @@
17331734
"command.gtceu.share_prospection_data.notification": "%s is sharing prospecting data with you!",
17341735
"config.gtceu.option.addLoot": "addLoot",
17351736
"config.gtceu.option.ae2": "ae2",
1736-
"config.gtceu.option.allUniqueStoneTypes": "allUniqueStoneTypes",
17371737
"config.gtceu.option.allowDrumsInputFluidsFromOutputSide": "allowDrumsInputFluidsFromOutputSide",
17381738
"config.gtceu.option.animationTime": "animationTime",
17391739
"config.gtceu.option.arcRecyclingYield": "arcRecyclingYield",
@@ -1866,6 +1866,7 @@
18661866
"config.gtceu.option.renderGrowingPlants": "renderGrowingPlants",
18671867
"config.gtceu.option.renderer": "renderer",
18681868
"config.gtceu.option.replaceMinedBlocksWith": "replaceMinedBlocksWith",
1869+
"config.gtceu.option.replaceVanillaTooltips": "replaceVanillaTooltips",
18691870
"config.gtceu.option.replaceWithCobbleVersion": "replaceWithCobbleVersion",
18701871
"config.gtceu.option.requireGTToolsForBlocks": "requireGTToolsForBlocks",
18711872
"config.gtceu.option.rngDamageElectricTools": "rngDamageElectricTools",
@@ -2443,6 +2444,7 @@
24432444
"gtceu.gui.fluid_auto_output.tooltip.enabled": "Fluid Auto-Output Enabled",
24442445
"gtceu.gui.fluid_auto_output.unselected.0": "Fluid Auto Output",
24452446
"gtceu.gui.fluid_auto_output.unselected.1": "§7Select a side of the machine to configure its output.",
2447+
"gtceu.gui.fluid_input_from_output": "Fluid Input from Output: %s",
24462448
"gtceu.gui.fluid_lock.tooltip.disabled": "Fluid Locking Disabled",
24472449
"gtceu.gui.fluid_lock.tooltip.enabled": "Fluid Locking Enabled",
24482450
"gtceu.gui.fluid_voiding": "§7Voiding §9Fluids",
@@ -2463,6 +2465,8 @@
24632465
"gtceu.gui.item_auto_output.tooltip.enabled": "Item Auto-Output Enabled",
24642466
"gtceu.gui.item_auto_output.unselected.0": "Item Auto Output",
24652467
"gtceu.gui.item_auto_output.unselected.1": "§7Select a side of the machine to configure its output.",
2468+
"gtceu.gui.item_collector.range": "Range: ",
2469+
"gtceu.gui.item_input_from_output": "Item Input from Output: %s",
24662470
"gtceu.gui.item_lock.tooltip.disabled": "Item Locking Disabled",
24672471
"gtceu.gui.item_lock.tooltip.enabled": "Item Locking Enabled",
24682472
"gtceu.gui.item_voiding": "§7Voiding §6Items",

src/main/java/com/gregtechceu/gtceu/api/machine/MachineDefinition.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.gregtechceu.gtceu.api.item.MetaMachineItem;
88
import com.gregtechceu.gtceu.api.machine.feature.IRecipeLogicMachine;
99
import com.gregtechceu.gtceu.api.mui.factory.PanelFactory;
10+
import com.gregtechceu.gtceu.api.mui.theme.ThemeAPI;
1011
import com.gregtechceu.gtceu.api.recipe.GTRecipe;
1112
import com.gregtechceu.gtceu.api.recipe.GTRecipeType;
1213
import com.gregtechceu.gtceu.api.recipe.modifier.RecipeModifier;
@@ -131,6 +132,9 @@ public class MachineDefinition implements Supplier<IMachineBlock> {
131132
private PanelFactory UI;
132133
@Getter
133134
@Setter
135+
private String themeId = ThemeAPI.DEFAULT_ID;
136+
@Getter
137+
@Setter
134138
private Reference2IntMap<RecipeCapability<?>> recipeOutputLimits = new Reference2IntOpenHashMap<>();
135139

136140
@Getter

src/main/java/com/gregtechceu/gtceu/api/machine/trait/RecipeLogic.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,7 @@ public void handleRecipeWorking() {
270270
}
271271
progress++;
272272
totalContinuousRunningTime++;
273+
syncDataHolder.markClientSyncFieldDirty("progress");
273274
} else {
274275
setWaiting(handleTick.reason());
275276

@@ -310,6 +311,7 @@ public void handleRecipeWorking() {
310311
protected void regressRecipe() {
311312
if (progress > 0 && machine.regressWhenWaiting()) {
312313
this.progress = 1;
314+
syncDataHolder.markClientSyncFieldDirty("progress");
313315
}
314316
}
315317

@@ -330,6 +332,7 @@ public void findAndHandleRecipe() {
330332
lastOriginRecipe = null;
331333
handleSearchingRecipes(searchRecipe());
332334
}
335+
syncDataHolder.markClientSyncFieldDirty("lastRecipe");
333336
recipeDirty = false;
334337
}
335338

@@ -370,6 +373,7 @@ public void setupRecipe(GTRecipe recipe) {
370373
progress = 0;
371374
duration = 0;
372375
isActive = false;
376+
syncDataHolder.resyncAllFields();
373377
return;
374378
}
375379
var handledIO = handleRecipeIO(recipe, IO.IN);
@@ -383,6 +387,7 @@ public void setupRecipe(GTRecipe recipe) {
383387
progress = 0;
384388
duration = recipe.duration;
385389
isActive = true;
390+
syncDataHolder.resyncAllFields();
386391
}
387392
}
388393

@@ -402,13 +407,15 @@ public void setStatus(Status status) {
402407
updateTickSubscription();
403408
if (this.status != Status.WAITING) {
404409
waitingReason = null;
410+
syncDataHolder.markClientSyncFieldDirty("waitingReason");
405411
}
406412
}
407413
}
408414

409415
public void setWaiting(@Nullable Component reason) {
410416
setStatus(Status.WAITING);
411417
waitingReason = reason;
418+
syncDataHolder.markClientSyncFieldDirty("waitingReason");
412419
machine.onWaiting();
413420
}
414421

@@ -497,6 +504,7 @@ public void onRecipeFinish() {
497504
isActive = false;
498505
// Force a recipe recheck.
499506
lastRecipe = null;
507+
syncDataHolder.resyncAllFields();
500508
return;
501509
}
502510
if (machine.alwaysTryModifyRecipe()) {
@@ -506,6 +514,7 @@ public void onRecipeFinish() {
506514
markLastRecipeDirty();
507515
} else {
508516
lastRecipe = modified;
517+
syncDataHolder.markClientSyncFieldDirty("lastRecipe");
509518
}
510519
} else {
511520
markLastRecipeDirty();
@@ -524,6 +533,7 @@ public void onRecipeFinish() {
524533
progress = 0;
525534
duration = 0;
526535
isActive = false;
536+
syncDataHolder.resyncAllFields();
527537
}
528538
}
529539
}
@@ -545,6 +555,8 @@ public void interruptRecipe() {
545555
setStatus(Status.IDLE);
546556
progress = 0;
547557
duration = 0;
558+
syncDataHolder.markClientSyncFieldDirty("progress");
559+
syncDataHolder.markClientSyncFieldDirty("duration");
548560
}
549561
}
550562

src/main/java/com/gregtechceu/gtceu/api/mui/widgets/SlotGroupWidget.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import com.gregtechceu.gtceu.api.mui.base.widget.IWidget;
55
import com.gregtechceu.gtceu.api.mui.widget.ParentWidget;
66
import com.gregtechceu.gtceu.api.mui.widgets.slot.ItemSlot;
7-
import com.gregtechceu.gtceu.common.mui.GTGuiTextures;
87

98
import it.unimi.dsi.fastutil.chars.Char2IntMap;
109
import it.unimi.dsi.fastutil.chars.Char2IntOpenHashMap;
@@ -54,14 +53,12 @@ public static SlotGroupWidget playerInventory(SlotConsumer slotConsumer) {
5453
String key = "player";
5554
for (int i = 0; i < 9; i++) {
5655
slotGroupWidget.child(slotConsumer.apply(i, new ItemSlot())
57-
.background(GTGuiTextures.SLOT)
5856
.syncHandler(key, i)
5957
.pos(i * 18, 3 * 18 + 4)
6058
.name("slot_" + i));
6159
}
6260
for (int i = 0; i < 27; i++) {
6361
slotGroupWidget.child(slotConsumer.apply(i + 9, new ItemSlot())
64-
.background(GTGuiTextures.SLOT)
6562
.syncHandler(key, i + 9)
6663
.pos(i % 9 * 18, i / 9 * 18)
6764
.name("slot_" + (i + 9)));

src/main/java/com/gregtechceu/gtceu/api/recipe/gui/GTRecipeTypeUILayout.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.gregtechceu.gtceu.api.machine.trait.NotifiableItemStackHandler;
66
import com.gregtechceu.gtceu.api.mui.base.drawable.IDrawable;
77
import com.gregtechceu.gtceu.api.mui.drawable.UITexture;
8+
import com.gregtechceu.gtceu.api.mui.theme.ThemeAPI;
89
import com.gregtechceu.gtceu.api.mui.utils.Alignment;
910
import com.gregtechceu.gtceu.api.mui.value.sync.PanelSyncManager;
1011
import com.gregtechceu.gtceu.api.mui.value.sync.SyncHandlers;
@@ -19,7 +20,6 @@
1920
import com.gregtechceu.gtceu.api.mui.widgets.slot.SlotGroup;
2021
import com.gregtechceu.gtceu.api.recipe.GTRecipeType;
2122
import com.gregtechceu.gtceu.common.data.mui.GTMuiWidgets;
22-
import com.gregtechceu.gtceu.common.mui.GTGuiTextures;
2323
import com.gregtechceu.gtceu.common.mui.GTGuis;
2424

2525
import it.unimi.dsi.fastutil.ints.*;
@@ -55,6 +55,7 @@ public class GTRecipeTypeUILayout {
5555
public GTRecipeTypeUILayout() {}
5656

5757
public ParentWidget<?> getBackedSlotsRow(@NotNull PanelSyncManager syncManager,
58+
@NotNull String themeId,
5859
@Nullable NotifiableItemStackHandler inputItems,
5960
@Nullable NotifiableItemStackHandler outputItems,
6061
@Nullable NotifiableFluidTank inputFluids,
@@ -106,7 +107,8 @@ public ParentWidget<?> getBackedSlotsRow(@NotNull PanelSyncManager syncManager,
106107
slotGroupHeightPx += 18 * grid.length;
107108

108109
IDrawable defaultSlotBackground = (recipeCap == ItemRecipeCapability.CAP ?
109-
GTGuiTextures.SLOT : GTGuiTextures.FLUID_SLOT);
110+
ThemeAPI.INSTANCE.getTheme(themeId).getItemSlotTheme().getTheme().getBackground() :
111+
ThemeAPI.INSTANCE.getTheme(themeId).getFluidSlotTheme().getTheme().getBackground());
110112

111113
SlotGroupWidget.Builder slotWidgetBuilder = SlotGroupWidget.builder()
112114
.matrix(grid);

src/main/java/com/gregtechceu/gtceu/api/registry/registrate/MachineBuilder.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import com.gregtechceu.gtceu.api.machine.property.GTMachineModelProperties;
1616
import com.gregtechceu.gtceu.api.machine.trait.RecipeLogic;
1717
import com.gregtechceu.gtceu.api.mui.factory.PanelFactory;
18+
import com.gregtechceu.gtceu.api.mui.theme.ThemeAPI;
1819
import com.gregtechceu.gtceu.api.recipe.GTRecipe;
1920
import com.gregtechceu.gtceu.api.recipe.GTRecipeType;
2021
import com.gregtechceu.gtceu.api.recipe.modifier.RecipeModifier;
@@ -175,6 +176,8 @@ public class MachineBuilder<DEFINITION extends MachineDefinition> extends Builde
175176
@Setter
176177
@Getter
177178
private PanelFactory UI = null;
179+
@Getter
180+
private String themeId = ThemeAPI.DEFAULT_ID;
178181

179182
@Setter
180183
private boolean allowCoverOnFront = false;
@@ -405,6 +408,16 @@ public MachineBuilder<DEFINITION> abilities(PartAbility... abilities) {
405408
return this;
406409
}
407410

411+
public MachineBuilder<DEFINITION> themeId(String themeId) {
412+
this.themeId = themeId;
413+
return this;
414+
}
415+
416+
public MachineBuilder<DEFINITION> themeId(Function<Integer, String> themeId) {
417+
this.themeId = themeId.apply(tier);
418+
return this;
419+
}
420+
408421
public MachineBuilder<DEFINITION> modelProperty(Property<?> property) {
409422
return modelProperty(property, null);
410423
}
@@ -570,6 +583,9 @@ public DEFINITION register() {
570583
if (this.UI != null) {
571584
definition.setUI(UI);
572585
}
586+
if (this.themeId != null) {
587+
definition.setThemeId(themeId);
588+
}
573589
definition.setRecipeTypes(recipeTypes);
574590
definition.setBlockSupplier(block);
575591
definition.setItemSupplier(item);

src/main/java/com/gregtechceu/gtceu/client/ClientProxy.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import com.gregtechceu.gtceu.api.item.LampBlockItem;
1313
import com.gregtechceu.gtceu.api.item.QuantumTankMachineItem;
1414
import com.gregtechceu.gtceu.api.mui.animation.AnimatorManager;
15+
import com.gregtechceu.gtceu.api.mui.drawable.DrawableSerialization;
1516
import com.gregtechceu.gtceu.client.model.item.FacadeUnbakedModel;
1617
import com.gregtechceu.gtceu.client.model.machine.MachineModelLoader;
1718
import com.gregtechceu.gtceu.client.mui.CursorHandler;
@@ -88,6 +89,8 @@ public static void init() {
8889
Layers.registerLayer(OreRenderLayer::new, "ore_veins");
8990
Layers.registerLayer(FluidRenderLayer::new, "bedrock_fluids");
9091
ForgeCommonEventListener.registerCapes(new RegisterGTCapesEvent());
92+
93+
DrawableSerialization.init();
9194
}
9295
initializeDynamicRenders();
9396
}

src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import com.gregtechceu.gtceu.common.machine.steam.SteamSolarBoiler;
3434
import com.gregtechceu.gtceu.common.machine.steam.SteamSolidBoilerMachine;
3535
import com.gregtechceu.gtceu.common.machine.storage.*;
36+
import com.gregtechceu.gtceu.common.mui.GTGuiTheme;
3637
import com.gregtechceu.gtceu.common.pipelike.fluidpipe.longdistance.LDFluidEndpointMachine;
3738
import com.gregtechceu.gtceu.common.pipelike.item.longdistance.LDItemEndpointMachine;
3839
import com.gregtechceu.gtceu.config.ConfigHolder;
@@ -121,6 +122,7 @@ public class GTMachines {
121122
.recipeType(GTRecipeTypes.MACERATOR_RECIPES)
122123
.recipeModifier(SimpleSteamMachine::recipeModifier)
123124
.addOutputLimit(ItemRecipeCapability.CAP, 1)
125+
.themeId((i) -> GTGuiTheme.BRONZE.getId())
124126
.UI(GTSingleblockMachinePanels.STEAM_MACERATOR)
125127
.modelProperty(GTMachineModelProperties.VENT_DIRECTION, RelativeDirection.BACK)
126128
.workableSteamHullModel(pressure, GTCEu.id("block/machines/macerator"))

src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMachineUtils.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
import com.gregtechceu.gtceu.common.machine.storage.DrumMachine;
5757
import com.gregtechceu.gtceu.common.machine.storage.QuantumChestMachine;
5858
import com.gregtechceu.gtceu.common.machine.storage.QuantumTankMachine;
59+
import com.gregtechceu.gtceu.common.mui.GTGuiTheme;
5960
import com.gregtechceu.gtceu.config.ConfigHolder;
6061
import com.gregtechceu.gtceu.utils.FormattingUtil;
6162

@@ -373,6 +374,7 @@ public static Pair<MachineDefinition, MachineDefinition> registerSimpleSteamMach
373374
.rotationState(RotationState.ALL)
374375
.recipeType(recipeType)
375376
.recipeModifier(SimpleSteamMachine::recipeModifier)
377+
.themeId((i) -> i > 0 ? GTGuiTheme.STEEL.getId() : GTGuiTheme.BRONZE.getId())
376378
.UI(GTSingleblockMachinePanels.STEAM_MACHINE)
377379
.modelProperty(GTMachineModelProperties.VENT_DIRECTION, RelativeDirection.BACK)
378380
.workableSteamHullModel(pressure, GTCEu.id("block/machines/" + name))

0 commit comments

Comments
 (0)