Lava BoatsСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачать
ВЕРСИИ (60)
release
1.5.1+1.21.1
1.5.1+1.21.17 окт. 2026 г.284Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### Fixed
- **Boats could not be crafted on MC 1.21 and 1.21.1** (mod_support #43). The recipes shipped in
`data/lavaboats/recipes/`, but 1.21 renamed that folder to `recipe/` and loads nothing from the
old name -- no error, the boats were simply in the creative menu and nowhere in a crafting table.
The resource generator moved the folder at 1.21.2 together with the recipe schema change; the
folder actually moved one release earlier. Rebuilt cells: Fabric 1.21.1 (covers 1.21-1.21.1),
Forge 1.21, Forge 1.21.1, NeoForge 1.21, NeoForge 1.21.1. Every other cell keeps the version it
shipped.
release
1.5.1+1.21.1-neoforge
1.5.1+1.21.1-neoforge7 окт. 2026 г.207Minecraft: 1.21.1neoforge
Что нового
### Fixed
- **Boats could not be crafted on MC 1.21 and 1.21.1** (mod_support #43). The recipes shipped in
`data/lavaboats/recipes/`, but 1.21 renamed that folder to `recipe/` and loads nothing from the
old name -- no error, the boats were simply in the creative menu and nowhere in a crafting table.
The resource generator moved the folder at 1.21.2 together with the recipe schema change; the
folder actually moved one release earlier. Rebuilt cells: Fabric 1.21.1 (covers 1.21-1.21.1),
Forge 1.21, Forge 1.21.1, NeoForge 1.21, NeoForge 1.21.1. Every other cell keeps the version it
shipped.
release
1.5.1+1.21.1-forge
1.5.1+1.21.1-forge7 окт. 2026 г.24Minecraft: 1.21.1forge
Что нового
### Fixed
- **Boats could not be crafted on MC 1.21 and 1.21.1** (mod_support #43). The recipes shipped in
`data/lavaboats/recipes/`, but 1.21 renamed that folder to `recipe/` and loads nothing from the
old name -- no error, the boats were simply in the creative menu and nowhere in a crafting table.
The resource generator moved the folder at 1.21.2 together with the recipe schema change; the
folder actually moved one release earlier. Rebuilt cells: Fabric 1.21.1 (covers 1.21-1.21.1),
Forge 1.21, Forge 1.21.1, NeoForge 1.21, NeoForge 1.21.1. Every other cell keeps the version it
shipped.
release
1.5.1+1.21-neoforge
1.5.1+1.21-neoforge7 окт. 2026 г.16Minecraft: 1.21neoforge
Что нового
### Fixed
- **Boats could not be crafted on MC 1.21 and 1.21.1** (mod_support #43). The recipes shipped in
`data/lavaboats/recipes/`, but 1.21 renamed that folder to `recipe/` and loads nothing from the
old name -- no error, the boats were simply in the creative menu and nowhere in a crafting table.
The resource generator moved the folder at 1.21.2 together with the recipe schema change; the
folder actually moved one release earlier. Rebuilt cells: Fabric 1.21.1 (covers 1.21-1.21.1),
Forge 1.21, Forge 1.21.1, NeoForge 1.21, NeoForge 1.21.1. Every other cell keeps the version it
shipped.
release
1.5.1+1.21-forge
1.5.1+1.21-forge7 окт. 2026 г.14Minecraft: 1.21forge
Что нового
### Fixed
- **Boats could not be crafted on MC 1.21 and 1.21.1** (mod_support #43). The recipes shipped in
`data/lavaboats/recipes/`, but 1.21 renamed that folder to `recipe/` and loads nothing from the
old name -- no error, the boats were simply in the creative menu and nowhere in a crafting table.
The resource generator moved the folder at 1.21.2 together with the recipe schema change; the
folder actually moved one release earlier. Rebuilt cells: Fabric 1.21.1 (covers 1.21-1.21.1),
Forge 1.21, Forge 1.21.1, NeoForge 1.21, NeoForge 1.21.1. Every other cell keeps the version it
shipped.
release
1.5.0+26.3-neoforge
1.5.0+26.3-neoforge19 сент. 2026 г.157Minecraft: 26.3neoforge
Что нового
### Added
- **NeoForge support on MC 26.3.** The 26 NeoForge matrix stopped at 26.2 under a "no 26.3 loader"
note that was wrong twice over: NeoForge has shipped 26.3 betas (now `26.3.0.6-beta`), and the
thing that actually failed was ModDevGradle. On 2.0.141 the NFRT `:createMinecraftArtifacts`
recompile dies inside Minecraft's own source -- NeoForge's access transformer widens
`HolderSet.Named.contents()` to public and the widening is not propagated to the anonymous subclass
`HolderSet.emptyNamed` returns, so javac rejects the recompiled game before any mod source is
compiled. That reads exactly like a broken loader, which is how it got recorded as one. MDG 2.0.147
builds the identical cell clean.
### Changed
- **26.3 cell moved from MC 26.3-snapshot-7 to MC 26.3 (stable, 2026-09-15).** The snapshot-exclusive
single-build pin is replaced by the ordinary closed prerelease-inclusive range `>=26.3- <26.4`
(Fabric) / `[26.3,26.4)` (NeoForge). Resource `pack_format` `95` -> `97`, read from 26.3's own
`resources/version.json`: the 26.3 ladder ran 89,90,91,92,93,94,95 across the snapshots and then
jumped TWO to 97 at pre-1, so it is read and never extrapolated.
- fabric-api `0.156.2+26.3` -> `0.161.0+26.3`, fabric-loader `0.19.3` -> `0.19.5`,
NeoForge `26.3.0.6-beta`, ModDevGradle `2.0.147`.
### Notes
- **No source change required.** The 26.3 gates that land after snapshot-7 were checked against this
mod one by one and none are touched: the pre-1 worldgen rewrite and `ChunkStatus` NOISE/SURFACE/
CARVERS merge, `RegionFileStorage`, `getStructureManager` -> `getStructureTemplateManager`, the
eight renamed explorer-map item ids, the pre-2 `tickChunks` change, the rc-1 `blockUsingItem` /
`blockedByItem` re-signature and `LevelExtractor` rewrite. The mod's mixins target boat buoyancy
and fluid status, which the 26.3 line does not move.
- Only the 26.3 cells were rebuilt; every other cell keeps the version it already shipped.
release
1.5.0+26.3
1.5.0+26.319 сент. 2026 г.1,4 тыс.Minecraft: 26.3fabric
Что нового
### Added
- **NeoForge support on MC 26.3.** The 26 NeoForge matrix stopped at 26.2 under a "no 26.3 loader"
note that was wrong twice over: NeoForge has shipped 26.3 betas (now `26.3.0.6-beta`), and the
thing that actually failed was ModDevGradle. On 2.0.141 the NFRT `:createMinecraftArtifacts`
recompile dies inside Minecraft's own source -- NeoForge's access transformer widens
`HolderSet.Named.contents()` to public and the widening is not propagated to the anonymous subclass
`HolderSet.emptyNamed` returns, so javac rejects the recompiled game before any mod source is
compiled. That reads exactly like a broken loader, which is how it got recorded as one. MDG 2.0.147
builds the identical cell clean.
### Changed
- **26.3 cell moved from MC 26.3-snapshot-7 to MC 26.3 (stable, 2026-09-15).** The snapshot-exclusive
single-build pin is replaced by the ordinary closed prerelease-inclusive range `>=26.3- <26.4`
(Fabric) / `[26.3,26.4)` (NeoForge). Resource `pack_format` `95` -> `97`, read from 26.3's own
`resources/version.json`: the 26.3 ladder ran 89,90,91,92,93,94,95 across the snapshots and then
jumped TWO to 97 at pre-1, so it is read and never extrapolated.
- fabric-api `0.156.2+26.3` -> `0.161.0+26.3`, fabric-loader `0.19.3` -> `0.19.5`,
NeoForge `26.3.0.6-beta`, ModDevGradle `2.0.147`.
### Notes
- **No source change required.** The 26.3 gates that land after snapshot-7 were checked against this
mod one by one and none are touched: the pre-1 worldgen rewrite and `ChunkStatus` NOISE/SURFACE/
CARVERS merge, `RegionFileStorage`, `getStructureManager` -> `getStructureTemplateManager`, the
eight renamed explorer-map item ids, the pre-2 `tickChunks` change, the rc-1 `blockUsingItem` /
`blockedByItem` re-signature and `LevelExtractor` rewrite. The mod's mixins target boat buoyancy
and fluid status, which the 26.3 line does not move.
- Only the 26.3 cells were rebuilt; every other cell keeps the version it already shipped.
beta
1.4.10+26.3
1.4.10+26.317 авг. 2026 г.95Minecraft: 26.3-snapshot-7fabric
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+26.2-neoforge
1.4.10+26.2-neoforge17 авг. 2026 г.157Minecraft: 26.2neoforge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+26.2
1.4.10+26.217 авг. 2026 г.1,4 тыс.Minecraft: 26.2fabric
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+26.1-neoforge
1.4.10+26.1-neoforge17 авг. 2026 г.82Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+26.1
1.4.10+26.117 авг. 2026 г.369Minecraft: 26.1, 26.1.1, 26.1.2fabric
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.9
1.4.10+1.21.917 авг. 2026 г.76Minecraft: 1.21.9, 1.21.10fabric, quilt
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.9-neoforge
1.4.10+1.21.9-neoforge17 авг. 2026 г.16Minecraft: 1.21.9neoforge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.8
1.4.10+1.21.817 авг. 2026 г.61Minecraft: 1.21.6, 1.21.7, 1.21.8fabric, quilt
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.8-neoforge
1.4.10+1.21.8-neoforge17 авг. 2026 г.65Minecraft: 1.21.8neoforge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.8-forge
1.4.10+1.21.8-forge17 авг. 2026 г.19Minecraft: 1.21.8forge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.7-neoforge
1.4.10+1.21.7-neoforge17 авг. 2026 г.9Minecraft: 1.21.7neoforge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.7-forge
1.4.10+1.21.7-forge17 авг. 2026 г.12Minecraft: 1.21.7forge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.6-neoforge
1.4.10+1.21.6-neoforge17 авг. 2026 г.16Minecraft: 1.21.6neoforge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.6-forge
1.4.10+1.21.6-forge17 авг. 2026 г.7Minecraft: 1.21.6forge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.5
1.4.10+1.21.517 авг. 2026 г.37Minecraft: 1.21.2, 1.21.3, 1.21.4, 1.21.5fabric, quilt
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.5-neoforge
1.4.10+1.21.5-neoforge17 авг. 2026 г.10Minecraft: 1.21.5neoforge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.5-forge
1.4.10+1.21.5-forge17 авг. 2026 г.5Minecraft: 1.21.5forge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.4-neoforge
1.4.10+1.21.4-neoforge17 авг. 2026 г.16Minecraft: 1.21.4neoforge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.4-forge
1.4.10+1.21.4-forge17 авг. 2026 г.9Minecraft: 1.21.4forge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.3-neoforge
1.4.10+1.21.3-neoforge17 авг. 2026 г.7Minecraft: 1.21.3neoforge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.3-forge
1.4.10+1.21.3-forge17 авг. 2026 г.13Minecraft: 1.21.3forge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.2-neoforge
1.4.10+1.21.2-neoforge17 авг. 2026 г.4Minecraft: 1.21.2neoforge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.11
1.4.10+1.21.1117 авг. 2026 г.1,4 тыс.Minecraft: 1.21.11fabric, quilt
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.11-neoforge
1.4.10+1.21.11-neoforge17 авг. 2026 г.54Minecraft: 1.21.11neoforge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.11-forge
1.4.10+1.21.11-forge17 авг. 2026 г.18Minecraft: 1.21.11forge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.10-neoforge
1.4.10+1.21.10-neoforge17 авг. 2026 г.8Minecraft: 1.21.10neoforge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.10-forge
1.4.10+1.21.10-forge17 авг. 2026 г.5Minecraft: 1.21.10forge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.1
1.4.10+1.21.117 авг. 2026 г.382Minecraft: 1.21, 1.21.1fabric, quilt
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.1-neoforge
1.4.10+1.21.1-neoforge17 авг. 2026 г.283Minecraft: 1.21.1neoforge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21.1-forge
1.4.10+1.21.1-forge17 авг. 2026 г.15Minecraft: 1.21.1forge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21-neoforge
1.4.10+1.21-neoforge17 авг. 2026 г.5Minecraft: 1.21neoforge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.21-forge
1.4.10+1.21-forge17 авг. 2026 г.5Minecraft: 1.21forge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.20.6
1.4.10+1.20.617 авг. 2026 г.18Minecraft: 1.20.5, 1.20.6fabric, quilt
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.20.6-neoforge
1.4.10+1.20.6-neoforge17 авг. 2026 г.11Minecraft: 1.20.5, 1.20.6neoforge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.20.6-forge
1.4.10+1.20.6-forge17 авг. 2026 г.16Minecraft: 1.20.5, 1.20.6forge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.20.4-neoforge
1.4.10+1.20.4-neoforge17 авг. 2026 г.11Minecraft: 1.20.4neoforge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.20.4-forge
1.4.10+1.20.4-forge17 авг. 2026 г.19Minecraft: 1.20.4forge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.20.3-neoforge
1.4.10+1.20.3-neoforge17 авг. 2026 г.11Minecraft: 1.20.3neoforge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.20.3-forge
1.4.10+1.20.3-forge17 авг. 2026 г.9Minecraft: 1.20.3forge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.20.2-neoforge
1.4.10+1.20.2-neoforge17 авг. 2026 г.8Minecraft: 1.20.2neoforge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.20.2-forge
1.4.10+1.20.2-forge17 авг. 2026 г.11Minecraft: 1.20.2forge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.20.1
1.4.10+1.20.117 авг. 2026 г.296Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4fabric, quilt
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.20.1-neoforge
1.4.10+1.20.1-neoforge17 авг. 2026 г.20Minecraft: 1.20.1neoforge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
release
1.4.10+1.20.1-forge
1.4.10+1.20.1-forge17 авг. 2026 г.430Minecraft: 1.20.1forge
Что нового
### 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 server `AbstractBoat.getStatus()` never saw lava as water, the status
resolved to `IN_AIR`, and `floatBoat()` applied full gravity with no float boost. Because `tick()`
gates `floatBoat()` on `isLocalInstanceAuthoritative()` -- 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 = 3` on their three-method `@Redirect`. Mixin's default of
`require = 1` accepts 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:all` clean, 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's
`Implementation-Version`; that attribute was never written, so 18 cells reported `0.0NONE` to the
loader and Forge/NeoForge 1.20.6 reported a stale hardcoded `1.2.0`. Every Forge and NeoForge cell
now stamps `Implementation-Title` / `Implementation-Version` / `Implementation-Vendor`, with the
`-forge` / `-neoforge` filename 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 `Boat` line and the 1.21.2+ `AbstractBoat`
line; 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.
beta
1.4.8+26.3
1.4.8+26.328 июл. 2026 г.100Minecraft: 26.3-snapshot-6fabric
Что нового
### Changed
- **Fabric 26.3 cell moved to MC 26.3-snapshot-6** (from snapshot-5): fabric-api
`0.155.3+26.3` -> `0.156.1+26.3`, `pack_format` `93` -> `94`, exclusive snapshot window
`[26.3-alpha.5, 26.3-alpha.6)` -> `[26.3-alpha.6, 26.3-alpha.7)`.
### Notes
- **No source change required.** None of snapshot-6's breaking surfaces (worldgen noise
overhaul, Entity invulnerability split, `startSleeping` return type, terrain multidraw
path, options-screen reshuffle, block-entity loot helper move) appear anywhere in the
Lava Boats tree.
beta
1.4.6+26.3
1.4.6+26.322 июл. 2026 г.77Minecraft: 26.3-snapshot-5fabric
Что нового
### Changed
- MC 26.3 Fabric cell bumped 26.3-snapshot-4 -> 26.3-snapshot-5 (fabric-api 0.155.3+26.3, loader 0.19.3, dep 26.3-alpha.5, pack_format 93). Loads and renders in-world on the snapshot's reworked GPU/shader ("renderpearl") pipeline with no source changes; verified on the headless client harness. Targeted release: only the 26.3 Fabric jar rebuilt + republished at 1.4.6.
beta
1.4.5+26.3
1.4.5+26.317 июл. 2026 г.70Minecraft: 26.3-snapshot-4fabric
Что нового
### Fixed
- D4 dead-zone (1.21.9/1.21.10/1.21.11) textures: the previous plain-int pack_format (Option C, 1.4.3) left Crimson/Warped boats UNTEXTURED on Forge/NeoForge dead-zone clients. Doctrine-correct fix that makes both the client resource codec and server data codec work: Fabric + NeoForge ship NO pack.mcmeta (each loader synthesises the correct per-type metadata); Forge ships the exact range on the DATA major (1.21.9/1.21.10 = 88, 1.21.11 = 94). Boats now render textured on all three loaders in the dead zone (client-render eyeballed on Forge 1.21.10/1.21.11, NeoForge 1.21.10/1.21.11, Fabric 1.21.9/1.21.11).
### Changed
- MC 26.3 Fabric cell bumped 26.3-snapshot-3 -> 26.3-snapshot-4 (fabric-api 0.155.1+26.3, loader 0.19.3, dep 26.3-alpha.4, pack_format 92).
- Targeted release: only the 8 changed cells rebuilt + republished (Fabric 1.21.9/1.21.11/26.3, NeoForge 1.21.9/1.21.10/1.21.11, Forge 1.21.10/1.21.11); the other 36 jars remain at 1.4.4. All 8 build -Xlint:all with zero warnings.
beta
1.4.3+26.3-snapshot-3
1.4.3+26.3-snapshot-38 июл. 2026 г.96Minecraft: 26.3-snapshot-3fabric
Что нового
Lava Boats 1.4.x -- one source, every version.
- The whole 1.20 -> 26.x range is now built from a single unified branch; every claimed (MC, loader) pair was dedicated-server boot-gated (59/59) and the boats are live-play tested on 26.1.
- Defects fixed vs the old per-line jars: correct 26.x pack metadata (range form), NeoForge 26.1 loader floor now admits 26.1/26.1.1 servers, honest per-version MC claims on the classic Forge/NeoForge lines, deprecation-clean rendering registration on 1.21.9+.
- 1.4.1 is a build/cleanup round over 1.4.0 (no gameplay changes).
Known gaps: Forge 1.20.5 (Forge never shipped it), NeoForge 26.3 (loader not released).
beta
1.4.1+26.3-snapshot-2
1.4.1+26.3-snapshot-23 июл. 2026 г.56Minecraft: 26.3-snapshot-2fabric
Что нового
Lava Boats 1.4.x -- one source, every version.
- The whole 1.20 -> 26.x range is now built from a single unified branch; every claimed (MC, loader) pair was dedicated-server boot-gated (59/59) and the boats are live-play tested on 26.1.
- Defects fixed vs the old per-line jars: correct 26.x pack metadata (range form), NeoForge 26.1 loader floor now admits 26.1/26.1.1 servers, honest per-version MC claims on the classic Forge/NeoForge lines, deprecation-clean rendering registration on 1.21.9+.
- 1.4.1 is a build/cleanup round over 1.4.0 (no gameplay changes).
Known gaps: Forge 1.20.5 (Forge never shipped it), NeoForge 26.3 (loader not released).
beta
1.2.4+26.3-snapshot-1
1.2.4+26.3-snapshot-126 июн. 2026 г.61Minecraft: 26.3-snapshot-1fabric
Что нового
Code Base Refactor
beta
1.2.2 (NeoForge 26.2-rc, beta)
1.2.2+26.2-neoforge17 июн. 2026 г.18Minecraft: 26.2-pre-1, 26.2-pre-2, 26.2-pre-3, 26.2-pre-4, 26.2-pre-5, 26.2-pre-6, 26.2-rc-1, 26.2-rc-2neoforge
Что нового
Lava Boats 1.2.2 - resource metadata fix.
Adds the pack.mcmeta descriptor that was missing from the jars. On Forge and NeoForge the loader logged a 'Missing metadata in pack' warning and could fail to load the crimson/warped boat item models; with pack.mcmeta present the resources register correctly. No gameplay changes.
Client + server mod.
beta
1.2.2 (Fabric 26.2-rc, beta)
1.2.2+26.217 июн. 2026 г.49Minecraft: 26.2-pre-1, 26.2-pre-2, 26.2-pre-3, 26.2-pre-4, 26.2-pre-5, 26.2-pre-6, 26.2-rc-1, 26.2-rc-2fabric
Что нового
Lava Boats 1.2.2 - resource metadata fix.
Adds the pack.mcmeta descriptor that was missing from the jars. On Forge and NeoForge the loader logged a 'Missing metadata in pack' warning and could fail to load the crimson/warped boat item models; with pack.mcmeta present the resources register correctly. No gameplay changes.
Client + server mod.
release
1.2.0 (Forge 1.21.2-1.21.5)
1.2.0+1.21.5-forge16 июн. 2026 г.12Minecraft: 1.21.2, 1.21.3, 1.21.4, 1.21.5forge
Что нового
Lava Boats 1.2.0 - rebuilt without Architectury, unmerged per-loader, and massively expanded coverage.
Crimson/Warped boats (+ chest variants) that ride on lava. Now standalone on every loader, with one jar per loader per Minecraft build - pick the version matching your Minecraft version and loader.
Coverage: Fabric/Quilt and NeoForge across 1.20.1-1.21.11 (plus 26.1 and 26.2); Forge 1.20.1 through 1.21.8. New this release: the full 1.20.5-1.20.6 and 1.21 (1.21.1/1.21.5/1.21.8) families, and a dedicated NeoForge build for 1.20.2-1.20.4.
Client + server mod.