Witch Cozy Magic.zip
What's new
Deadlock between Starlight and Magical Relics (CamoDispenserBlock)
Issue: Server ticks progressively longer, world eventually stuck on "Saving world..." on close (force-quit required). No crash, just permanent hang.
Root cause: Starlight's async light engine calls getLightEmission() on Magical Relics' CamoDispenserBlock while lighting a chunk. That method calls Forge's getExistingBlockEntity(), which doesn't check whether it's running off-thread and triggers a blocking chunk load (.join()). This creates a circular wait: the light worker thread blocks on the chunk load, the chunk load depends on the main server thread, and the main server thread is blocked waiting on the light engine (getChunkBlocking). None of the three can proceed.
Confirmed via thread dump in latest.log: repeated StarLightInterface.propagateChanges → BlockStarLightEngine.getSources → CamoDispenserBlock.getLightEmission → getExistingBlockEntity, stuck for 15+ minutes before force-close.
This matches a known, unfixed Starlight issue (paperweight-inc/starlight#197, marked wontfix on Starlight's side — the blocking call originates in the mod, not the engine).
Fix: Removed Magical Relics from the modpack. World generation and saving both work normally afterward.
Alternative if you need the mod: disable Starlight and fall back to vanilla lighting (perf cost, no deadlock).
This mod has no additional files

