Skip to content

Implement system for machine UI panels#4741

Merged
gustovafing merged 96 commits intomui2-refactorfrom
gus/machine-panel
Apr 7, 2026
Merged

Implement system for machine UI panels#4741
gustovafing merged 96 commits intomui2-refactorfrom
gus/machine-panel

Conversation

@gustovafing
Copy link
Copy Markdown
Member

@gustovafing gustovafing commented Mar 18, 2026

What

  • Creates a panel type and panel builder class for machine UI panels.
  • Machine UIs no longer need to define the entire UI panel, they can implement a configuration method that sets certain properties on the panel, and a build method which builds the main UI contents.
  • Change all machine UIs to use new system.
  • Refactor and clean up some machine UI code
  • Implement UI for creative chest/tank.

# Conflicts:
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/ActiveTransformerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/CleanroomMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/DataBankMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/ResearchStationMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/steam/SteamParallelMultiblockMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/mui/GTMultiblockPanelUtil.java
@github-actions github-actions bot added Tests: Failed Game Tests have failed on this PR and removed Tests: Passed Game Tests have passed on this PR labels Apr 3, 2026
# Conflicts:
#	src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/CoilWorkableElectricMultiblockMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/WorkableElectricMultiblockMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/steam/SteamBoilerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/electric/BatteryBufferMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/electric/BlockBreakerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/electric/ChargerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/electric/FisherMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/electric/ItemCollectorMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/electric/MinerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/muimachine/TestMuiMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/ActiveTransformerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/CleanroomMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/MultiblockTankMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/PowerSubstationMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/DataBankMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/ResearchStationMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/DataAccessHatchMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/DualHatchPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/FluidHatchPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/ItemBusPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/MaintenanceHatchPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/ObjectHolderMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/CokeOvenMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/PrimitiveBlastFurnaceMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/steam/LargeBoilerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/steam/SteamParallelMultiblockMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/steam/SteamMinerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/storage/BufferMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/storage/CreativeComputationProviderMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/storage/CreativeEnergyContainerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/storage/QuantumChestMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/storage/QuantumTankMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/mui/GTGuis.java
#	src/main/java/com/gregtechceu/gtceu/common/mui/GTMultiblockPanelUtil.java
#	src/main/java/com/gregtechceu/gtceu/integration/ae2/machine/MEInputBusPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/integration/ae2/machine/MEInputHatchPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/integration/ae2/machine/MEOutputBusPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/integration/ae2/machine/MEOutputHatchPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/integration/ae2/machine/MEPatternBufferPartMachine.java
# Conflicts:
#	src/main/java/com/gregtechceu/gtceu/api/cover/IMuiCover.java
#	src/main/java/com/gregtechceu/gtceu/common/CommonProxy.java
#	src/main/java/com/gregtechceu/gtceu/common/mui/GTGuis.java
#	src/main/java/com/gregtechceu/gtceu/integration/ae2/machine/MEPatternBufferPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/integration/ae2/machine/MEStockingBusPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/integration/ae2/machine/MEStockingHatchPartMachine.java
@github-actions github-actions bot added Tests: Passed Game Tests have passed on this PR and removed Tests: Failed Game Tests have failed on this PR labels Apr 3, 2026
# Conflicts:
#	src/main/java/com/gregtechceu/gtceu/api/cover/IMuiCover.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/feature/IMuiMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/CoilWorkableElectricMultiblockMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/WorkableElectricMultiblockMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/part/MultiblockPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/steam/SteamBoilerMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/trait/AutoOutputTrait.java
#	src/main/java/com/gregtechceu/gtceu/common/CommonProxy.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/electric/BatteryBufferMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/electric/BlockBreakerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/electric/ChargerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/electric/FisherMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/electric/ItemCollectorMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/electric/MinerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/electric/PumpMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/muimachine/TestMuiMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/muimachine/TestMuiMachine2.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/ActiveTransformerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/CleanroomMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/MultiblockTankMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/PowerSubstationMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/DataBankMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/ResearchStationMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/DataAccessHatchMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/DualHatchPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/FluidHatchPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/ItemBusPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/MaintenanceHatchPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/MufflerPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/ObjectHolderMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/ParallelHatchPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/RotorHolderPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/CokeOvenMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/PrimitiveBlastFurnaceMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/steam/LargeBoilerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/steam/SteamParallelMultiblockMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/steam/SteamLiquidBoilerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/steam/SteamMinerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/steam/SteamSolarBoiler.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/steam/SteamSolidBoilerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/storage/BufferMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/storage/CrateMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/storage/CreativeComputationProviderMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/storage/CreativeEnergyContainerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/storage/CreativeTankMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/storage/QuantumChestMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/storage/QuantumTankMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/mui/GTByteBufAdapters.java
#	src/main/java/com/gregtechceu/gtceu/common/mui/GTGuiTextures.java
#	src/main/java/com/gregtechceu/gtceu/common/mui/GTGuis.java
#	src/main/java/com/gregtechceu/gtceu/common/mui/GTMuiMachineUtil.java
#	src/main/java/com/gregtechceu/gtceu/common/mui/GTMultiblockPanelUtil.java
#	src/main/java/com/gregtechceu/gtceu/common/mui/GTMultiblockTextUtil.java
#	src/main/java/com/gregtechceu/gtceu/common/mui/GTSingleblockMachinePanels.java
#	src/main/java/com/gregtechceu/gtceu/common/mui/factory/CentralMonitorUIFactory.java
#	src/main/java/com/gregtechceu/gtceu/integration/ae2/machine/MEInputBusPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/integration/ae2/machine/MEInputHatchPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/integration/ae2/machine/MEOutputBusPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/integration/ae2/machine/MEOutputHatchPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/integration/ae2/machine/MEPatternBufferPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/integration/ae2/machine/MEPatternBufferProxyPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/integration/ae2/machine/MEStockingBusPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/integration/ae2/machine/MEStockingHatchPartMachine.java
@github-actions github-actions bot added Tests: Failed Game Tests have failed on this PR and removed Tests: Passed Game Tests have passed on this PR labels Apr 4, 2026
# Conflicts:
#	src/main/java/com/gregtechceu/gtceu/api/machine/MetaMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/trait/AutoOutputTrait.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/CleanroomMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/MultiblockTankMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/MaintenanceHatchPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/RotorHolderPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/storage/CrateMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/storage/CreativeChestMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/mui/GTGuis.java
#	src/main/java/com/gregtechceu/gtceu/integration/ae2/machine/MEStockingBusPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/integration/ae2/machine/MEStockingHatchPartMachine.java
@github-actions github-actions bot added Tests: Passed Game Tests have passed on this PR and removed Tests: Failed Game Tests have failed on this PR labels Apr 7, 2026
@gustovafing gustovafing merged commit c7bfbc7 into mui2-refactor Apr 7, 2026
4 checks passed
@gustovafing gustovafing deleted the gus/machine-panel branch April 7, 2026 08:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1.20.1 Release: Major - 0.X.0 Releases focused on Content, changes to gameplay; While maintaining mostly API stability. Tests: Passed Game Tests have passed on this PR type: feature New feature or request bundled for a 0.X.0 Update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants