Worldgen Guard
A defensive mod that prevents server freezes caused by buggy worldgen mods that force-load adjacent chunks during chunk generation.
The Problem
Some Minecraft mods contain Feature implementations that call methods like Block.dropResources(), BlockEntity.setChanged(), or Level.getBlockState() while a chunk is still being generated. These calls can trigger a synchronous force-load of a neighbor chunk that hasn't finished generating yet, parking the server thread on a CompletableFuture.join() indefinitely.
The symptom: the world freezes for players. Blocks stop dropping items, mobs become immobile, and the tick counter climbs from 40s → 80s → infinity. The server doesn't crash, it just stops ticking. Restarts only delay the next freeze when worldgen rolls the same dice again.
What This Mod Does
Worldgen Guard installs four defensive Mixins that intercept the dangerous calls during the chunk decoration phase and cancel them before they can deadlock the server. The cancellations are safe: vanilla worldgen never relies on these calls, and the data they would have produced is either persisted by the regular chunk-save path or recomputed lazily on first interaction.
How It Works
* ChunkGenerator mixin marks each thread as "worldgen-active" while it's running biome decoration.
* Block mixin cancels dropResources() calls during worldgen.
* BlockEntity mixin cancels setChanged() calls during worldgen (when relevant).
An opt-in Level mixin logs suspect cross-chunk reads to help identify additional offending mods.
All four guards can be individually toggled in config/worldgen_guard-common.toml.
When to Install
You run a heavily modded server and have seen unexplained "world frozen, server still up" symptoms.
Your players report that block-breaking or mob behavior randomly stops working after exploration into new chunks.
You're a modpack author and want to harden your pack against the long tail of poorly-written worldgen mods.
If your server is fine, you don't need this. The mod is a targeted fix for a specific deadlock pattern, not a general performance booster.