Public Access
Port seeded Age completion and Accelerated pages to 26.3 beta
Build / build (push) Canceled after 0s
Build / build (push) Canceled after 0s
This commit is contained in:
1 parent
40770841ee
commit
f13bedd26f
20 files changed
+976
-63
No files matched your search
+123
-1
@@ -9,7 +9,7 @@ independent Age weather and lighting, multiple authored or seeded celestial
|
||||
bodies and eclipses, biome/material completion, and random features/structures.
|
||||
Instability, crystal portals, discovery/stations, writing recovery and optional
|
||||
integration parity remain unfinished. The latest published beta is
|
||||
[1.0.1.93-beta.1](RELEASE_NOTES_1.0.1.93-beta.1.md).
|
||||
[1.0.1.98-beta.1](RELEASE_NOTES_1.0.1.98-beta.1.md).
|
||||
Use a test world and keep a backup; do not
|
||||
substitute this JAR for the 1.21.1 mod or import 1.21.1 saves.
|
||||
|
||||
@@ -1291,6 +1291,128 @@ and `age material_probe <name> [chunk_x chunk_z]`. The latter examines one
|
||||
terrain-stage chunk (default 0,0) without feature, lighting or entity generation. Nothing is committed
|
||||
or published without explicit request.
|
||||
|
||||
The local `1.0.1.94-beta.1` slice ports **structure-aware completion of explicit
|
||||
biome distributions** from 1.21.1. Single Biome without a supplied biome now
|
||||
prefers a biome compatible with every authored structure page, when a common
|
||||
candidate exists. Cave + Single + Nether Fortresses therefore selects an
|
||||
eligible Cave/Nether biome rather than an unrelated cave biome. If there is
|
||||
no common candidate, ordinary seeded filling and authored structure overrides
|
||||
remain available, as in root.
|
||||
|
||||
For multi-biome controllers, each uncovered structure requirement can add one
|
||||
compatible biome from the terrain's available pool. This is an intentional
|
||||
exception to ordinary minimum-only filling: an already-full pool may gain
|
||||
another biome for its structure pages. Supplied biomes, their order and
|
||||
duplicate weights remain intact. A supplied Single Biome is never replaced,
|
||||
Native remains unchanged, and Dungeons impose no biome requirement. The
|
||||
no-controller fallback remains unchanged in this slice.
|
||||
|
||||
Test Single Biome + Villages without biome pages, Cave + Single Biome + Nether
|
||||
Fortresses, and a multi-biome book with structures. Compare an explicit End
|
||||
Single Biome + Villages to confirm that authored override still works.
|
||||
`age create_completed_biomes <name> <seed> <terrain> <distribution> [structure-page-id]`
|
||||
now accepts an optional structure fixture. Existing Ages are not rerolled;
|
||||
restart/reseed retains completed pools. Nothing is committed or published
|
||||
without explicit request.
|
||||
|
||||
The local `1.0.1.95-beta.1` slice seed-completes **omitted biome controllers**
|
||||
in partly authored books, using 1.21.1's first AgeTraits distribution draw.
|
||||
Native, Single and Medium are common; the other supported distributions are
|
||||
rarer. Explicit controllers still win. Supplied biomes are never discarded:
|
||||
a Native roll with authored biomes falls back by count, as does a Single roll
|
||||
with multiple biome pages. Other seeded multi-biome controllers are retained,
|
||||
so a lone supplied biome may receive a second biome to meet the minimum.
|
||||
|
||||
Void without biome pages still uses The Void; supplied Void biome pages keep
|
||||
their existing count-based behavior. An omitted controller that rolls Native
|
||||
on Cave terrain uses the same seeded Single fallback already used by random
|
||||
Ages, since the port has no native multi-cave source. Explicit Native Cave
|
||||
behavior remains unchanged. Structure-aware completion from .94 applies to
|
||||
the resulting nonnative controller. Full Link-Panel-only random generation
|
||||
retains its existing selector and seeds.
|
||||
|
||||
Test new terrain-only books without biome controllers, one/two supplied biome
|
||||
pages without a controller, and Cave + Nether Fortresses without a biome
|
||||
controller. Compare an explicit Single Biome book and restart/revisit.
|
||||
`age create_completed_biomes <name> <seed> <terrain> auto [structure-page-id]`
|
||||
provides an omitted-controller fixture. Existing Ages are not rerolled.
|
||||
Nothing is committed or published without explicit request.
|
||||
|
||||
The local `1.0.1.96-beta.1` slice seed-completes **omitted terrain pages** in
|
||||
partly authored books. It starts with the same ranked terrain draw as random
|
||||
Ages, following 1.21.1's `selectForWriting` model. If that terrain cannot host
|
||||
the supplied features/materials, a deterministic fallback chooses a compatible
|
||||
terrain in stable profile order. The port also preflights its current biome
|
||||
restrictions, avoiding an automatic Cave choice for supplied surface biomes.
|
||||
|
||||
Explicit terrain still wins and incompatible explicit combinations remain
|
||||
rejected. Missing-terrain Fortress books can now bind using Cave terrain;
|
||||
unpaired fluids use supported surface noise terrain. No extra random features
|
||||
are added to partly authored books. The original book page list stays intact;
|
||||
the chosen terrain is appended only to internal generation input so material
|
||||
and color/controller indices do not shift. Sky/color/celestial compilation
|
||||
still reads the original pages. Fully random Link-Panel-only Ages retain their
|
||||
existing selector. Already-created Ages do not change terrain.
|
||||
|
||||
Test several new books with Sky or a feature but no terrain page, Nether
|
||||
Fortresses alone, and an unpaired Water page. Compare an explicit Flat book
|
||||
and a Plains biome page without terrain; the latter must not choose Cave.
|
||||
`age create_auto_terrain <name> <seed> <page-id>` exercises the production
|
||||
selector for one-page fixtures. Restart and revisit to confirm persistence.
|
||||
Nothing is committed or published without explicit request.
|
||||
|
||||
The local `1.0.1.97-beta.1` slice ports **Native Cave biome distribution** from
|
||||
1.21.1. A new Cave + Native book now freezes the full recognized Cave/Nether
|
||||
biome pool and distributes it with the existing seeded Tiny-region sampler,
|
||||
instead of forcing Lush Caves. An omitted controller or random Cave Age that
|
||||
rolls Native now uses that same pool rather than converting to Single.
|
||||
Random structures inspect the saved pool, so eligible Nether structures are
|
||||
no longer hidden behind an assumed Lush-only source.
|
||||
|
||||
Existing Single Cave Ages remain Single. Old empty Native Cave records keep
|
||||
their Lush fallback; they are not silently expanded on load. Other Native
|
||||
terrains remain unchanged, and explicit Native still rejects biome pages.
|
||||
Pools persist across restart/reseed; reseeding can still change future region
|
||||
layout. Modded biome surface-rule integration remains separate pending work.
|
||||
Back up before updating and do not downgrade worlds containing new Native
|
||||
Cave pools to earlier beta builds.
|
||||
|
||||
Test a **new** Cave + Native Biomes book without individual biome pages,
|
||||
explore multiple regions, then restart/revisit. Compare an explicit Single
|
||||
Cave book and an existing old Cave Age. The existing
|
||||
`age create_completed_biomes <name> <seed> cave native` fixture also checks
|
||||
the native source against Tiny's sampler without generating chunks.
|
||||
Nothing is committed or published without explicit request.
|
||||
|
||||
### Accelerated random block ticks
|
||||
|
||||
The local `1.0.1.98-beta.1` slice ports the **Accelerated** environment page
|
||||
from 1.21.1. Repeated pages stack: each adds three extra random positions per
|
||||
eligible block section per tick. Only already-loaded chunks within one chunk
|
||||
of players are candidates; no extra chunks are loaded. Defaults match 1.21.1:
|
||||
at most eight candidate chunks and 16,384 attempted positions per Age tick,
|
||||
shared across sections with rotating selection. These limits live in
|
||||
`config/rivencraft-local.toml` under `accelerated_age`; setting
|
||||
`max_random_tick_attempts_per_tick` to zero disables the extra ticks.
|
||||
|
||||
This affects random-ticking blocks such as crops and saplings, not entities,
|
||||
machines, scheduled block ticks, or the day/night clock. The authored page
|
||||
count persists with the Age across unload/reload, reseeding and restart.
|
||||
Existing Ages default to zero; pageless random Ages do not gain Accelerated
|
||||
automatically. Instability costs remain part of the pending instability port.
|
||||
|
||||
Test two otherwise comparable new Ages, one with a single Accelerated page
|
||||
and one with repeated pages. Plant crops/saplings with suitable light and
|
||||
space, remain nearby, and compare growth. Revisit after restart. The operator
|
||||
command `/rivencraft_port age acceleration <name>` reports the saved count
|
||||
and current budgets. Disposable-server fixture
|
||||
`age create_accelerated <name> <seed> <pages>` checks authoring and bounded
|
||||
attempt arithmetic and creates a Flat Age; it does not prove live growth.
|
||||
Build and disposable dedicated-server checks passed for counts 0, 1 and 32,
|
||||
overflow/disabled budget arithmetic, unload/reload, reseed and full restart.
|
||||
No player was connected for the server checks, so live growth remains an
|
||||
in-game acceptance check. The test server was stopped and its world removed.
|
||||
|
||||
From the repository root:
|
||||
|
||||
```sh
|
||||
|
||||
Reference in new issue
Block a user