Public Access
Add Floating Islands and material-driven Age features (#45)
Build / build (push) Canceled after 0s
Build / build (push) Canceled after 0s
Keep repeated feature and material pages in authored writing, vary their resolved materials, and expose Link Panel modifier variants in creative and JEI. Remove Descriptive Book writing notes and refine Void biome selection.
This commit is contained in:
1 parent
916755e810
commit
bb88bad8a6
27 files changed
+588
-138
No files matched your search
+42
-2
@@ -40,6 +40,39 @@ 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.
|
||||
|
||||
The separate **Floating Islands** feature page adds rare high-altitude island
|
||||
clusters above Standard, Amplified, Sky Islands, Flat, or Void terrain; it does
|
||||
not replace the terrain page. The feature is seeded by the Age and saved with the written
|
||||
plan, so revisiting an Age recreates the same islands. Without a preceding
|
||||
Block page, the Age seed chooses one valid full-collision block from the Block
|
||||
Pages pool for the island body. A full-block material page immediately before
|
||||
Floating Islands overrides that choice. Ordinary surface biomes still get
|
||||
dirt/grass top layers; Nether and End biomes use the chosen block throughout.
|
||||
The feature is additive even on Sky Islands terrain,
|
||||
which already forms its own islands. Cave terrain rejects it. A page-free random
|
||||
Age may also roll Floating Islands as one of its material features.
|
||||
|
||||
An unpaired Block or Fluid page chooses a compatible feature from the Age seed:
|
||||
full blocks can become Rocks or Floating Islands; source fluids can become one
|
||||
of the lake features. Flat and Void terrain can only use Floating Islands from
|
||||
this pool, while Cave terrain has no compatible material feature. A page-free
|
||||
random Age rolls zero, one, or two distinct compatible features, choosing each
|
||||
material from the Block or Fluid Pages pool. The choices are saved on the Age
|
||||
definition, so opening the Age again does not reroll them.
|
||||
Repeated Block/Fluid and Feature pages remain separate entries in authored
|
||||
writing. Each unpaired material gets its own compatible feature, and repeated
|
||||
decorations use separate placement rolls. Repeated unmodified feature pages
|
||||
choose different compatible materials until their material pool is exhausted.
|
||||
|
||||
For an in-game visual check, bind Descriptive Books with a Link Panel,
|
||||
one of Standard, Amplified, Sky Islands, Flat, or Void terrain, and the Floating Islands
|
||||
feature page in that order. Fly through each Age at roughly Y=170–220 and
|
||||
verify the elevated clusters appear above its unchanged base terrain. Reopen
|
||||
the same Age to check that island positions stay fixed. Islands should be less
|
||||
common than in the first test build (one source chunk in 128 instead of 64).
|
||||
Sky Islands should retain its terrain islands and gain occasional additional
|
||||
feature islands. Try Cave terrain too; the Binder should reject that pairing.
|
||||
|
||||
## Written biome selection (generation version 16)
|
||||
|
||||
Biome pages follow the terrain page and precede the distribution-control page
|
||||
@@ -72,8 +105,15 @@ 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.
|
||||
remains Plains. Void terrain defaults to The Void when no biome page is written,
|
||||
but accepts authored biome pages. One authored biome uses Single distribution
|
||||
when no controller is written. An explicit multi-biome distribution needs enough
|
||||
authored biomes; The Void is not silently added to fill missing positions. These
|
||||
biome regions exist even without blocks or a Floating Islands page, so biome-
|
||||
dependent weather and optional season behavior can still vary there. To check
|
||||
this in-game, bind Void terrain with a Desert Biome page and no feature page:
|
||||
the Age should be empty while F3 reports Desert. A Void book without biome
|
||||
pages should instead report The Void.
|
||||
|
||||
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
|
||||
|
||||
@@ -4,13 +4,13 @@ The Legacy-style front spread has the Age name and author on the left and the de
|
||||
|
||||
The Binder records the taking player's name on the finished book; direct Age binding also records the binding player. Older books without this component display `Unknown author` rather than attributing them to whoever happens to open them. Link-Panel-only and older page-free books retain their random-Age glyph details and destination preview. On authored books, hovering the front-page name exposes the existing trait summary without filling the left page with text.
|
||||
|
||||
The server resolves symbol display metadata from its current catalog and sends advisory grammar diagnostics with the book-opening payload. A missing data-pack symbol draws the unresolved page artwork and its original ID. An affected page displays a red `!` with the server's diagnostic on hover; separate writing-note pages show all diagnostics, including incomplete branches that the Age compiler filled. These UI notices do not alter or recompile the persisted Age plan. Symbol pages use the same bounded, runtime glyph composition as Page items and do not require Create, Ponder, or Immersive Portals.
|
||||
The server resolves symbol display metadata from its current catalog. A missing data-pack symbol draws the unresolved page artwork and its original ID. Descriptive Books do not show writing notes or grammar warning markers; grammar validation remains in the Binder and on the server when an Age is created. Opening a book never changes its persisted Age plan. Symbol pages use the same bounded, runtime glyph composition as Page items and do not require Create, Ponder, or Immersive Portals.
|
||||
|
||||
## Manual visual and behavior checks
|
||||
|
||||
1. Bind a Descriptive Book with two distinct symbol pages. Open it: the front spread shows its Age name, your player name, and the link panel. Turn twice and confirm exactly one large symbol on each right page, in authored order, with no plain-text symbol description or blank trailing page.
|
||||
2. Hover the front-page name to confirm the trait summary remains accessible. Click the link panel to confirm normal travel; repeat from a lectern to check the name, panel, and page-turn layout.
|
||||
3. Open a Link-Panel-only book and confirm its existing random-Age details and destination preview still appear.
|
||||
4. In a copy of a test world, remove a data pack that supplied one authored symbol. Reopen the book: its original symbol ID should remain readable beside the unresolved artwork, and the writing notes should explain the missing definition. Restore the pack and verify the page artwork returns without changing the saved Age.
|
||||
4. In a copy of a test world, remove a data pack that supplied one authored symbol. Reopen the book: its original symbol ID should remain readable beside the unresolved artwork, with no writing-notes pages. Restore the pack and verify the page artwork returns without changing the saved Age.
|
||||
|
||||
`./gradlew build --offline` verifies compilation and jar assembly. The visual and data-pack-removal checks require an in-game client.
|
||||
Reference in new issue
Block a user