Skip to content

Commit 761fcb3

Browse files
committed
Merge remote-tracking branch 'origin/mui2-refactor' into mui2-primitive-blast-furnace
# Conflicts: # src/main/java/com/gregtechceu/gtceu/api/mui/widgets/SlotGroupWidget.java
2 parents babc5d9 + 158aeac commit 761fcb3

File tree

19 files changed

+153
-174
lines changed

19 files changed

+153
-174
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ɹ",
@@ -2426,6 +2427,7 @@
24262427
"gtceu.gui.fluid_auto_output.tooltip.enabled": "pǝןqɐuƎ ʇndʇnO-oʇnⱯ pınןℲ",
24272428
"gtceu.gui.fluid_auto_output.unselected.0": "ʇndʇnO oʇnⱯ pınןℲ",
24282429
"gtceu.gui.fluid_auto_output.unselected.1": "˙ʇndʇno sʇı ǝɹnbıɟuoɔ oʇ ǝuıɥɔɐɯ ǝɥʇ ɟo ǝpıs ɐ ʇɔǝןǝSㄥ§",
2430+
"gtceu.gui.fluid_input_from_output": "%s :ʇndʇnO ɯoɹɟ ʇnduI pınןℲ",
24292431
"gtceu.gui.fluid_lock.tooltip.disabled": "pǝןqɐsıᗡ buıʞɔoꞀ pınןℲ",
24302432
"gtceu.gui.fluid_lock.tooltip.enabled": "pǝןqɐuƎ buıʞɔoꞀ pınןℲ",
24312433
"gtceu.gui.fluid_voiding": "spınןℲ6§ buıpıoΛㄥ§",
@@ -2444,6 +2446,8 @@
24442446
"gtceu.gui.item_auto_output.other_direction.2": "˙ǝpıs pǝʇɔǝןǝs ʎןʇuǝɹɹnɔ ǝɥʇ oʇ ʇndʇno ǝɥʇ ǝʌoɯ oʇ ʞɔıןƆㄥ§",
24452447
"gtceu.gui.item_auto_output.tooltip.disabled": "pǝןqɐsıᗡ ʇndʇnO-oʇnⱯ ɯǝʇI",
24462448
"gtceu.gui.item_auto_output.tooltip.enabled": "pǝןqɐuƎ ʇndʇnO-oʇnⱯ ɯǝʇI",
2449+
"gtceu.gui.item_auto_output.unselected.0": "ʇndʇnO oʇnⱯ ɯǝʇI",
2450+
"gtceu.gui.item_auto_output.unselected.1": "˙ʇndʇno sʇı ǝɹnbıɟuoɔ oʇ ǝuıɥɔɐɯ ǝɥʇ ɟo ǝpıs ɐ ʇɔǝןǝSㄥ§",
24472451
"gtceu.gui.item_collector.range": " :ǝbuɐᴚ",
24482452
"gtceu.gui.item_input_from_output": "%s :ʇndʇnO ɯoɹɟ ʇnduI ɯǝʇI",
24492453
"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",
@@ -2426,6 +2427,7 @@
24262427
"gtceu.gui.fluid_auto_output.tooltip.enabled": "Fluid Auto-Output Enabled",
24272428
"gtceu.gui.fluid_auto_output.unselected.0": "Fluid Auto Output",
24282429
"gtceu.gui.fluid_auto_output.unselected.1": "§7Select a side of the machine to configure its output.",
2430+
"gtceu.gui.fluid_input_from_output": "Fluid Input from Output: %s",
24292431
"gtceu.gui.fluid_lock.tooltip.disabled": "Fluid Locking Disabled",
24302432
"gtceu.gui.fluid_lock.tooltip.enabled": "Fluid Locking Enabled",
24312433
"gtceu.gui.fluid_voiding": "§7Voiding §9Fluids",
@@ -2446,6 +2448,8 @@
24462448
"gtceu.gui.item_auto_output.tooltip.enabled": "Item Auto-Output Enabled",
24472449
"gtceu.gui.item_auto_output.unselected.0": "Item Auto Output",
24482450
"gtceu.gui.item_auto_output.unselected.1": "§7Select a side of the machine to configure its output.",
2451+
"gtceu.gui.item_collector.range": "Range: ",
2452+
"gtceu.gui.item_input_from_output": "Item Input from Output: %s",
24492453
"gtceu.gui.item_lock.tooltip.disabled": "Item Locking Disabled",
24502454
"gtceu.gui.item_lock.tooltip.enabled": "Item Locking Enabled",
24512455
"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: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@
22

