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 90 commits into
base: master
Choose a base branch
from
Draft

Port Multiblocks to MUI2 #2672

wants to merge 90 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
TechLord22 and others added 27 commits January 9, 2025 00:14
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
this is the most i can do for waterFilled for now
always add fuel line
no need to use dynamic ikeys
fix comp keys losing formatting
actually draw the formatted keys
remove unneeded method
spotless
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.

2 participants