Arnis v2.8.3 - Meld Water Update
Tag: v2.8.3 · base: louis-e/arnis v2.8.0 (6172ffb) · previous Meld: v2.8.1 (c77c582)
TL;DR
Comprehensive underwater + shore + wetland rewrite. Vanilla-MC-style ocean floor
with mostly GRAVEL background, rare CLAY/SAND/DIRT/COARSE_DIRT patches, super-rare
5–13 cell MAGMA + SOUL_SAND vents (bubble columns), domain-warped organic shapes.
Tied to --seed for reproducible noise. Bigger prominent dunes, sand→grass shore
fade, wetland MOSS rings, tiered cattail with state-stacked candles, sweep-pass
killing floating veg over water + roads.
Headline features
Underwater bed (vanilla-MC look)
- Patch shapes: independent per-block value-noise fields with domain warping
→ organic flowing patches (long-rounded + bubble shapes), not concentric blobs. - Bed composition (lagoon measure): GRAVEL 64% · CLAY 13% · SAND 11% · DIRT 7% · COARSE 1% · MAGMA 0.3% · SOUL_SAND 0.3%.
- MAGMA + SOUL_SAND rare 5–13 cell clusters at depth ≥ 5 → in-game bubble columns.
- Slope = sqrt curve
depth = local_max × √(dist/span). Steep near shore, plateau far out. - Dunes max 4 blocks, domain-warped, prominent waves, 72% coverage gate, sharper bump curve.
- STONE under all sea bed (no SANDSTONE underwater).
- Under-bed STONE fill 12 cells below
bed_y-1→ no AIR pockets in neighbour columns.
Underwater fauna (vanilla mix)
- SEAGRASS meadow mix: 50% short · 35% TALL_SEAGRASS · 15% SEA_PICKLE (waterlogged).
- KELP min 3 cells, variable column height 30–100%, KELP tip block on top.
- Veg placed ABOVE dune top (not at
bed_y+1) → never carves holes into bed. - AIR-only paint whitelist (fixed
Some(&[])empty-list always-replace bug).
Shore palette (vanilla-MC fade)
- Static-fade SAND → COARSE_DIRT → GRASS_BLOCK over 5-cell band via smooth
value_noise(no pepper). - Stoney shore variant (STONE_BRICKS/COBBLE/ANDESITE etc neighbour): COBBLE 50% · MOSSY_COBBLE 30% · COARSE_DIRT 20%.
- Shore-land cattail/sugar_cane 2%/1% on SAND/DIRT/COARSE_DIRT/GRASS at water-edge.
Wetland (source-water style)
- Per-subtype branch (reedbed/swamp/mangrove/bog/tidalflat/generic).
- MOSS_BLOCK 8-neighbour ring + COARSE_DIRT Chebyshev-2 ring around water puddles (post-pass, no MOSSY_COBBLESTONE noise).
- Tiered cattail: 1 or 2 stalks (max 2) + ONE BROWN_CANDLE block with
candles=1/2/3/4NBT state. - Less grass (50–80% bare MUD per subtype).
Plumbing
- Veg sweep post-pass (
sweep_floating_veg) removes floating cattail/grass/candles/sugar_cane/flowers over water cells + roads. Trees (LOG/LEAVES) explicitly excluded from sweep set. --seedties noise: globalNOISE_SEEDOnceLock set fromargs.tile_invariant_rendering. Same seed → same bed/dune/shore patterns; different seed → shuffled.- 9 new Block IDs (u16 widening): 256 MAGMA_BLOCK · 257 SUGAR_CANE · 258 KELP · 259 TALL_SEAGRASS_BOTTOM · 260 TALL_SEAGRASS_TOP · 261 SEA_PICKLE · 262/263/264 BROWN_CANDLE_{2,3,4} · 265 SOUL_SAND. NBT side-table arms supply correct
half/pickles/candles/waterloggedstates.
CLI / GUI
--seed Nalias for--tile-invariant-rendering N(carried over from prior Meld v2.8.0 work).- GUI: Road-detail dropdown, Ground-height numeric, Seed numeric (carried over).
Files modified (vs Teddy563/arnis main c77c582)
7 new files · 13 modified · ~6,000 LOC delta (incl. wikidata + 3DMR work already in c77c582).
The water-update-specific diff (filtering out unrelated 3DMR pieces) is:
| file | LOC delta | purpose |
|---|---|---|
Cargo.toml |
bump 2.8.1 → 2.8.3 | Meld release version |
src/block_definitions.rs |
+120 / −10 | u16 widening, 9 new IDs + NBT arms |
src/luanti_block_map.rs |
+13 | Luanti mappings for new IDs |
src/water_depth.rs |
+1100 / −10 | full water carve + bed picker + dunes + veg + sweep + STONE under-fill + --seed integration |
src/element_processing/water_areas.rs |
+30 | body_max plumbing + 5×5 bridge ring |
src/element_processing/natural.rs |
+200 / −80 | wetland rewrite + MOSS rings post-pass + sugar_cane + tiered cattail |
src/ground_generation.rs |
+180 / −30 | shore static-fade + stoney variant + shore-land cattail + set_noise_seed + seeded value_noise_01 |
src/data_processing.rs |
+6 | call set_noise_seed + sweep_floating_veg |
Files modified (vs louis-e/arnis main 36f5579)
Larger delta (Meld base is louis-e v2.8.0). Same per-file table as above plus the
11 Teddy commits (Meld scheduler · tile-invariant rendering · road-detail
clean/compact/max · GUI controls · --seed alias) already in Teddy main.