Links
Tags
Creators
Details
0.16.3+forge
Compatibility
Changes
v0.16.3 — Fix NeoForge users getting the Forge jar on Modrinth + rollup of fixes since 0.16.2
0.16.3 primarily fixes a distribution problem: on Modrinth, NeoForge 1.21.1 users who hit the default download got the Forge 1.20.1 jar, which FML then rejects with "requires forge / 1.20.1" — surfacing to users as "incompatible with neoforge". The mod itself was never at fault — the 0.16.2 NeoForge jar loads and runs correctly on real NeoForge 21.1.233 and 21.1.235 servers. This build also rolls up a batch of data-safety and config fixes accumulated since 0.16.2
Distribution fix (main reason for this release)
Every release previously bundled both the Forge and NeoForge jars into a single Modrinth version, tagged with the union of both loaders (forge, neoforge) and both game versions (1.20.1, 1.21.1). Modrinth applies those tags to the whole version, and the default download is the version's first file (Forge's self-contained -all.jar) — so this one version showed up under "NeoForge 1.21.1", "Forge 1.20.1", and even the non-existent "Forge 1.21.1" / "NeoForge 1.20.1" combinations, and a NeoForge user hitting the default download always got the Forge jar
This build changes the release pipeline to publish one Modrinth version per loader (+forge / +neoforge), each carrying only its own jar as the default download, each appearing only under the correct loader and game version. The GitHub Release side already ships the two jars under distinct names and is unaffected
Data safety and correctness
- The in-flight dedup key for same-named SavedData across dimensions now uses the file path, fixing a case where identically named data in different dimensions could be treated as one
- Online single-chunk restore now performs a real transactional rollback on install; the async lighting/resend tail of a restore gained
exceptionallyAsyncso failures are no longer swallowed silently - Fixed a case where a task already past the gate could be silently dropped in the window around a save-degradation flip
- Async loading (opt-in, Forge only) now handles replay failure and worker parse failure separately, and its misleading log lines are corrected
- Async-loading mixins now apply gated on
load.enabled, with zero bytecode involvement when the feature is off - The SavedData large-file guard now keys off the uncompressed in-memory footprint, matching real spikes more closely
Config changes
- Removed the ineffective
entityChunksPerTickBaseknob (it had no effect) - Raised the
deadlineGuardSecondslower bound to 5, so setting it to 0 can no longer disable the save deadline backstop
Performance and compatibility
- The NeoForge SavedData path adopts serialize-once, removing the main-thread
tag.copydeep-copy spike - On startup, detecting another async-save mod that also takes over
ChunkMap.save(such as fastasyncworldsave) now logs a WARN advising you to run only one
Upgrading
- Drop-in jar replacement
- NeoForge 1.21.1 users: Modrinth now distributes correctly per loader — just grab the NeoForge build (the old mis-tagged combined versions have been taken down)
- If your config manually set the now-removed
entityChunksPerTickBase, or setdeadlineGuardSecondsbelow 5, it is corrected automatically on startup
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:WAXR3mM5:H6LYwGLe"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:WAXR3mM5:H6LYwGLe"
}

