Apply authored biome distributions and expose biome pages (#33)
Build / build (push) Canceled after 0s

This commit is contained in:
dnorberg committed 2026-10-01 16:29:01 -04:00
1 parent e28079566b
commit 050a9537e9
44 files changed
+981 -133

No files matched your search

+39
View File
@@ -40,6 +40,45 @@ profiles, not claims that Legacy had identically named terrain symbols.
Every family retains a safe cobblestone arrival platform. An omitted terrain
page still uses the deterministic seed-selected profile.
## Written biome selection (generation version 16)
Biome pages follow the terrain page and precede the distribution-control page
in the Binder. Bundled controls are Native, Single, Tiled, Grid, and Tiny through
Huge regions. Single needs one distinct biome; Tiled/Grid and Tiny–Huge need
two. An authored book receives seeded filler only when it falls below that
minimum, while extra authored pages are retained as weighted entries. A book
with no biome pages selects a seeded count from 2–4 for Tiled/Grid or 2–6 for
Tiny–Huge, capped by the number of eligible terrain biomes. Single uses one;
Native uses its preset biome pool. These random-age maximums do not truncate
authored pages: the Binder's 27 symbol-page positions bound an authored book.
Native cannot be paired with explicit biome pages. Legacy filled Tiny–Huge to
three; Rivencraft deliberately uses two so a pair of written biome pages stays
exactly as written.
The Pages creative tab offers pages for every registered vanilla biome.
Hand-authored symbol definitions take precedence; the remaining vanilla pages
are generated from the biome registry, so they do not each need a JSON file.
Custom/modded biomes still require a data-pack symbol definition.
Standard, Amplified, and Sky Island terrain fill from the vanilla Overworld
biome preset, including its underground Lush Caves, Dripstone Caves, and Deep
Dark biomes. Standard terrain therefore keeps Overworld-style cave generation,
and cave biome pages can also be written explicitly. Sky islands can use an
explicitly authored End biome page.
Cave terrain fills only from `#rivencraft:cave_biomes` (Lush Caves, Dripstone
Caves, and Deep Dark by default); explicitly authored Nether biome pages are
also accepted. Other cave/biome pairings are diagnosed and blocked for now.
Milestone 6 instability should allow such illegal combinations as unstable
Ages, without silently treating them as ordinary cave generation. Flat terrain
uses Overworld choices when a distribution is authored; its Native default
remains Plains. Void terrain defaults to The Void and needs additional authored
biomes for a multi-biome distribution.
The resolved list of biome IDs, their order/repetitions, and distribution are
frozen into the Age plan. A removed biome ID emits a warning and uses an
eligible fallback for that load; restoring the biome recovers the original
selection. Generation-version-15 Ages keep their prior registry-wide biome
selection algorithm instead of being silently regenerated.
## Persistence and reload behavior
An Age permanently stores its selected profile ID, generation version, seed,