Port authored Age features and Star Fissures to 26.3 beta
Build / build (push) Canceled after 0s

Advance to 1.0.1.54-beta.1 after player validation. Port material, vegetation, lake, terrain-volume, crystal, Dense Ores and fissure features with saved plans. Update beta documentation and release notes.

Refs #98, #104
This commit is contained in:
dnorberg committed 2026-11-02 01:51:20 -05:00
1 parent d75154fa9b
commit c223f3fdca
37 files changed
+2559 -193

No files matched your search

+140
View File
@@ -211,6 +211,146 @@ first surface-feature path; unsupported combinations stay in the Binder.
Random feature selection, unpaired materials, duplicate feature pages, and
instability scoring remain future port steps.
The local `1.0.1.42-beta.1` follow-up lets a Rocks page choose a deterministic
full-block material when no Block page precedes it. Repeated Rocks pages now
add independent placement attempts (up to 32) instead of being rejected. The
ordered material choices are frozen in the Age index and restored after a
restart; old single-material beta Ages still load. An explicit Block page
must still directly precede the Rocks page it modifies. Most other feature
pages and material-feature pairings remain unported.
The local `1.0.1.43-beta.1` slice replaces the temporary 3×3 Rocks piles
with Minecraft 26.3's forest-rock block-blob feature and its placement rules,
matching the 1.21.1 Age feature path more closely. The selected material and
repeat count still come from the frozen Age plan. Only newly generated chunks
use the new rock shape; previously generated chunks remain unchanged.
The local `1.0.1.44-beta.1` slice ports ordered Flowers, Trees, and Huge
Trees pages to surface Ages. Their 26.3 vanilla placed features run after
biome decoration, with the Age's own seed; repeated pages make independent
placement attempts. Cave/Void terrain and cave/Nether/End biome pools are
not treated as surface vegetation. The feature plan survives server restart;
already generated chunks do not gain new decoration.
The local `1.0.1.45-beta.1` slice ports the Dungeons page for Standard,
Amplified, and Island noise terrain. It uses the 1.21.1 placement definition
(eight monster-room attempts per page per chunk across the build height),
stores repeat count with the Age, and rejects Dungeons pages on Flat, Void,
or Cave terrain. New chunks only; existing chunks are not regenerated.
The local `1.0.1.46-beta.1` slice adds Surface Lakes, Deep Lakes, and Small
Lakes on surface noise terrain. A Fluid page immediately before a lake page
selects its fluid. Unmodified pages choose a seeded fluid from the same source-
fluid pool exposed in Creative, with repeated choices and their order saved
with the Age. Surface/Small Lakes retain the 1.21.1 one-in-twelve attempt rule;
Deep Lakes retain vanilla underground placement. These pages currently require
Standard, Amplified, or Island terrain. Existing chunks do not redecorate.
The local `1.0.1.47-beta.1` slice adds authored Floating Islands alongside
Standard, Amplified, Island, Flat, and Void terrain. A preceding Block page
sets the island core material; otherwise each occurrence resolves a seeded
material from the full-block pool. The 1.21.1 shape, high altitude, rarity,
and biome-dependent grass/dirt cap are retained. Repeated pages use independent
island seeds. Cave terrain remains unsupported for this feature.
26.3 combines base noise, surface, and cave carving in one terrain operation.
Floating Islands run after that operation and before decoration, so the added
islands are not cut by the base terrain's carvers. The saved feature plan is
used again after restart and for new chunks; existing chunks keep their blocks.
The local `1.0.1.48-beta.1` slice adds authored Tendrils on every terrain
type, including Cave and Void. A preceding Block page selects the material;
unmodified occurrences resolve seeded materials from the full-block pool.
Repeated pages use independent paths, with up to 32 occurrences per feature.
Mixed Floating Islands/Tendrils retain their authored order in the saved plan.
Tendrils retain the 1.21.1 branching path algorithm, source rates, and vertical
distribution concentrated below Y=128. They can replace existing terrain while
preserving bedrock. As with Floating Islands, they run after 26.3's combined
terrain operation and before decoration. Build checks are automated; in-game
generation, appearance, and restart validation are handed to the player.
The local `1.0.1.49-beta.1` slice adds the Skylands feature page. Its seeded
seven-octave filter removes base terrain at/below a varying cutoff near Y=76
and removes liquid above it, preserving the upper solid terrain. It accepts
all terrain types and no Block modifier. On low Flat terrain this removes
the base layers; on Void it leaves the empty base unchanged.
The filter runs once before authored Floating Islands and Tendrils, matching
1.21.1; duplicate Skylands pages do not compound the filter. Its flag is saved
with the terrain-feature plan. Existing chunks are unchanged. Try Amplified
terrain for a clear visual check; generation and restart validation are manual.
The local `1.0.1.50-beta.1` slice ports Spheres and Spikes using the 1.21.1
generation algorithms. Spheres add solid nodes on all terrain types, including
Cave and Void, while preserving bedrock. Spikes require solid surface terrain:
Standard, Amplified, Island, or Flat. Their circular footprint stays in one
chunk and must have solid ground beneath every column.
Each page accepts a preceding Block material or resolves a seeded random
material when unmodified. Repeated pages have independent placement seeds,
up to 32 per feature. Spheres run during terrain construction, after Skylands;
Spikes run after biome decoration. Both use the existing saved solid-feature
plan. New chunks only; in-game appearance and restart checks remain manual.
The local `1.0.1.51-beta.1` slice ports Obelisks. It preserves the 1.21.1
one-in-128 candidate chance per chunk/occurrence, 4×4 plinth, and 2×2 shaft
extending 12 blocks above it. Placement requires dry, sturdy ground across
the base, at most two blocks of surface variation, and clear/replaceable
space for the complete structure. The footprint stays within its chunk.
Obelisks support Standard, Amplified, Island, and Flat terrain. A preceding
Block page sets their material; otherwise a seeded full-block material is
selected. Repeated pages make independent attempts, up to 32 occurrences.
Spikes and Obelisks share surface-stage classification and preserve their
authored order within that stage. World and restart validation are manual.
The local `1.0.1.52-beta.1` slice ports Crystal Formations using the 1.21.1
surface-mound algorithm and the existing blue crystal blocks. Each occurrence
has a one-in-fifteen candidate chance per chunk; suitable dry, nearly level
ground produces a 3×3 mound with budding crystal and occasional small buds.
The existing budding blocks continue growing crystals through random ticks.
Crystal Formations accepts Standard, Amplified, Island, and Flat terrain,
but not Cave/Void terrain or Block/Fluid modifiers. Up to 32 repeated pages
make independent attempts. The ordered feature plan survives restart, and
only newly generated chunks receive formations. For a quick manual test,
bind a Flat/Plains Age with several Crystal Formations pages, inspect the
blue mounds and bud growth, then revisit after restarting the world.
The local `1.0.1.53-beta.1` slice ports Dense Ores. Each page replays eligible
ore placements from the Age's actual biomes, preserving their height ranges,
replacement rules, and biome filters. Vanilla and modded ore features are
recognized by their ore targets; custom placements can opt in through the
`rivencraft:dense_ores` placed-feature tag, just as in 1.21.1.
Up to 32 pages add independent passes on Standard, Amplified, Island, or Cave
terrain. Flat/Void and Block/Fluid modifiers are unsupported; an explicitly
authored biome pool must contain at least one ore-producing biome. The count
survives restart. Only new chunks gain extra ore, and this slice does not yet
port the later instability system or random-Age feature selection.
For manual validation, create a Standard/Plains Age with several Dense Ores
pages and inspect underground ore abundance, then restart and explore more
chunks. A Cave Age with a Nether biome can check Nether ore placements too.
The local `1.0.1.54-beta.1` slice ports the Star Fissures page. On first book/
operator arrival, it carves the 1.21.1 Legacy-shaped rift near the arrival chunk
and places a starfield portal at the dimension's minimum Y. Cave terrain keeps
its bedrock roof. All terrain types are supported; repeated pages still create
one fissure, and Block/Fluid modifiers are not accepted.
The first arrival and completed generation are saved per Age, so revisits and
restarts do not recarve the rift. Touching its bottom returns entities to a safe
location near the shared Overworld spawn, not a bed, with the original fissure
sound. The portal is unobtainable and inert in the Overworld. Random-Age feature
selection remains later work; author a Star Fissures page to test this slice.
For manual validation, create a Flat/Plains Age with Star Fissures. Look near
the arrival point (generally east/south), descend through the rift, and touch
the starfield to return. Re-enter after restarting; check that the same fissure
and its portal still work. A Cave Age checks that carving leaves the roof intact.
From the repository root:
```sh