
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.
Tags
Creators
Details
3.18.2+26.3
Compatibility
Required content
Changes
Changed
- The 26.3 target moves from
26.3-pre-3to26.3-rc-1. This is the whole release. The 26.3 pin is exclusive by construction -- onepack_formatper jar -- so on rc-1 the3.18.1+26.3jar does not load at all, and "does not load" is the state every 26.3 pre-release leaves the previous build in.pack_formatis UNCHANGED at 97 (rc-1's ownversion.jsonstill reads resource 97.1 / data 121.0, the first 26.3 build in a while not to move it), fabric-api goes to0.160.3+26.3, and the dependency predicate is26.3-rc.1. - No code change was needed. The pre-3 to rc-1 source diff is 14 text files with nothing added,
removed or binary-changed, and Chunksmith names none of the six symbols it touches. The one that
came closest is
ChunkMap: rc-1 widened its chunk-load-failure branch to report and substitute an empty chunk for EVERY non-Errorcause, where before onlyIOExceptionandNbtExceptiontook that path. Chunksmith'sChunkMapMixinis accessors plus an@Invokerontick(visibleChunkMap,toDrop,unloadQueue,pendingUnloads,getMainThreadExecutor), none of which that branch touches.
Notes
- Two rc-1 behaviours change how a pregen run should be READ, not how it runs.
SharedConstants.CRASH_EAGERLYflips tofalseandBlockableEventLoopnow rethrows only whatisNonRecoverableadmits, so an exception thrown from a task on the main loop LOGS under the FATAL marker and the server keeps going. A run that would have crashed on a pre-release comes back green on rc-1: grep the log, do not trust the exit code. Separately, that widenedChunkMapbranch means a chunk that fails to load now yields an EMPTY chunk plus a report instead of throwing, so a bad chunk can be COUNTED as generated rather than surfacing. Neither is a Chunksmith change; both are worth knowing before reading a benchmark off this build. - fabric-api must be
0.160.3+26.3or newer on rc-1. Earlier builds on the line install and then crash the client: every 26.3 fabric-api declaresdepends.minecraft = "~26.3-", which cannot tell one prerelease from another, whilefabric-renderer-api-v1'sLevelExtractorMixinwrapslambda$getViewBlockingState$1-- a lambda rc-1 deleted when it rewrotegetViewBlockingState. Match the Modrinthgame_versionslabel to the exact build. The dedicated server boots clean on the wrong API because that mixin is client-only.
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:EKshrYCN"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:4BeAEBIb:EKshrYCN"
}
