Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port Multiblocks to MUI2 #2672

Draft
wants to merge 135 commits into
base: master
Choose a base branch
from
Draft

Port Multiblocks to MUI2 #2672

wants to merge 135 commits into from

Conversation

ghzdude
Copy link
Contributor

@ghzdude ghzdude commented Nov 29, 2024

What

Ports every multiblock with a UI to use MUI2.

Implementation Details

  • Classes extending MultiMapMultiblockController will need to be updated (GCYM) or override usesMui2() to return false.
  • added KeyUtils to replace TextComponantUtil
  • multiblocks need to override createUIFactory() to create needed sync values and return a configured MultiblockUIFactory
  • createUIFactory() is called during writeInitialSyncData() and receiveInitialSyncData() so that values can be synced correctly before the ui is opened

Currently ported multis are:

  • Large Combustion Engine
  • Large Gas/Plasma/Steam Turbine
  • Electric Blast Furnace
  • Large Boiler
  • Assembly Line
  • Cracking Unit
  • Distillation Tower
  • Fusion Reactor
  • Implosion Compressor
  • Large Chemical Reactor
  • MultiSmelter
  • Processing Array
  • Pyrolyse Oven
  • Research Station
  • Vacuum Freezer

Outcome

multiblock uis are fancier

@ghzdude ghzdude added the type: refactor Suggestion to refactor a section of code label Nov 29, 2024
@ghzdude ghzdude force-pushed the tc/mui2-multis branch 3 times, most recently from 55fefcd to 4dad110 Compare January 9, 2025 23:00
@ghzdude ghzdude force-pushed the tc/mui2-multis branch 2 times, most recently from 6b5159d to 87fdbca Compare January 29, 2025 21:29
TechLord22 and others added 21 commits February 3, 2025 15:03
port MultiblockDisplayText to mui2
almost everything mui2 related is moved into MultiblockUIFactory
fix issues with cyclebutton widget textures
fix syncing (at least for EBF)
probably other things i don't feel like writing about
fix distinct bus button
more work on MultiblockUIFactory
bars work again
add ByteSyncValue
implement blinking logos
add dynamic keys
add helper methods
use list instead of consumer
move margin to power button instead of flex
add note for dynamic texture
add multiblock name
make steam output dynamic
Zorbatron and others added 20 commits February 3, 2025 18:22
Prevent the mode button from being pressed while active.
Revert flex button texture split.
…kingUnit, MetaTileEntityElectricBlastFurnace, MetaTileEntityLargeBoiler, MetaTileEntityLargeCombustionEngine, MetaTileEntityLargeTurbine, MetaTileEntityMultiSmelter, MetaTileEntityProcessingArray, MetaTileEntityPyrolyseOven, MetaTileEntityResearchStation, and RecipeMapMultiblockController.
deprecate methods and schedule removal
remove SECTION
add notes
… use KeyUtil.number for the other two lines.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: refactor Suggestion to refactor a section of code
Projects
Status: Hard
Development

Successfully merging this pull request may close these issues.

3 participants