Public Access
This commit is contained in:
1 parent
be8440ddb5
commit
35980338e1
43 files changed
+1850
-90
No files matched your search
+226
-2
@@ -2,7 +2,7 @@
|
||||
|
||||
This is an **experimental beta port** for issues #97–#104, not gameplay parity
|
||||
with the Minecraft 1.21.1 release. The 26.3 backend persists separate Ages and
|
||||
their seeds. Books, the Book Binder, Ink Mixer, Writing Desk and page collections
|
||||
their seeds. Books, lectern book stands, the Book Binder, Ink Mixer, Writing Desk and page collections
|
||||
are ported, and the Binder can
|
||||
author Standard, Amplified, Island, Flat, Void, or Cave terrain with supported
|
||||
biome-distribution pages, selected material/vegetation/structure features, and
|
||||
@@ -10,7 +10,7 @@ independent Age weather and lighting, multiple authored or seeded celestial
|
||||
bodies and eclipses, biome/material completion, and random features/structures.
|
||||
Instability, crystal portals, remaining discovery/stations, writing recovery and optional
|
||||
integration parity remain unfinished. The latest published beta is
|
||||
[1.0.1.106-beta.1](RELEASE_NOTES_1.0.1.106-beta.1.md).
|
||||
[1.0.1.115-beta.1](RELEASE_NOTES_1.0.1.115-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.
|
||||
|
||||
@@ -1646,6 +1646,34 @@ Recipe/advancement data loaded; shared models and atlases were verified in
|
||||
the JAR. No client joined these fixtures: visuals, mouse and live catalog
|
||||
updates remain the in-game check. The server was stopped and world removed.
|
||||
|
||||
### Progression advancements
|
||||
|
||||
The local `1.0.1.107-beta.1` slice reuses the 1.21.1 progression tree and
|
||||
translations. The root, Page and Linking Book inventory milestones load along
|
||||
with action milestones for taking a Link Panel from the Ink Mixer, copying a
|
||||
Page at the Writing Desk, binding an Age in the Book Binder and successfully
|
||||
travelling by book into a registered Age. Both normal and shift output pickup
|
||||
paths award after the server consumes the inputs. Opening a menu, viewing a
|
||||
preview or rejected travel does not earn an action milestone. Awards remain
|
||||
per-player and use vanilla advancement persistence. No retroactive action
|
||||
awards are inferred from existing books. The portal advancement is deferred
|
||||
until the Receptacle/portal feature and its icon item are ported.
|
||||
|
||||
The build and disposable-server checks passed advancement decoding, empty and
|
||||
preview Mixer negative checks, normal/shift Panel pickup, actual Desk copying,
|
||||
Binder assembly and registered-Age entry eligibility. Fixtures use vanilla
|
||||
PlayerAdvancements because NeoForge FakePlayer deliberately discards awards.
|
||||
The temporary server was stopped and its world deleted. Client tree layout,
|
||||
toasts, inventory milestones and actual book-travel awards remain manual checks.
|
||||
|
||||
For the in-game check, open Advancements and find the Rivencraft tree. Obtain a
|
||||
Page and Linking Book; then take a Panel from the Mixer, copy a Page at the Desk,
|
||||
bind a Descriptive Book and enter its Age. Check that previews alone do not award
|
||||
progress, then reconnect/restart to confirm earned progress remains. If these
|
||||
milestones were already earned, revoke the Rivencraft tree with the vanilla
|
||||
operator advancement command before retesting. Include shift-click output pickup.
|
||||
Nothing has been committed, pushed or published for this slice.
|
||||
|
||||
From the repository root:
|
||||
|
||||
```sh
|
||||
@@ -1667,3 +1695,199 @@ The dedicated development server uses `build/run-server`, with its own world
|
||||
and properties. Set a nonconflicting `server-port` there before running if
|
||||
another Minecraft server is active. The prototype restores all indexed Ages
|
||||
during the Overworld load, before initial chunk preparation completes.
|
||||
|
||||
The `1.0.1.108-beta.1` visual correction adapts the advancement root background
|
||||
to 26.3's ClientAsset resource identifier (`minecraft:gui/advancements/backgrounds/stone`).
|
||||
The older full texture path decoded but resolved to a missing texture. The shared
|
||||
1.21.1 root keeps its original path. Check the stone background in the client.
|
||||
|
||||
### Crystal advancement background and recipe discovery
|
||||
|
||||
The local `1.0.1.109-beta.1` slice switches the progression background to the
|
||||
existing blue Crystal Block texture (`rivencraft:block/crystal_block`) using
|
||||
the 26.3 ClientAsset identifier format. No new artwork is generated.
|
||||
|
||||
The Ink Vial, Ink Mixer, Book Binder and Crystal Block now receive their 1.21.1
|
||||
recipe-book discovery advancements. Black Dye unlocks the vial, a Glass Bottle
|
||||
unlocks the mixer, an Iron Ingot unlocks the binder, and a Crystal Shard unlocks
|
||||
the block. As with the already-ported Notebook and Writing Desk, 26.3's
|
||||
`recipe_unlocked` condition uses a `recipes` list instead of the older `recipe`
|
||||
field. Recipe ingredients and outputs are unchanged; no Blank Page recipe is added.
|
||||
|
||||
Build and disposable-server checks passed all six loaded crafting unlocks:
|
||||
wrong material stays locked, obtaining the matching material unlocks the recipe,
|
||||
progress remains per-player, and granting the recipe directly completes its
|
||||
advancement. The test server was stopped and its temporary world removed.
|
||||
The player passed the preceding progression/background correction; this crystal
|
||||
background and client recipe-book discovery still need an in-game check. Use
|
||||
Survival and a fresh recipe book (or revoke the relevant recipe/advancement)
|
||||
when testing the four newly ported unlocks. Nothing is committed or published.
|
||||
|
||||
### Lectern book stands
|
||||
|
||||
The local `1.0.1.110-beta.1` slice ports the 1.21.1 lectern conversion and
|
||||
book/page display. Place a Rivencraft book or Page on an empty vanilla lectern;
|
||||
the stand keeps its facing and consumes one item in Survival (Creative retains
|
||||
its held stack). Vanilla occupied lecterns are not replaced. Shift-right-click
|
||||
with an empty hand retrieves the stored item and restores a vanilla lectern.
|
||||
Breaking drops one lectern and its stored item. There is no separate stand item
|
||||
or new crafting recipe.
|
||||
|
||||
The extracted renderer reuses vanilla lectern geometry, existing book textures
|
||||
and the final 1.21.1 Page orientation, including east/west yaw corrections. Books
|
||||
show their name above the stand; Pages have no hover label. Empty-hand use opens
|
||||
the current port book GUI. Clicking the destination panel travels while leaving
|
||||
the book on its stand. Disarm/Maintain Momentum, same-dimension Linking Book
|
||||
restrictions, successful-Age advancements and configured Return Links use the
|
||||
existing travel logic. Handheld travel still drops the active book at departure.
|
||||
Unbound books can be displayed; retrieve and bind them in hand for this slice.
|
||||
Live previews and exploration remain later port work.
|
||||
|
||||
The stand packet includes the source dimension, position and displayed ItemStack.
|
||||
The server checks distance, loaded source chunk, stand identity and exact current
|
||||
book contents before travel, rejecting removed/replaced books or stale screens.
|
||||
No chunk is loaded just to inspect a remote stand. Book storage uses 26.3
|
||||
ValueInput/ValueOutput, update tags and packets. The modern block-entity removal
|
||||
hook receives the old state, so the stored item is dropped there once; retrieval
|
||||
empties it first to prevent duplicate drops.
|
||||
|
||||
Build and disposable-server checks passed conversion/retrieval for all four
|
||||
facings, both hands and all three item kinds; occupied-lectern/unrelated-item
|
||||
rejection; distant/wrong-dimension/replaced/removed-source rejection; exact break
|
||||
drops; component serialization; and named-book persistence across full restart.
|
||||
The server was stopped and its world removed. Client checks: display/orientation
|
||||
in all facings, names above books only, empty-hand GUI opening, panel-click travel
|
||||
for both bound book types, retention at the departure stand, modifier effects,
|
||||
Shift retrieval and break drops. Also restart with a loaded stand. Nothing has
|
||||
been committed, pushed or published for this slice.
|
||||
|
||||
### Descriptive Book author and written pages
|
||||
|
||||
The local `1.0.1.111-beta.1` slice brings the authored-book layout closer to
|
||||
1.21.1: Legacy gilded cover, front name/author on the left and destination panel
|
||||
on the right, followed by one authored glyph page at a time on the right. It
|
||||
reuses `bookui_rpage_full.png` and the existing runtime glyph item pipeline;
|
||||
no new artwork or per-symbol PNGs are generated. Bottom corners and left/right
|
||||
arrow keys turn pages with the vanilla page-turn sound. Only the front page's
|
||||
panel activates travel, including when opened from a stand. Escape still closes
|
||||
the GUI, and focused naming fields retain text input behavior.
|
||||
|
||||
The server records the player's profile name in the persistent/networked
|
||||
`book_author` component when binding through the Binder or the temporary handheld
|
||||
binding flow. Existing books retain their saved ordered `book_symbols`; older
|
||||
books with no author show the shared unknown-author text. Page zero is the front
|
||||
spread, followed by each saved symbol in order (including repeated IDs). Books
|
||||
with no symbols retain the Legacy blank final spread. Inferred generation pages
|
||||
are not inserted into authored contents. The current destination placeholder
|
||||
remains; live snapshots and the pageless random-Age glyph description remain
|
||||
future port work.
|
||||
|
||||
Build and disposable-server checks passed real Binder author assignment, ordered
|
||||
symbol indexing, repeated-symbol presentation, navigation bounds, older/panel-only
|
||||
fallback and book author/page persistence across full restart. The server was
|
||||
stopped and temporary world deleted. Client checks: bind a new book with several
|
||||
distinct pages and verify your name, cover/layout, glyph size/no extra item outline,
|
||||
corner/arrow turns, sound, Escape, GUI resize and travel only from the front panel.
|
||||
Repeat opening the book from a lectern. No commit, push or publication was made.
|
||||
|
||||
### Built-in animated link panels
|
||||
|
||||
The local `1.0.1.112-beta.1` slice ports the 1.21.1 Legacy fallback animation to
|
||||
both book GUIs. Two noisy teal spirals expand into the panel using the shared
|
||||
GUI renderer, replacing the static placeholder and instructional text. Rendering
|
||||
and clicking share the same panel bounds. Separate GUI strata keep the cover,
|
||||
animation and Legacy frame in order. Descriptive Books display the animation only
|
||||
on their front page; clicking written pages does not travel. The animation keeps
|
||||
running while the book is open and does not pause the world, load destination
|
||||
chunks or render/audio-tick a remote world. Lectern books use the same animation.
|
||||
|
||||
This is the existing mod-independent fallback, not a live snapshot or a new shader.
|
||||
It currently uses the fallback's default teal tint; destination-specific tint and
|
||||
live renderer integrations remain unported. The GUI API and outline method were
|
||||
adapted; the root spiral/noise math, timing and reveal are unchanged.
|
||||
|
||||
The build passed. No server behavior or packet schema changes were made and no
|
||||
test server was needed. Check animation/reveal/frame in both books, at different
|
||||
GUI scales and on lecterns; panel clicks should still travel, Escape should close,
|
||||
and descriptive page turning should keep working. Nothing committed or published.
|
||||
|
||||
### Linking Book final spread and shared artwork
|
||||
|
||||
The local `1.0.1.113-beta.1` slice adapts the remaining Linking Book layout
|
||||
from 1.21.1. Its front spread uses the plain Legacy cover, animated right panel,
|
||||
and wrapped/shadow-free text on the left. It shows the bound title, destination
|
||||
dimension and floored block coordinates. Vanilla dimensions use translated names;
|
||||
other dimensions currently use their registry IDs until saved Age display-name
|
||||
metadata is ported. Automatic Return Links suppress the redundant title by its
|
||||
translation identity, matching root behavior.
|
||||
|
||||
The blank final spread, 0/1 counter, bottom-corner and arrow navigation and
|
||||
page-turn sound are now present. Binding widgets hide on the final spread and
|
||||
remain hidden after resizing. Escape closes even with naming focused; focused
|
||||
text inputs consume inventory/hotbar keys. Only the front panel can travel,
|
||||
including books opened from a stand.
|
||||
|
||||
Both book screens now share an extractor adaptation of root LegacyBookArtwork,
|
||||
plus wrapped-text, counter and corner-hit helpers. The descriptive gilded cover,
|
||||
author and symbol pages are retained. This removes duplicated atlas composition
|
||||
without changing packets, saved data, Age generation or destination coordinates.
|
||||
The build passed; no server run was needed for this client-only change. Check
|
||||
long titles, Overworld/Nether/End destination text and negative coordinates,
|
||||
front/final turning/sound, resize/Escape/naming, lectern opening and front-only
|
||||
travel. Recheck descriptive glyph pages after the shared-artwork refactor.
|
||||
Nothing committed, pushed or published.
|
||||
|
||||
### Saved Age and Linking Book destination names
|
||||
|
||||
The local `1.0.1.114-beta.1` slice ports the root destination-name snapshot.
|
||||
New Ages save the entered title, preserving case/spaces/punctuation, separately
|
||||
from their existing dimension ID, folder and seed. New Linking Books bound inside
|
||||
those Ages store that title in `link_destination_name`; the front GUI and tooltip
|
||||
share the same name resolution. Vanilla dimensions keep their familiar names.
|
||||
Automatic Return Links capture the departure dimension's saved name when available.
|
||||
|
||||
The optional display-name map defaults empty for older indexes. Older books/Ages
|
||||
without metadata retain translated vanilla names or raw dimension IDs; no names
|
||||
are inferred from inventory books or folder names. This does not rename folders,
|
||||
rewrite old book labels, change collision suffixes, or reroll any generation.
|
||||
Labels on existing bound books remain snapshots as in root. Names retained with
|
||||
retired identities remain unavailable through active-Age lookup and survive a
|
||||
failed-retirement rollback. Tooltip coordinates now use floor-based BlockPos
|
||||
conversion, matching the GUI for negative values.
|
||||
|
||||
Build and disposable-server checks passed real Binder creation/name assignment,
|
||||
case/punctuation preservation, Linking/automatic Return Link labels, older vanilla
|
||||
fallback, Age unload/reload and full-restart persistence of Age metadata and book
|
||||
components. The temporary Return Link test config was restored, and the server
|
||||
was stopped/world removed. Client check: create a new named Age, enter it, bind
|
||||
a Linking Book there, and inspect its destination in the GUI and tooltip (including
|
||||
on a stand). Recheck after restart; optional Return Links should show the departure
|
||||
name when enabled. No commit, push or publication was made.
|
||||
|
||||
### Universal open-book drops (26.3 half of issue #114)
|
||||
|
||||
The local `1.0.1.115-beta.1` slice converts ordinary dropped Linking and
|
||||
Descriptive Books into the existing open-book entity, including unwritten
|
||||
variants. A server-only join listener queues one conversion after entity/chunk
|
||||
registration; it does not scan worlds or force-load chunks. Existing custom
|
||||
book entities and non-book items are skipped. The source must actually be
|
||||
registered and still present before conversion, and is discarded only after
|
||||
replacement succeeds. Rejected replacements leave the ordinary drop intact.
|
||||
|
||||
The factory uses native entity-state copying and preserves ItemStack components,
|
||||
position, motion, facing, pickup delay, owner/thrower and ordinary entity metadata.
|
||||
It does not apply the handheld travel constructor's Y offset or zero velocity.
|
||||
The replacement receives a new UUID so both can coexist during the transaction;
|
||||
its lifetime switches to the existing open-book decay/weather rules. Existing
|
||||
ordinary books loaded from disk also use the join hook. No per-tick retry is used
|
||||
if another mod cancels conversion; those drops are eligible on a later reload.
|
||||
|
||||
Build and disposable-server checks passed state/component/owner copying and
|
||||
ordinary item, player, container and stand-drop conversion, custom-entity recursion
|
||||
avoidance, non-book exclusion and cancellation recovery. A no-player fixture's
|
||||
entity chunk became unavailable to the first query; temporarily loading that
|
||||
single fixture chunk made the checks pass. No storage stall occurred. The player
|
||||
offered to perform the remaining validation, so no further automated restart run
|
||||
was started. Server stopped and world removed. Shared issue #114 remains open:
|
||||
1.21.1 implementation and manual client validation are pending. Nothing committed
|
||||
or published.
|
||||
Reference in new issue
Block a user