Skip to content

Multiblock Refactor#3119

Draft
YoungOnionMC wants to merge 53 commits into1.20.1from
yo/the-patterning
Draft

Multiblock Refactor#3119
YoungOnionMC wants to merge 53 commits into1.20.1from
yo/the-patterning

Conversation

@YoungOnionMC
Copy link
Copy Markdown
Member

@YoungOnionMC YoungOnionMC commented Apr 30, 2025

What

Multiblock refactor, TBD

TODO

  • predicate error highlighting
  • data fixer for front facing/upwards facing
  • figure out why predicate testing for global cache does not work(heat proof casing minimum is wrong)
  • anchor point definition for substructures
  • fix autobuild predicate testing to actual include a block entity for rotation
  • give charcoal pile ignitor a expandable pattern
  • add autobuilding for expandable patterns
  • move more structure defs to using the frame predicate(miners/fluid drills)
  • layer limits do not work with the autobuilder
  • arbitrary pattern checking for abstract collection of blocks
  • terminal block queueing
  • aisle groups for repeatability
  • remove async and only recheck on state changed
  • predicate storage in multiblock definition for easy addon editing
  • predicate on-succeed runner

… into yo/the-patterning

# Conflicts:
#	src/main/java/com/gregtechceu/gtceu/api/block/MetaMachineBlock.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/MultiblockMachineDefinition.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/MultiblockControllerMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/WorkableMultiblockMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/multiblock/Predicates.java
#	src/main/java/com/gregtechceu/gtceu/api/multiblock/predicates/SimplePredicate.java
#	src/main/java/com/gregtechceu/gtceu/api/pattern/BlockPattern.java
#	src/main/java/com/gregtechceu/gtceu/api/pattern/FactoryBlockPattern.java
#	src/main/java/com/gregtechceu/gtceu/api/pattern/MultiblockState.java
#	src/main/java/com/gregtechceu/gtceu/api/pattern/util/RelativeDirection.java
#	src/main/java/com/gregtechceu/gtceu/client/model/WorkableOverlayModel.java
#	src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/ActiveTransformerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/AssemblyLineMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/CleanroomMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/FusionReactorMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/LargeMinerMachine.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/HPCAMachine.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/integration/kjs/GregTechKubeJSPlugin.java
@jurrejelle
Copy link
Copy Markdown
Contributor

fixes #3232

@screret screret linked an issue Jun 16, 2025 that may be closed by this pull request
2 tasks
…sePredicate, BasePredicate candidates now use CompoundTag instead of String, String mapping. Start work on the autobuilder system.
@Ghostipedia Ghostipedia added Do Not Merge DO NOT MERGE THIS PR YET! type: refactor Suggestion to refactor a section of code Feature Frozen Content Slated for NEXT update during a testing-cycle. Effectively, do not merge with this update. labels Jul 1, 2025
@YoungOnionMC YoungOnionMC removed the Feature Frozen Content Slated for NEXT update during a testing-cycle. Effectively, do not merge with this update. label Jul 17, 2025
@Ghostipedia Ghostipedia added Release: API - X.0.0 Major Breaking Refactors that MUST be in a API-Breaking Release Admin Merge Requires Specialized Merge Permissions -Ask Org Admin to merge labels Jul 18, 2025
@Ghostipedia
Copy link
Copy Markdown
Member

Added Admin-Merge Req to this PR, we need to review what currently is done and then start to migrate to doing smaller PR's into this branch

@YoungOnionMC YoungOnionMC changed the base branch from 1.20.1 to 1.20.1-v8.0.0 January 12, 2026 03:36
…ch-Modern into yo/the-patterning

