Skip to content

Structure Editor v1.4.9

Choose a tag to compare

@FinnSetchell FinnSetchell released this 11 Sep 07:06
· 2 commits to main since this release

scan_entities now sees cold chunks, plus a race fix that also hardens saves.

scan_entities force-loads. It only ever reported entity sections already resident, so a cold area read as empty even when full of armour stands, item frames and named mobs. It now tickets every chunk in the bounds, waits for the entity manager to load them, reads, and releases the tickets — the same sequence save_structures uses. Response adds chunks, entity_sections_loaded, entity_wait_ms, and warning_entities if any chunk never finished.

Race fix (scan and save). Testing this surfaced a real race: the first cold scan after a fresh start returned zero while every chunk reported loaded. The poll was calling readIfFresh on not-yet-loaded chunks, which requests the entity-file read before the chunk map raises the chunk's visibility; the entities then land in sections created HIDDENisLoaded goes true, but entity queries skip hidden sections until the next chunk-map tick. Vanilla never loads entities ahead of visibility. Fix: never request the read ourselves, and treat a chunk as ready only when it is LOADED and its visibility is present and not HIDDEN. Applied to save_structures too; the readIfFresh invoker is removed.

Verified locally: five consecutive cold scans each found all three entities (including a 1.8 s first read after startup that previously raced to zero); a cold save captured all three.

Deploy: replace the mst jar (exactly one copy in mods/) and restart.