# Changelog
## [3.1.0] - Hotfix
### Bug Fixes
- **Triangle Holes in the Water Around Boats:** A boat's hold was any space boxed in by walls on all four sides, even with no floor under it. A hull without a bottom, a moon pool or any open well in the middle of a ship was treated as a dry hold, and its water culling cut the sea into triangles: the sea floor showed through in some places, the water stayed in others. A cell now only counts as hold when there is a hull block somewhere below it in its column.
- **"Batching sections" Crash With Ballast Tanks:** To pick its connected texture, a Ballast Tank walked its whole layer (up to 512 tanks) to check whether it formed a full rectangle. The chunk builder only hands out the blocks of the section being built plus one chunk around it, so a wide ballast layer, or one sitting near a chunk border, read past that area and crashed the game while building the chunk. The search now stays within 16 blocks of the tank, the area the chunk builder always provides; anything larger is treated as a full layer.
- **World Freezing on Join With a Submarine:** In singleplayer the client and the integrated server share the hull strength cache. When a world with a submarine was opened, the client cleared that cache to apply the synced hull values while the server thread was filling it for the submarine's pressure check, on a plain `HashMap`. Two threads writing the same map can corrupt it and lock the game up for good. The cache and the hull value table are now thread-safe.
- **Onboard Computer FPS Drop:** The side-view blueprint of the ship on the computer screen was redrawn ten times a second. Each redraw renders the whole ship again, with its block entities, the entities on board and the outline pass, which cost up to half the frame rate while the screen was in view. The blueprint is now only redrawn when a block of the ship changes (at most twice a second), and every ten seconds otherwise.
- **Water Cubes Around Waterlogged Blocks:** Seagrass, kelp, waterlogged stairs and any other waterlogged block in a hold or a submarine was cut out of the water culling, so the sea showed through a hole around it as a strangely sliced water cube. Only real water blocks are left out now; waterlogged blocks are culled like the rest of the hull.
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" }