Skip to content

Commit 7595eb3

Browse files
committed
use modular panel instead of redundant parent widget
use qualified references for old gui class references
1 parent ef0a7b8 commit 7595eb3

File tree

4 files changed

+34
-40
lines changed

4 files changed

+34
-40
lines changed

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,10 +152,8 @@ public ModularPanel buildUI(PosGuiData guiData, PanelSyncManager guiSyncManager)
152152
}
153153

154154
ModularPanel panel = GTGuis.createPanel(this, 176, 166 + yOffset);
155-
Widget<?> widget = workableRecipeMap.getRecipeMapUI().buildWidget(workable::getProgressPercent, importItems,
156-
exportItems, importFluids, exportFluids, yOffset, guiSyncManager);
157-
158-
panel.child(widget)
155+
workableRecipeMap.getRecipeMapUI().constructPanel(panel, workable::getProgressPercent,
156+
importItems, exportItems, importFluids, exportFluids, yOffset, guiSyncManager)
159157
.child(IKey.lang(getMetaFullName()).asWidget().pos(5, 5))
160158
.bindPlayerInventory();
161159

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

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,11 @@
1414
import gregtech.api.gui.GuiTextures;
1515
import gregtech.api.gui.ModularUI;
1616
import gregtech.api.gui.resources.TextureArea;
17-
import gregtech.api.gui.widgets.GhostCircuitSlotWidget;
18-
import gregtech.api.gui.widgets.ImageWidget;
19-
import gregtech.api.gui.widgets.LabelWidget;
20-
import gregtech.api.gui.widgets.SlotWidget;
21-
import gregtech.api.gui.widgets.ToggleButtonWidget;
2217
import gregtech.api.items.itemhandlers.GTItemStackHandler;
2318
import gregtech.api.metatileentity.interfaces.IGregTechTileEntity;
2419
import gregtech.api.mui.GTGuiTextures;
2520
import gregtech.api.mui.GTGuis;
21+
import gregtech.api.mui.widget.GhostCircuitSlotWidget;
2622
import gregtech.api.recipes.RecipeMap;
2723
import gregtech.api.util.GTTransferUtils;
2824
import gregtech.api.util.GTUtility;
@@ -506,13 +502,12 @@ public ModularPanel buildUI(PosGuiData guiData, PanelSyncManager guiSyncManager)
506502
}
507503

508504
ModularPanel panel = GTGuis.createPanel(this, 176, 166 + yOffset);
509-
Widget<?> widget = workableRecipeMap.getRecipeMapUI().buildWidget(workable::getProgressPercent, importItems,
510-
exportItems, importFluids, exportFluids, yOffset, guiSyncManager);
511505

512506
BooleanSyncValue hasEnergy = new BooleanSyncValue(workable::isHasNotEnoughEnergy);
513507
guiSyncManager.syncValue("has_energy", hasEnergy);
514508

515-
panel.child(widget)
509+
workableRecipeMap.getRecipeMapUI().constructPanel(panel, workable::getProgressPercent,
510+
importItems, exportItems, importFluids, exportFluids, yOffset, guiSyncManager)
516511
.child(IKey.lang(getMetaFullName()).asWidget().pos(5, 5))
517512
.child(new ItemSlot()
518513
.slot(SyncHandlers.itemSlot(chargerInventory, 0))
@@ -558,7 +553,7 @@ public ModularPanel buildUI(PosGuiData guiData, PanelSyncManager guiSyncManager)
558553
.background(GTGuiTextures.getLogo(getUITheme())));
559554

