# Changelog
## [3.2.0]
### Changes
- **Progressive Flooding Is Now Optional (off by default):** Progressive flooding placed real water blocks inside ships, and that water leaked through closed doors, trapdoors, slabs, stairs, Create machines and casings, while breaking a hull block that touched the sea left broken water artifacts instead of letting the sea in. It is now an experimental server option, `progressiveFlooding` (in the experimental section, off by default). With it off, a breach works like before 3.0.0: as soon as a hull block below the waterline is gone, the sea fills the whole room at once and its water culling turns off.
- **Submarines:** a broken hull block no longer leaves a "plug" that keeps the room sealed; the room opens to the sea straight away. Breaches saved by the progressive mode are ignored while it is off.
- **Boats:** a hold with any opening that sits in the sea (a missing hull block, an open trapdoor, a gap in the floor) counts as flooded: the sea shows inside it and it stops giving lift. Plugging the hole makes it dry again.
### Bug Fixes
- **Sea Showing Around Seats on Low Rafts:** A partial block in a hold (a Create seat, a slab, stairs) was only culled when every open side of it faced into the ship. A seat's open top faces the sky above the railing, so its cell was left out of the water culling, and on a raft low enough for the sea level to cross that cell the sea showed through the hole and cast blue sheets behind the seat. A partial block is now only left out when one of its open sides actually touches the sea.
- **Stutter Inside Oxygenated Submarines:** Every time a sealed ship moved by a tenth of a block, the client rebuilt every chunk section around it so that world blocks caught inside the hull (kelp, seagrass) could be hidden. A submarine holding its depth or drifting gently crosses that threshold all the time, which gave a regular frame-time spike as long as you were aboard. With the pixel-perfect water culling active the sea is already hidden per pixel, so the chunks are now only rebuilt after half a block of movement again; the fine threshold is kept for the block-by-block fallback.
- **Startup Warnings Without Optional Mods:** The compatibility mixins for Copycats+, Sodium, Iris and Distant Horizons were always registered, so without those mods Mixin still tried to load their target classes and printed "Error loading class" warnings at every startup, which looked like a missing dependency (issue #87). A mixin config plugin now drops those mixins before their targets are looked up when the matching mod is not installed.
- **Water Staying After Breaking a Block:** Swapping a partial block for air or another partial block does not change whether the hull is sealed, so the water culling was never rebuilt and the old hole stayed. The culling is now rebuilt on the client whenever a block of the ship is replaced by another block (state changes such as a machine turning on are ignored).
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }