Commit Graph
10 Commits
Author SHA1 Message Date
xxdd001 1607a87213 Add built artifacts: dimensionalripper-1.1.1.jar and sources jar (includes save-hang fix) 2026-09-07 19:24:09 +08:00
xxdd001 3dc6f4141f Fix intermittent 'Saving world' freeze on shutdown
killAllLoops() only cancelled the next scheduled tick without waiting for
in-flight dimension ticks to finish. The main thread then ran saveAllChunks
concurrently with worker threads (level.tick -> processUnloads) mutating the
non-thread-safe ChunkMap.toDrop, corrupting the fastutil map and hanging the
save forever.

Add ServerManager.stopLoopsAndWaitIdle() that kills all loops and spins until
each loop isTicking()==false (30s watchdog), and call it first in
MinecraftServerDimMixin.stopServer before killAllLoops(), so dimension ticks
fully finish before the main thread starts saving.
2026-09-07 19:17:54 +08:00
xxdd001 da3246878b Add built artifacts: dimensionalripper-1.0.0.jar and sources jar 2026-08-27 18:32:26 +08:00
xxdd001 675b74205d Fix chunk entity map concurrency: use concurrent Int2ObjectMap for ChunkMap.entityMap 2026-08-26 23:42:58 +08:00
xxdd001 837a6497e4 Add incompatibility warning for multithreading/cross-dimension mods 2026-08-26 21:19:56 +08:00
xxdd001 ce6532b644 Unify license to MIT 2026-08-26 21:16:34 +08:00
xxdd001 d14a892217 Add AI-generated disclosure to README 2026-08-26 21:13:13 +08:00
xxdd001 d4f1914c24 Add README with features and usage 2026-08-26 21:06:33 +08:00
xxdd001 453e715f3b Initial commit: Dimensional Ripper mod source (NeoForge 1.21.1) 2026-08-26 21:04:16 +08:00
xxdd001 df32c72cc9 Initial commit 2026-08-26 21:02:33 +08:00