Skip to content

Arnis v2.8.3 - Meld Water Update

Choose a tag to compare

@Teddy563 Teddy563 released this 01 Jun 21:47
· 138 commits to main since this release
9fadb03

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.

2026-06-02_00 02 41 2026-06-02_00 12 18 2026-06-02_00 13 09 2026-06-02_00 13 19

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/4 NBT 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.
  • --seed ties noise: global NOISE_SEED OnceLock set from args.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/waterlogged states.

CLI / GUI

  • --seed N alias 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.