
Chunksmith
Pre-generates chunks fast, and safely: an adaptive throttle paces generation against server tick-health so it can run with players online. Builds Distant Horizons / voxy LOD data as it goes and serves it to clients. Fabric, Forge, NeoForge and Paper/Folia.
Links
Tags
Creators
Details
3.4.1+1.21.11-neoforge
Compatibility
Changes
Fixed
- LOD stopped being injected after the first disconnect, for the rest of the game session.
Join a server, leave it, join again -- and from then on every LOD injection ended instantly with
the player left <dimension> while its LOD data was still being injected, in every dimension, no matter where the player actually was. The regions downloaded correctly and were thrown away at the last step. Restarting Minecraft was the only way out, and only until the next disconnect. Introduced in 3.3.0; 3.3.0 and 3.4.0 are both affected.- 3.3.0's fix for mod_support #16 gave the injector a
stopRequestedflag, set on disconnect and cleared by anarm()call. Only the IN-BAND FALLBACK path calledarm(). The HTTP backchannel -- the path used whenever the server has its port open, which is almost always -- never did, so the flag stayed true forever after the first disconnect. - The flag is now a per-session generation counter. An injection reads the current generation when
it starts, so a stop can only end the work it was aimed at and no call site has to remember to
arm anything.
LodInjector.arm()is gone rather than fixed: it was a pairing that could be got wrong, and it was. - The abort message now names which of the two conditions fired. It used to announce a dimension change for both, so the session-ended case reported a portal the player had never walked through -- which is most of why this took a full session to spot.
- Everything the mod does that is not client-side LOD injection was unaffected: pregeneration, the store, and the server's serving of it all behaved correctly throughout.
- 3.3.0's fix for mod_support #16 gave the injector a
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:4BeAEBIb:zOMtBQQ6"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:4BeAEBIb:zOMtBQQ6"
}
