Skip to content

Arnis Meld Fork v2.9.3

Choose a tag to compare

@Teddy563 Teddy563 released this 04 Jul 17:55
· 205 commits to main since this release
image

One cave system, done right. The experimental cave engine is gone; --caves now runs a
from-scratch Rust port of Minecraft 1.21.8 cave worldgen, carved directly into the filled
ground at generation time. This is the engine behind Meld 1.5 "Meld Depths".

Added

  • --caves — vanilla-style cave worldgen. A clean-room port of vanilla 1.21.8 cave
    generation: the noise density field (cheese caverns, spaghetti tunnels, entrance pockets,
    pillars, noodle worms) sampled with vanilla's own 4×8×4 cell interpolation, plus the
    random-walk tunnel and ravine carvers. On top of the vanilla base: pool caves (half-flooded,
    grand and coral-reef variants), long snake rivers that pour into caves only while descending,
    a contained deep lava sea below y=-54 with obsidian and magma rims, the vanilla ore table,
    amethyst geodes, and 8 cave biome themes — lush, dripstone, deep dark, mushroom, ice (under
    mountains only), amethyst, volcanic (bottom of the world), coral (in water pools) — with
    plain-rock buffer strips between zones. Implies --fillground.
  • --cave-biomes — biome mix control. Per-theme amounts as name=percent pairs
    (lush=150,deepdark=0,amethyst=50): 100 = the default share, 0 = off, 200 ≈ double the
    area. Omitting the flag reproduces the default distribution byte-for-byte, and the field
    stays a pure function of seed + position, so seam-safety is unaffected.
  • --cave-zone-map — layout preview. Renders the biome zone layout for a bbox without
    generating a world: upper + deep PNG overlays plus a JSON line with the measured share of
    every theme, using the exact zone picker generation uses. Meld's cave-biome preview runs
    on it. --cave-zone-map-step gives a chunky noise-cell view.
  • Cave asset packs. A cave-pack/ directory of .schem formations (ice spikes,
    dripstone columns, amethyst clusters, clay basins) stamped onto floors and ceilings,
    themed by zone, block states preserved. Caves generate fully without one.
  • Deterministic + seam-safe. Every cave pass is a pure function of (seed, position):
    adjacent tiles generated independently carve the same caves at the seam.

Fixed

  • Deep dark is deep-only. Gated below the deepslate line (was mid-cave), so sculk
    belongs to the depths like vanilla.
  • Stone-variant patches at any terrain height. Diorite/granite/andesite/dirt were placed
    at absolute Y ranges that mostly land above ground in low real-world terrain (a valley
    region measured 4 diorite blocks). They are now surface-relative and fill the rock under
    every column — that same region now measures ~173,000.

Removed

  • The old experimental cave engine (~3,900 lines) and its flags, the Underilla pipeline
    hooks it existed for, and the dead ore_generation module. The stone→deepslate transition
    moved to its own module and behaves identically.

Stats: 31+ files, +6,100/−170 lines against 2.9.2. Every build was gated on a region
auditor enforcing zero floating fluid, zero water–lava contact, and zero ore-masking errors.
Every fork flag remains additive — omit them all and the binary behaves exactly like upstream.