enders_journey-1.0.19.jar
Curse Maven Snippet
What's new
Fix empty Forgotten Realm after a crash: only mark realm placed once saved
RealmManager.Structure set isPlaced=true as soon as placement started.
ServerData is always dirty and is written synchronously on every pause/
autosave, while the realm chunks are written asynchronously (and the ones
around the player stay loaded, so they are only flushed by autosave).
After an OutOfMemory crash the .dat already had isPlaced=1 but the realm
chunks were never written: on reload the chunks came back empty and the
flag prevented the realm from being rebuilt.
- isPlaced is now set in finishGeneration(), the last queued task, after
every touched chunk has been serialized and the IO worker flushed
(ChunkSerializer.write + ChunkMap.write + flushWorker).
- New once-per-session integrity check: if isPlaced=1 but fewer than 25%
of sampled "spawn"/"island" template blocks exist in the world, the
realm is rebuilt automatically (repairs already broken saves).
- NPC and target dummy spawning waits (max ~20 s) until the NPC chunks have their entities
loaded (temporary region ticket) and skips NPCs that already exist, so a
rebuild does not duplicate them. Same check for the target dummies.
This mod has no additional files

