Structure Editor v1.4.5
Diagnostic build for the cold-chunk entity save bug. v1.4.4 on fresh-from-restart chunks reported chunks_ticking_ready: 1 but isLoaded never went true in 8 s and the save captured zero — where v1.4.3 had captured the mob on that same first-save case. A boolean can't say why, and the server log can, so this build adds instruments rather than a fourth theory.
Reading the vanilla PersistentEntitySectionManager source (mojmap, identical 1.21.10 code): load goes FRESH → requestChunkLoad sets PENDING and reads the entity file async → processPendingLoads on the next tick sets LOADED. Unload refuses while PENDING. So a stuck isLoaded means either the chunk is parked in PENDING (read never landed; vanilla logs Failed to read chunk) or it never left FRESH (the visibility callback never fired).
New
read_server_log({lines?, grep?})MCP tool andGET /log/tail— last N lines oflogs/latest.log, optional case-insensitive substring filter applied before the cap.save_structuresresponse now includeschunk_statesper structure block: for every ticketed chunk,entity_load(FRESH/PENDING/LOADED),entity_visibility(HIDDEN/TRACKED/TICKING/ABSENT),block_ticking. The poll-timeout warning in the log carries the same per stuck chunk.
Fixed
- FORCED is the persisted
/forceloadticket type. Anything that threw beforeremoveTicketleaked a chunk that stayed force-loaded across restarts. Ticket release is now unconditional (finallyin the save phase; partial release if enumeration throws mid-way).