- Thread the WorldGenRegion accessor through variant assignment so biome,
height and weather lookups stay region-local and non-blocking. They
previously routed through the entity's ServerLevel and could block a
worldgen worker on an off-thread chunk load, deadlocking chunk generation.
- Select the weighted variant with a fresh per-call RandomSource. The shared
level RNG is not thread-safe under parallel chunk generation and tripped
the ThreadingDetector. This also removes the need for the c2me special case.
- Defer variant assignment to the first entity tick when the spawn chunk is
not yet queryable, covering structure-placed spawns.
- Pass the accessor into applyEntity so variant data implementations can
query the level.
Thanks nacolla!
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }