
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
4.3.3+26.1-neoforge
Compatibility
Changes
4.3.2 stopped the pre-gen latching forever. It did not stop it pausing OFTEN, and on a two-core client the run settled into a fixed-period pause/resume/fail cycle instead. Reported on mod_support #36 by the reporter of #33, who confirmed the latch is gone and that the run now "pauses too often. Thus slowing down pregeneration."
A resumed run kept its narrow start for about one sample. It came back below the width that failed, as intended -- and then reset its slow-start threshold to the CONFIGURED CEILING, which is the value that decides how fast it is allowed to widen again. Below that threshold the recovery path may climb eight steps per sample, so a run resumed at a width of 1 was permitted to burst straight back toward a ceiling of 200 and into the wall that had just stopped it. Resuming narrow bought nothing. A resumed run now inherits the width that FAILED as its threshold, so the climb stops where the evidence stops.
The resume grace no longer answers the third failure the same way it answered the first. It was a flat five seconds, which is the right answer to a passing autosave and the wrong answer to a machine that has already failed at this repeatedly -- it is what let the oscillation sustain itself. It now doubles on each consecutive auto-pause, bounded by the pause-side grace and by 60 seconds. Only a width HELD healthily clears the escalation: coming back is not success, staying back is.
Two log lines were stating the wrong number. The auto-pause notice and the auto-resume notice both printed the PAUSE grace where they meant the RESUME grace -- so a run that came back after five seconds announced it had waited two minutes. Both now print what they actually waited, and the pause notice says which repeat it is.
The below-floor clock was decoupled from the resume clock. It had been read off the resume grace doubled, which was harmless while that was a constant and would have become a trap the moment it started escalating: being more patient about resuming would silently have made the controller slower to narrow.
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:MUe4R7t6"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:4BeAEBIb:MUe4R7t6"
}