# Conflicts:
#	src/main/java/com/gregtechceu/gtceu/api/block/IMachineBlock.java
#	src/main/java/com/gregtechceu/gtceu/api/block/MetaMachineBlock.java
#	src/main/java/com/gregtechceu/gtceu/api/blockentity/MetaMachineBlockEntity.java
#	src/main/java/com/gregtechceu/gtceu/api/gui/widget/PatternPreviewWidget.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/MetaMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/MultiblockMachineDefinition.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/feature/multiblock/IMultiController.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/feature/multiblock/IRotorHolderMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/CoilWorkableElectricMultiblockMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/MultiblockControllerMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/MultiblockDisplayText.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/WorkableMultiblockMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/part/MultiblockPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/api/multiblock/MultiblockWorldSavedData.java
#	src/main/java/com/gregtechceu/gtceu/api/pattern/BlockPattern.java
#	src/main/java/com/gregtechceu/gtceu/api/pattern/MultiblockState.java
#	src/main/java/com/gregtechceu/gtceu/api/pattern/Predicates.java
#	src/main/java/com/gregtechceu/gtceu/api/pattern/util/RelativeDirection.java
#	src/main/java/com/gregtechceu/gtceu/api/registry/registrate/MultiblockMachineBuilder.java
#	src/main/java/com/gregtechceu/gtceu/client/renderer/cover/FacadeCoverRenderer.java
#	src/main/java/com/gregtechceu/gtceu/client/renderer/machine/FusionReactorRenderer.java
#	src/main/java/com/gregtechceu/gtceu/client/renderer/machine/HPCAPartRenderer.java
#	src/main/java/com/gregtechceu/gtceu/client/renderer/machine/LargeBoilerRenderer.java
#	src/main/java/com/gregtechceu/gtceu/client/renderer/machine/MachineRenderer.java
#	src/main/java/com/gregtechceu/gtceu/client/renderer/machine/PrimitiveBlastFurnaceRenderer.java
#	src/main/java/com/gregtechceu/gtceu/client/renderer/machine/gcym/LargeChemicalBathRenderer.java
#	src/main/java/com/gregtechceu/gtceu/client/renderer/machine/gcym/LargeMixerRenderer.java
#	src/main/java/com/gregtechceu/gtceu/common/data/machines/GCYMMachines.java
#	src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMachineUtils.java
#	src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java
#	src/main/java/com/gregtechceu/gtceu/common/data/machines/GTResearchMachines.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/ActiveTransformerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/AssemblyLineMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/CleanroomMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/DistillationTowerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/FluidDrillMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/FusionReactorMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/LargeMinerMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/PowerSubstationMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/gcym/LargeChemicalBathMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/gcym/LargeMixerMachine.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/HPCAMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/generator/LargeCombustionEngineMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/FluidHatchPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/OpticalComputationHatchMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/ParallelHatchPartMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/CharcoalPileIgniterMachine.java
#	src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/PrimitiveBlastFurnaceMachine.java
#	src/main/java/com/gregtechceu/gtceu/core/mixins/ChunkMixin.java
#	src/main/java/com/gregtechceu/gtceu/core/mixins/LevelMixin.java
#	src/main/java/com/gregtechceu/gtceu/forge/ForgeCommonEventListener.java
#	src/main/java/com/gregtechceu/gtceu/integration/jade/provider/MultiblockStructureProvider.java
#	src/main/java/com/gregtechceu/gtceu/integration/kjs/GregTechKubeJSPlugin.java
#	src/main/java/com/gregtechceu/gtceu/integration/top/provider/MultiblockStructureProvider.java
#	src/main/java/com/gregtechceu/gtceu/utils/GTMatrixUtils.java
#	src/main/java/com/gregtechceu/gtceu/utils/GTStringUtils.java
#	src/main/java/com/gregtechceu/gtceu/utils/GTUtil.java
…the game to run again, need to fix model rotations again
@github-actions github-actions bot added 1.20.1 Tests: Failed Game Tests have failed on this PR labels Jan 20, 2026
Base automatically changed from 1.20.1-v8.0.0 to 1.20.1 February 14, 2026 22:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1.20.1 Admin Merge Requires Specialized Merge Permissions -Ask Org Admin to merge Do Not Merge DO NOT MERGE THIS PR YET! Release: API - X.0.0 Major Breaking Refactors that MUST be in a API-Breaking Release Tests: Failed Game Tests have failed on this PR type: refactor Suggestion to refactor a section of code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fluid miner multiblock doesn't allow framed cables/pipes

4 participants