Upgrade Guide
0.2.0 -> 0.3.0
🕓 2 mins
This release lets menus make decisions with conditional logic, and makes displays refresh more reliably on multiplayer servers and large grids. There is one breaking change to connector commands.
Breaking change: connector commands
connector/lock, connector/unlock and connector/toggle are no longer part of Mother Core, so Mother GUI no longer provides them. Mother OS still does. A menu entry that runs one of them needs Mother OS on the same construct. Mother GUI finds the commands automatically through command sharing.
Compatibility
Mother GUI 0.3 runs on Mother Core 1.2. Update Mother OS and MAPS at the same time so every script on the construct is running the same version of Mother Core and shares the same conditions.
New Features
Conditional logic in menus - Use
if/elseif/else/endsteps in any menu entry, andwhenrules in a[rules]section. See Conditional Menu Entries and Conditional Logic.[menu:Lighting] Headlights= | if Headlights on; | block/off Headlights; | else; | block/on Headlights; | end;Shared vocabulary - Mother GUI does not define its own predicates. It uses every predicate from Mother Core, and from Mother OS and MAPS when they run on the same construct. A menu can test
lowfor batteries from Mother OS, orinspacefrom MAPS, with nothing to configure.
Other Changes To Expect
- More reliable displays on multiplayer servers - Mother GUI now refreshes displays slowly in the background to mitigate LCD rendering issues on multiplayer servers.
- Large grids - Mother GUI no longer discovers and draws every display in a single cycle. It scans 25 blocks per cycle and draws 10 displays per cycle, and stops early once 40% of the instruction limit is used. This fixes "script too complex" on grids with many displays. On a large grid, displays now appear and render over several cycles after boot, rather than all at once.
Migration Checklist
- [ ] Update Mother OS and MAPS alongside Mother GUI
- [ ] Check that Mother OS runs on the construct if a menu entry runs
connector/lock,connector/unlockorconnector/toggle - [ ] (Optional) Replace paired On and Off menu entries with a single entry that uses
if
