Links
Tags
Creators
Details
Licensed ARR
Published 4 months ago
Updated 2 days ago
All versions
1.4.10+26.3
Beta
1.4.10+26.32 months ago 73
Compatibility
Minecraft: Java Edition
26.3-snapshot-7
Platform
Fabric
Supported environments
Client and server
Required content
Any compatible version
Changes
Fixed
- Lava boats sank on dedicated servers. The two mixins that create lava buoyancy --
AbstractBoatLavaMixin(the float boost and resurface bob) and the per-loader fluid hook (BoatWaterFabricMixin/BoatFluidForgeMixin/BoatFluidNeoForgeMixin) -- were registered under the"client"key of their mixin configs, so Mixin skipped them entirely in a SERVER environment. On a dedicated serverAbstractBoat.getStatus()never saw lava as water, the status resolved toIN_AIR, andfloatBoat()applied full gravity with no float boost. Becausetick()gatesfloatBoat()onisLocalInstanceAuthoritative()-- true on the server whenever nobody is riding -- an unridden boat fell to the bottom of the lava, and a ridden one sank as soon as authority returned to the server (dismount, relog, chunk reload). Both mixins now register under"mixins"and run in either environment. - Single-player was never affected, which is why this went unnoticed: an integrated server runs inside the client JVM, where the client-only configs apply normally.
- Every jar from 1.4.0 through 1.4.9 was affected, on all three loaders and every MC version
from 1.20.1 to 26.3. The mixins were common before the 1.4.0 single-source unification; that
commit filed them under
"client"and silently undid the earlier multiplayer-sink fix.
Changed
- Both fluid hooks now declare
require = 3on their three-method@Redirect. Mixin's default ofrequire = 1accepts a single successful injection out of the three target methods, so a partial application could pass silently; all three are now mandatory. - Full 44-jar matrix rebuilt (Fabric 10 / Forge 15 / NeoForge 19),
-Xlint:allclean, zero javac warnings. - D23 -- the loader now reports the real mod version. Forge and early-NeoForge cells declare
version = "${file.jarVersion}"in mods.toml, which FML fills from the jar manifest'sImplementation-Version; that attribute was never written, so 18 cells reported0.0NONEto the loader and Forge/NeoForge 1.20.6 reported a stale hardcoded1.2.0. Every Forge and NeoForge cell now stampsImplementation-Title/Implementation-Version/Implementation-Vendor, with the-forge/-neoforgefilename suffix stripped from the value. Caught by the pre-publish metadata gate, which lava-boats had never been run through before.
Testing
- New float gate (
Server_Tests/lavaboat-float-gate/on the harness) -- a server-side BEHAVIOUR gate in the shape of the storm and catch-up gates. It builds a stone basin, fills it with three layers of lava, summons an UNRIDDEN boat above it, and asserts the boat's Y at 6s and 12s. A boot smoketest cannot see this bug: the mod loads clean and logs nothing. - Proven in both directions before being trusted. Pre-fix jars report Y=101.0 (resting on the
basin floor, three lava layers down) on both the 1.20
Boatline and the 1.21.2+AbstractBoatline; fixed jars report Y=103.72, stable across both samples. - CRITICAL tier green on all three loaders: Fabric 1.20.1 / 1.21.1 / 1.21.11 / 26.1.2 / 26.2 / 26.3-snapshot-7, NeoForge 1.20.1 / 1.21.1 / 1.21.11 / 26.1.2, Forge 1.20.1 / 1.21.1 / 1.21.11.
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:hZpGaYjV:5vqkrbCe"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:hZpGaYjV:5vqkrbCe"
}

