Public Access
This commit is contained in:
1 parent
40770841ee
commit
f13bedd26f
20 files changed
+976
-63
No files matched your search
@@ -10,6 +10,17 @@ tracks issues #97–#103 under parent #96.
|
||||
|
||||
## Version boundary
|
||||
|
||||
Local slice `1.0.1.98-beta.1` ports the 1.21.1 Accelerated environment page:
|
||||
stacking extra random block ticks in already-loaded player-nearby chunks,
|
||||
eight-chunk/16,384-attempt default budgets, fair rotating section allocation,
|
||||
and an Age-local saved page count. The 26.3 LOCAL config holds these limits.
|
||||
Entities, machines and scheduled ticks are unaffected. Existing Ages remain
|
||||
unaccelerated; random Age inclusion and instability scoring are not added.
|
||||
The suspected host-seed biome zoom mismatch was checked against NeoForge's
|
||||
patched ServerLevel constructor: seedOverride already replaces it correctly,
|
||||
so the backend seed path was left unchanged. Native Cave policy issue #111
|
||||
remains separate future work for both Minecraft tracks.
|
||||
|
||||
Minecraft 26.3/NeoForge uses Java 25, while Rivencraft 1.21.1 uses Java 21.
|
||||
Build and publish separate artifacts; do not widen the Minecraft dependency
|
||||
range of the 1.21.1 JAR. The official [26.3 release notes](https://www.minecraft.net/en-us/article/minecraft-java-edition-26-3),
|
||||
@@ -1801,6 +1812,144 @@ fresh chunks after full restart again used Nylium/End Stone. No full feature
|
||||
or entity chunk scans were run. The server was stopped and temporary world
|
||||
deleted. Nothing was committed, pushed or published.
|
||||
|
||||
## Structure-aware biome completion
|
||||
|
||||
`1.0.1.94-beta.1` adapts root `AgeBiomeSelection.completeStructureBiomes` for
|
||||
explicit non-Native biome controllers. It reads compatible biome IDs from
|
||||
the active registered structure sets and shares this lookup with random
|
||||
structure eligibility, avoiding two different compatibility definitions.
|
||||
Repeated structure pages produce one requirement; Dungeons are excluded.
|
||||
Single with no supplied biome chooses from the intersection of all structure
|
||||
requirements and terrain-eligible biomes. No intersection leaves ordinary
|
||||
seeded filling intact. An explicit Single biome is never rewritten.
|
||||
|
||||
Multi-biome completion adds one seeded compatible biome for each unmet
|
||||
requirement where a terrain-eligible candidate exists, before ordinary minimum
|
||||
filling. Root's salts, requirement order and shuffled candidate selection are
|
||||
preserved. Existing biome order and duplicate weights remain, but a structure
|
||||
can intentionally extend a pool beyond the usual minimum. Native and the
|
||||
port's no-controller fallback remain unchanged. Impossible requirements do
|
||||
not become new writing rejections: authored structure overrides still apply.
|
||||
No saved format, network protocol or generated chunks are changed.
|
||||
|
||||
The completed-biome fixture accepts an optional structure page and checks
|
||||
32 seeds for compatible Single/Cave Fortress choices, common Village/Stronghold
|
||||
requirements, explicit End Single precedence, Native behavior, multi-biome
|
||||
prefix preservation and avoiding unnecessary additions for already-compatible
|
||||
or repeated structure pages. Existing biome plan codec checks remain in place.
|
||||
|
||||
The .94 build and disposable server checks passed. Village Single and Tiny
|
||||
fixtures included compatible Plains; Cave Fortress Single selected Crimson
|
||||
Forest. The 32-seed authoring assertions and the preexisting no-structure
|
||||
completion checks passed. Saved generator pools survived unload/reload,
|
||||
terrain reseed and full restart. The server was stopped and its temporary
|
||||
world deleted. No structure-placement chunk scan was needed. Client book
|
||||
authoring remains a manual check; no commit, push or publication occurred.
|
||||
|
||||
## Omitted biome-controller completion
|
||||
|
||||
`1.0.1.95-beta.1` ports the no-controller branch of root `AgeBiomeSelection`
|
||||
and the first `AgeTraits.select` draw. The rank table and seed stream are
|
||||
shared with `PortRandomAgeSelection` rather than duplicated. The production
|
||||
seeded biome compiler uses that default when there is no explicit controller;
|
||||
the registry-only diagnostic overload retains its exact older defaults.
|
||||
Explicit controllers are unchanged. Native rolls with authored biomes, or
|
||||
Single rolls with more than one biome page, fall back by authored count to
|
||||
Single/Tiled/Medium. Other multi-biome rolls retain their distribution and
|
||||
ordinary minimum-only filling, plus .94's structure requirements.
|
||||
|
||||
Void's omitted controller remains Single for empty pools and count-based
|
||||
for supplied biome pages. Cave's omitted Native roll follows the port's
|
||||
existing page-free seeded Single workaround; a native multi-cave source is
|
||||
still not implemented. Explicit Native is not silently converted. No other
|
||||
terrain, weather, lighting, color or body seed stream changes. Saved plans
|
||||
remain frozen through restart and terrain reseed; old Ages are not rewritten.
|
||||
|
||||
The completed-biome diagnostic accepts `auto` and checks 128 seeds for all
|
||||
nine distribution results, independence from unrelated weather pages,
|
||||
authored prefix preservation, one/two-biome fallbacks, Void behavior and
|
||||
structure-aware completion. Existing explicit-controller checks still run.
|
||||
|
||||
The .95 build and disposable-server checks passed. The expanded 128-seed
|
||||
matrix covered all distributions, authored one/two-biome rules and Cave pools.
|
||||
Created automatic Standard, Cave, Void and Cave Fortress fixtures, plus the
|
||||
unchanged full-random command and explicit Single/Native Cave controls.
|
||||
Generator pools survived unload/reload, reseed and full restart. A second seed
|
||||
produced Small regions with three biomes, while explicit Native Cave retained
|
||||
its Lush Caves source. No chunk-generation scan was needed. The server was
|
||||
stopped and its temporary world deleted. Client authoring remains a manual
|
||||
check; nothing was committed, pushed or published.
|
||||
|
||||
## Omitted terrain completion
|
||||
|
||||
`1.0.1.96-beta.1` adapts root `AgeRuntimeProfiles.selectForWriting`. A partly
|
||||
authored book without terrain starts with the shared ranked terrain draw;
|
||||
if unsupported, compatible profiles in stable ID order are indexed using
|
||||
`floorMod(Long.hashCode(seed), count)`. Explicit terrain is never substituted.
|
||||
Unlike root's feature-only candidate test, the port additionally preflights
|
||||
registry-backed biome restrictions to avoid selecting an unloadable Cave
|
||||
combination for supplied surface biomes. This is a deliberate compatibility
|
||||
guard while the broader writing/instability recovery remains unported.
|
||||
|
||||
Binder availability checks now consider whether any supported terrain can
|
||||
host an omitted-terrain book instead of assuming Standard. The server resolves
|
||||
the actual terrain and biome plan once, then passes the resolved internal page
|
||||
view to material/feature compilers. The inferred terrain is appended internally,
|
||||
not inserted before original pages or written back to the book. Original
|
||||
indices and ordered modifiers remain intact. Environment controllers use the
|
||||
selected terrain, while sky colors and celestials still compile from original
|
||||
pages. Page-free random books retain their original path and seed streams.
|
||||
The chosen terrain and generator plans use existing saved fields, so no
|
||||
network protocol change or retroactive terrain reroll is introduced.
|
||||
|
||||
The fixture checks 64 seeds for terrain coverage, deterministic selection,
|
||||
original page prefixes, Cave-only Fortress support, implied-fluid constraints,
|
||||
surface-biome compatibility, explicit terrain precedence and Binder
|
||||
availability. Generator placement still uses the previously ported routines.
|
||||
|
||||
The .96 build and disposable server checks passed. The 64-seed assertions
|
||||
covered all six terrains, deterministic fallback, page-prefix preservation,
|
||||
explicit Flat, surface-biome protection and Cave-only Fortress availability.
|
||||
Created Sky-only, Fortress-only, Water-only, Plains-only, explicit Flat and
|
||||
full-random fixtures. A Water page retained Water as its implied lake fluid;
|
||||
Fortress-only selected Cave with eligible biomes. Plans survived unload/reload,
|
||||
reseed and full restart. The server was stopped and its temporary world
|
||||
deleted. No chunk scan was needed; client Binder checks remain manual.
|
||||
Nothing was committed, pushed or published.
|
||||
|
||||
## Native Cave regions
|
||||
|
||||
`1.0.1.97-beta.1` ports root `AgeBiomeSelection`'s full Native Cave pool and
|
||||
`AgeDimensionService.createBiomeSource`'s Native-to-Tiny mapping. New Native
|
||||
Cave plans retain distribution NATIVE with a saved recognized Cave/Nether
|
||||
list, and the backend uses `PortScaledBiomeSource` at scale 0 (or Fixed for
|
||||
a one-biome pool). Explicit Native biome pages remain prohibited. Both authored
|
||||
and page-free/omitted-controller paths use the same eligibility query; the
|
||||
temporary Native-to-Single Cave conversions are removed.
|
||||
|
||||
Native pool data is permitted only for Cave terrain at backend validation.
|
||||
Other Native terrain sources are unchanged. Empty older Native Cave records
|
||||
still load the old Lush source; old Single choices also remain frozen. New
|
||||
Native pools are saved through the existing biome-plan codec without a new
|
||||
network protocol, but earlier betas cannot decode populated Native pools, so
|
||||
downgrading those saves is not supported. The current pool is passed to random
|
||||
structure eligibility rather than incorrectly assuming Lush Caves.
|
||||
|
||||
The fixture verifies registry-derived pool ordering, old empty Native codec
|
||||
defaults, the actual generator source, deterministic Tiny-region equivalence,
|
||||
horizontal region variation and sampled pool membership without loading
|
||||
chunks. The omitted-controller matrix now expects Native Cave to remain
|
||||
Native with its full pool. This does not implement modded surface rules.
|
||||
|
||||
The .97 build and disposable-server checks passed: explicit and omitted
|
||||
Native Cave, the full-random Native Cave path (seed 114), Native + Fortresses,
|
||||
explicit Single and the legacy Lush-only control. The vanilla registry pool
|
||||
contained nine biomes, including Sulfur Caves and all five Nether biomes;
|
||||
the actual Native source passed Tiny-equivalence and sample-membership checks.
|
||||
Pools survived unload/reload, reseed and full restart. The server was stopped
|
||||
and its temporary world deleted. No chunk scan was needed. Client exploration
|
||||
remains a manual check; nothing was committed, pushed or published.
|
||||
|
||||
## Verification of this first slice
|
||||
|
||||
The 1.21.1 `compileJava` and `build` tasks passed offline after the backend
|
||||
|
||||
Reference in new issue
Block a user