560555
if (hasGhostCircuitInventory() && circuitInventory != null) {
561-
panel.child(new gregtech.api.mui.widget.GhostCircuitSlotWidget()
556+
panel.child(new GhostCircuitSlotWidget()
562557
.pos(124, 62 + yOffset)
563558
.slot(SyncHandlers.itemSlot(circuitInventory, 0))
564559
.background(GTGuiTextures.SLOT, GTGuiTextures.INT_CIRCUIT_OVERLAY));
@@ -584,38 +579,42 @@ protected ModularUI.Builder createGuiTemplate(EntityPlayer player) {
584579
ModularUI.Builder builder = workableRecipeMap.getRecipeMapUI()
585580
.createUITemplate(workable::getProgressPercent, importItems, exportItems, importFluids, exportFluids,
586581
yOffset)
587-
.widget(new LabelWidget(5, 5, getMetaFullName()))
588-
.widget(new SlotWidget(chargerInventory, 0, 79, 62 + yOffset, true, true, false)
589-
.setBackgroundTexture(GuiTextures.SLOT, GuiTextures.CHARGER_OVERLAY)
590-
.setTooltipText("gregtech.gui.charger_slot.tooltip", GTValues.VNF[getTier()],
591-
GTValues.VNF[getTier()]))
592-
.widget(new ImageWidget(79, 42 + yOffset, 18, 18, GuiTextures.INDICATOR_NO_ENERGY).setIgnoreColor(true)
593-
.setPredicate(workable::isHasNotEnoughEnergy))
582+
.widget(new gregtech.api.gui.widgets.LabelWidget(5, 5, getMetaFullName()))
583+
.widget(new gregtech.api.gui.widgets.SlotWidget(chargerInventory, 0, 79, 62 + yOffset, true, true,
584+
false)
585+
.setBackgroundTexture(GuiTextures.SLOT, GuiTextures.CHARGER_OVERLAY)
586+
.setTooltipText("gregtech.gui.charger_slot.tooltip", GTValues.VNF[getTier()],
587+
GTValues.VNF[getTier()]))
588+
.widget(new gregtech.api.gui.widgets.ImageWidget(79, 42 + yOffset, 18, 18,
589+
GuiTextures.INDICATOR_NO_ENERGY).setIgnoreColor(true)
590+
.setPredicate(workable::isHasNotEnoughEnergy))
594591
.bindPlayerInventory(player.inventory, GuiTextures.SLOT, yOffset);
595592

596593
int leftButtonStartX = 7;
597594

598595
if (exportItems.getSlots() > 0) {
599-
builder.widget(new ToggleButtonWidget(leftButtonStartX, 62 + yOffset, 18, 18,
596+
builder.widget(new gregtech.api.gui.widgets.ToggleButtonWidget(leftButtonStartX, 62 + yOffset, 18, 18,
600597
GuiTextures.BUTTON_ITEM_OUTPUT, this::isAutoOutputItems, this::setAutoOutputItems)
601598
.setTooltipText("gregtech.gui.item_auto_output.tooltip")
602599
.shouldUseBaseBackground());
603600
leftButtonStartX += 18;
604601
}
605602
if (exportFluids.getTanks() > 0) {
606-
builder.widget(new ToggleButtonWidget(leftButtonStartX, 62 + yOffset, 18, 18,
603+
builder.widget(new gregtech.api.gui.widgets.ToggleButtonWidget(leftButtonStartX, 62 + yOffset, 18, 18,
607604
GuiTextures.BUTTON_FLUID_OUTPUT, this::isAutoOutputFluids, this::setAutoOutputFluids)
608605
.setTooltipText("gregtech.gui.fluid_auto_output.tooltip")
609606
.shouldUseBaseBackground());
610607
}
611608

612609
if (exportItems.getSlots() + exportFluids.getTanks() <= 9) {
613-
ImageWidget logo = new ImageWidget(152, 63 + yOffset, 17, 17,
610+
gregtech.api.gui.widgets.ImageWidget logo = new gregtech.api.gui.widgets.ImageWidget(152, 63 + yOffset, 17,
611+
17,
614612
GTValues.XMAS.get() ? getXmasLogo() : getLogo()).setIgnoreColor(true);
615613

616614
if (this.circuitInventory != null) {
617-
SlotWidget circuitSlot = new GhostCircuitSlotWidget(circuitInventory, 0, 124, 62 + yOffset)
618-
.setBackgroundTexture(GuiTextures.SLOT, getCircuitSlotOverlay());
615+
gregtech.api.gui.widgets.SlotWidget circuitSlot = new gregtech.api.gui.widgets.GhostCircuitSlotWidget(
616+
circuitInventory, 0, 124, 62 + yOffset)
617+
.setBackgroundTexture(GuiTextures.SLOT, getCircuitSlotOverlay());
619618
builder.widget(circuitSlot.setConsumer(this::getCircuitSlotTooltip)).widget(logo);
620619
}
621620
}
@@ -641,7 +640,7 @@ protected TextureArea getCircuitSlotOverlay() {
641640
}
642641

643642
// Method provided to override
644-
protected void getCircuitSlotTooltip(SlotWidget widget) {
643+
protected void getCircuitSlotTooltip(gregtech.api.gui.widgets.SlotWidget widget) {
645644
String configString;
646645
if (circuitInventory == null || circuitInventory.getCircuitValue() == GhostCircuitItemStackHandler.NO_CONFIG) {
647646
configString = new TextComponentTranslation("gregtech.gui.configurator_slot.no_value").getFormattedText();

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

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import com.cleanroommc.modularui.factory.PosGuiData;
4141
import com.cleanroommc.modularui.screen.ModularPanel;
4242
import com.cleanroommc.modularui.value.sync.PanelSyncManager;
43-
import com.cleanroommc.modularui.widget.Widget;
4443
import org.apache.commons.lang3.ArrayUtils;
4544
import org.apache.commons.lang3.tuple.Pair;
4645
import org.jetbrains.annotations.Nullable;
@@ -148,10 +147,8 @@ public ModularPanel buildUI(PosGuiData guiData, PanelSyncManager guiSyncManager)
148147

149148
ModularPanel modularPanel = GTGuis.defaultPanel(this);
150149

151-
Widget<?> widget = map.getRecipeMapUI().buildWidget(workableHandler::getProgressPercent, importItems,
152-
exportItems, EMPTY, exportFluids, 0, guiSyncManager);
153-
154-
modularPanel.child(widget)
150+
map.getRecipeMapUI().constructPanel(modularPanel, workableHandler::getProgressPercent,
151+
importItems, exportItems, EMPTY, exportFluids, 0, guiSyncManager)
155152
.child(IKey.lang(getMetaFullName()).asWidget().pos(5, 5))
156153
.bindPlayerInventory();
157154

src/main/java/gregtech/api/recipes/ui/RecipeMapUI.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
import com.cleanroommc.modularui.api.drawable.IDrawable;
1818
import com.cleanroommc.modularui.drawable.UITexture;
19+
import com.cleanroommc.modularui.screen.ModularPanel;
1920
import com.cleanroommc.modularui.value.sync.DoubleSyncValue;
2021
import com.cleanroommc.modularui.value.sync.PanelSyncManager;
2122
import com.cleanroommc.modularui.value.sync.SyncHandlers;
@@ -540,16 +541,15 @@ public void setSlotOverlay(byte key, @NotNull TextureArea texture) {
540541

541542
/* *********************** MUI 2 *********************** */
542543

543-
public ParentWidget<?> buildWidget(DoubleSupplier progressSupplier, IItemHandlerModifiable importItems,
544+
public ModularPanel constructPanel(ModularPanel panel, DoubleSupplier progressSupplier,
545+
IItemHandlerModifiable importItems,
544546
IItemHandlerModifiable exportItems, FluidTankList importFluids,
545547
FluidTankList exportFluids, int yOffset, PanelSyncManager syncManager) {
546548
DoubleSyncValue progressValue = new DoubleSyncValue(progressSupplier);
547549

548-
ParentWidget<?> group = new ParentWidget<>()
549-
.debugName("recipemapui.parent")
550-
.size(176, 166 + yOffset);
550+
panel.debugName("recipemapui.parent");
551551

552-
group.child(new RecipeProgressWidget()
552+
panel.child(new RecipeProgressWidget()
553553
.recipeMap(recipeMap)
554554
.debugName("recipe.progress")
555555
.size(20)
@@ -558,15 +558,15 @@ public ParentWidget<?> buildWidget(DoubleSupplier progressSupplier, IItemHandler
558558
.value(progressValue)
559559
.texture(progressTexture, 20)
560560
.direction(progressDirection));
561-
addInventorySlotGroup(group, importItems, importFluids, false, yOffset);
562-
addInventorySlotGroup(group, exportItems, exportFluids, true, yOffset);
561+
addInventorySlotGroup(panel, importItems, importFluids, false, yOffset);
562+
addInventorySlotGroup(panel, exportItems, exportFluids, true, yOffset);
563563
if (specialDrawableTexture != null) {
564-
group.child(specialDrawableTexture.asWidget()
564+
panel.child(specialDrawableTexture.asWidget()
565565
.debugName("special_texture")
566566
.pos(specialTexturePosition.x(), specialTexturePosition.y())
567567
.size(specialTexturePosition.w(), specialTexturePosition.h()));
568568
}
569-
return group;
569+
return panel;
570570
}
571571

572572
protected void addInventorySlotGroup(@NotNull ParentWidget<?> group,

0 commit comments

Comments
 (0)