Skip to content

Structure Editor v1.4.6

Choose a tag to compare

@FinnSetchell FinnSetchell released this 10 Sep 12:30
· 9 commits to main since this release

Verified locally against the cold-chunk entity-save repro, plus a shutdown fix found while doing it.

Cold-chunk entity save: verified

Stood up a private Fabric 1.21.10 dedicated server (fabric-api 0.138.4, StructureBlockSaver 1.2.4, flat world, no players) with a 1x4x1 SAVE anchor 3000 blocks from spawn holding a persistent named wither skeleton. Ran three save rounds, each one waiting until the new /chunk-state endpoint reported the chunk genuinely cold (block chunk not resident, entity visibility HIDDEN, load state FRESH) — i.e. the after-release path that regressed under v1.4.3. All three saves captured the mob (entities_captured matched the generated NBT) with the entity sections reaching LOADED in 60–185 ms. The v1.4.4/1.4.5 ticket + readIfFresh + poll logic is correct, including with SBS installed.

The remaining Bisect failure was observed on v1.4.4 (the 1.4.5 jar was never actually loaded there — /log/tail returned 404) and is environment-specific; read_server_log and chunk_states on this build will pin it down.

Fixed: server could not exit after /stop

EditorHttpServer ran on a non-daemon thread pool and nothing called stop(). After /stop the game server ended but the JVM stayed alive holding the port — a zombie answering serverReady:false that also blocks the next instance's bind (which then logs Failed to start HTTP server: Address already in use and runs with no MCP bridge). Executor threads are now daemon and SERVER_STOPPED shuts the bridge down. Verified: port released and JVM exited on its own 3 s after /stop.

New

  • get_chunk_state({x, z}) / GET /chunk-state — read-only chunk diagnostics: block chunk resident, block-ticking, entity load state (FRESH/PENDING/LOADED), entity visibility (HIDDEN/TRACKED/TICKING/ABSENT). Loads nothing.

Deploy note: make sure exactly one structure-editor-*.jar is in mods/ — remove 1.4.4/1.4.5 when adding 1.4.6.