33
import com.gregtechceu.gtceu.api.mui.base.widget.ISynced;
44
import com.gregtechceu.gtceu.api.mui.base.widget.IWidget;
5-
import com.gregtechceu.gtceu.api.mui.drawable.UITexture;
65
import com.gregtechceu.gtceu.api.mui.widget.ParentWidget;
76
import com.gregtechceu.gtceu.api.mui.widgets.slot.ItemSlot;
8-
import com.gregtechceu.gtceu.common.mui.GTGuiTextures;
97

108
import it.unimi.dsi.fastutil.chars.Char2IntMap;
119
import it.unimi.dsi.fastutil.chars.Char2IntOpenHashMap;
@@ -19,42 +17,18 @@
1917

2018
public class SlotGroupWidget extends ParentWidget<SlotGroupWidget> {
2119

22-
public static SlotGroupWidget playerInventory(boolean positioned, UITexture topSlotTexture, UITexture slotTexture) {
23-
return positioned ? playerInventory(7, true, topSlotTexture, slotTexture) :
24-
playerInventory((index, slot) -> slot, topSlotTexture, slotTexture);
25-
}
26-
2720
public static SlotGroupWidget playerInventory(boolean positioned) {
2821
return positioned ? playerInventory(7, true) : playerInventory((index, slot) -> slot);
2922
}
3023

31-
public static SlotGroupWidget playerInventory(boolean positioned, SlotConsumer slotConsumer,
32-
UITexture topSlotTexture, UITexture slotTexture) {
33-
return positioned ? playerInventory(7, true, slotConsumer, topSlotTexture, slotTexture) :
34-
playerInventory(slotConsumer, topSlotTexture, slotTexture);
35-
}
36-
3724
public static SlotGroupWidget playerInventory(boolean positioned, SlotConsumer slotConsumer) {
3825
return positioned ? playerInventory(7, true, slotConsumer) : playerInventory(slotConsumer);
3926
}
4027

41-
public static SlotGroupWidget playerInventory(int bottom, boolean horizontalCentered, UITexture topSlotTexture,
42-
UITexture slotTexture) {
43-
return playerInventory(bottom, horizontalCentered, (index, slot) -> slot, topSlotTexture, slotTexture);
44-
}
45-
4628
public static SlotGroupWidget playerInventory(int bottom, boolean horizontalCentered) {
4729
return playerInventory(bottom, horizontalCentered, (index, slot) -> slot);
4830
}
4931

50-
public static SlotGroupWidget playerInventory(int bottom, boolean horizontalCentered, SlotConsumer slotConsumer,
51-
UITexture topSlotTexture, UITexture slotTexture) {
52-
SlotGroupWidget widget = playerInventory(slotConsumer, topSlotTexture, slotTexture);
53-
if (bottom != 0) widget.bottom(bottom);
54-
if (horizontalCentered) widget.leftRel(0.5f);
55-
return widget;
56-
}
57-
5832
public static SlotGroupWidget playerInventory(int bottom, boolean horizontalCentered, SlotConsumer slotConsumer) {
5933
SlotGroupWidget widget = playerInventory(slotConsumer);
6034
if (bottom != 0) widget.bottom(bottom);
@@ -67,33 +41,26 @@ public static SlotGroupWidget playerInventory(int bottom, boolean horizontalCent
6741
*
6842
* @return player inventory group
6943
*/
70-
public static SlotGroupWidget playerInventory(SlotConsumer slotConsumer, UITexture topSlotTexture,
71-
UITexture slotTexture) {
44+
public static SlotGroupWidget playerInventory(SlotConsumer slotConsumer) {
7245
SlotGroupWidget slotGroupWidget = new SlotGroupWidget();
7346
slotGroupWidget.coverChildren();
7447
slotGroupWidget.name("player_inventory");
7548
String key = "player";
7649
for (int i = 0; i < 9; i++) {
7750
slotGroupWidget.child(slotConsumer.apply(i, new ItemSlot())
78-
.background(topSlotTexture)
7951
.syncHandler(key, i)
8052
.pos(i * 18, 3 * 18 + 4)
8153
.name("slot_" + i));
8254
}
8355
for (int i = 0; i < 27; i++) {
8456
slotGroupWidget.child(slotConsumer.apply(i + 9, new ItemSlot())
85-
.background(slotTexture)
8657
.syncHandler(key, i + 9)
8758
.pos(i % 9 * 18, i / 9 * 18)
8859
.name("slot_" + (i + 9)));
8960
}
9061
return slotGroupWidget;
9162
}
9263

93-
public static SlotGroupWidget playerInventory(SlotConsumer slotConsumer) {
94-
return playerInventory(slotConsumer, GTGuiTextures.SLOT, GTGuiTextures.SLOT);
95-
}
96-
9764
public interface SlotConsumer {
9865

9966
ItemSlot apply(int index, ItemSlot slot);

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
}

0 commit comments

Comments
 (0)