Public Access
Release 26.3.0.1 with live Reborn views and random page policies
Build / build (push) Waiting to run
Build / build (push) Waiting to run
This commit is contained in:
1 parent
f9097967b9
commit
41daff1e61
59 files changed
+1997
-148
No files matched your search
+250
-18
@@ -1,23 +1,26 @@
|
||||
# Minecraft 26.3 beta port workspace
|
||||
|
||||
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, 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
|
||||
independent Age weather and lighting, multiple authored or seeded celestial
|
||||
bodies and eclipses, biome/material completion, and random features/structures.
|
||||
Crystal portals and libraries are ported. Instability scoring/provider selection,
|
||||
status effects, colored decay, lightning, explosions, meteors, burning and erosion,
|
||||
ordered writing recovery, live material profiling and all six Link Modifier controls are now ported.
|
||||
Seed editing, operator-confirmed Age retirement and creation rollback are included.
|
||||
JEI, TerraBlender/Biomes O' Plenty, Serene Seasons/GlitchCore and Ruins are optional
|
||||
integrations. Live previews, remaining discovery/configuration parity and the final
|
||||
multiplayer regression remain unfinished. The latest published beta is
|
||||
[1.0.1.136-beta.1](RELEASE_NOTES_1.0.1.136-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.
|
||||
The current **Minecraft 26.3 release is 26.3.0.1**, for NeoForge 26.3.0.99 and
|
||||
Java 25. It uses Rivencraft's first-party Age backend, with no Dynamic Dimensions
|
||||
or Bad Packets dependency. The writing loop, authored/seeded Ages, generation
|
||||
features, weather/skies/celestials, libraries, crystal portals, live instability,
|
||||
and Link Modifier controls are ported. JEI, TerraBlender/Biomes O' Plenty, Serene
|
||||
Seasons/GlitchCore and Ruins are optional.
|
||||
|
||||
Immersive Portals Reborn 7.0.12 optionally supplies rotating live book previews
|
||||
and continuous crystal portal views. Built-in animations and normal travel remain
|
||||
available without it. Random-page eligibility and glyph descriptions are included.
|
||||
Use one portal fork per instance. The server controls crystal live views through
|
||||
`book_previews.reborn_crystal_live_views`; clients can disable live book views
|
||||
with `book_previews.reborn_live_views` in `rivencraft-local.toml`.
|
||||
Reborn's Static Sky rendering issue remains tracked in
|
||||
[#116](https://git.paddedcell.org/dnorberg/rivencraft/issues/116).
|
||||
|
||||
This regular release is player-validated but does not claim complete 1.21.1 parity.
|
||||
Issues #100, #103 and #104 retain the final multiplayer/parity/release-workflow
|
||||
checks. Preview exploration controls and Create/Ponder scenes remain unported.
|
||||
Use matching client/server builds, keep saves separate from 1.21.1 and back up
|
||||
before updating. See [release notes](RELEASE_NOTES_26.3.0.1.md).
|
||||
|
||||
The entries below record how the port was built, including earlier alpha-only
|
||||
limitations that were addressed by later slices.
|
||||
@@ -2801,3 +2804,232 @@ filtering, both dimension gates, spawn-event veto, and a real Tiki Head placemen
|
||||
retained the counts. Temporary fixtures and test worlds were removed; test servers
|
||||
were stopped. Client glyph/GUI checks and natural spawning while exploring an Age
|
||||
remain player validation. No commit, push, or publication; #102 remains open.
|
||||
|
||||
|
||||
### Random Page eligibility and library discovery — 1.0.1.137-beta.1
|
||||
|
||||
The player passed .136 and authorized its publication. This slice adapts 1.21.1's
|
||||
RandomPagePolicy and random_pages allowlist/blocklist. Short paths (sky/static)
|
||||
and fully namespaced Page IDs are accepted; blocklist wins, and allowlist entries
|
||||
restrict only their own categories. Biome controllers are a separate category
|
||||
from individual biomes. Creative/JEI availability and manual book authoring are
|
||||
not filtered.
|
||||
|
||||
Normal Link-Panel-only book creation takes one immutable policy snapshot and
|
||||
passes it through terrain, biome distribution/Page completion, environment,
|
||||
celestial kinds, material features/materials, optional formations and structures.
|
||||
Seasons use the same snapshot before their saved policy is committed. Resolved
|
||||
choices are already frozen in Age index/season data, so reload/reseed never reads
|
||||
the current lists to reselect an old Age. Authored and partly authored books use
|
||||
the existing unrestricted completion behavior, matching the 1.21.1 boundary.
|
||||
|
||||
Required empty categories use Standard terrain, Native distribution, Normal
|
||||
lighting/weather, inherited Overworld sky, or No Seasons. Optional features or
|
||||
materials with no candidates are omitted, not filled with a forbidden random
|
||||
Page. Non-Native biome distributions preserve their required minimum using the
|
||||
terrain's preferred/native fallback pool; necessary fallback biomes can therefore
|
||||
bypass a filter. Native noise biomes come from the preset, not biome Page selection,
|
||||
and remain unfiltered just as in 1.21.1. Void still has its required Void biome.
|
||||
Cave weather/season safety overrides remain unchanged. Original unrestricted
|
||||
terrain/distribution seed choices are unchanged; filtered ranks are recalculated
|
||||
using the shared Legacy rank chooser instead of a duplicate weighted routine.
|
||||
|
||||
Newly placed direct library Pages apply the current policy in both LEGACY and
|
||||
AGE_ONLY modes. Existing inventory contents are not rewritten. The Legacy library
|
||||
pool now includes exact Ruins templates and semantic bundled pages rather than
|
||||
reusing the Sealed Notebook's narrower pool. Sealed Notebook opening retains its
|
||||
1.21.1 pool behavior; this setting does not retroactively edit unopened/old loot.
|
||||
No policy filtering is applied to JEI or creative portfolios.
|
||||
|
||||
Build passed. A disposable no-optional dedicated server passed 766 creation/policy
|
||||
checks over 48 seeds and six restart checks: normal book binding, manual blocked
|
||||
Page authoring, immutable saved settings under a changed policy, unload/reload,
|
||||
required category/biome fallbacks, optional empty pools, material eligibility,
|
||||
Native distinction, season policies without requiring Serene classes, library
|
||||
filtering and unchanged Creative entries. The later rank revision added default
|
||||
seed-compatibility and minimum-biome checks. These are temporary fixtures, not
|
||||
new permanent game tests. Worlds and fixtures removed, servers stopped, production
|
||||
JAR rebuilt. Player config/GUI/world validation remains pending. No commit, push
|
||||
or publication.
|
||||
|
||||
|
||||
### Random-Age book glyph prose — 1.0.1.138-beta.1
|
||||
|
||||
The player passed the .137 eligibility slice. Ported 1.21.1's first-page random-Age
|
||||
glyph description: the Age name and author remain ordinary text on the left,
|
||||
followed by layered Legacy word glyphs and real base-25 numerals for terrain,
|
||||
distribution, lighting, weather and the first celestial cycle's period/angle/phase.
|
||||
Authored books keep their existing name/author front page and single-symbol middle
|
||||
pages; no writing notes or instability scores are introduced. The right-side
|
||||
animated link panel and its click-to-travel behavior are unchanged.
|
||||
|
||||
The existing symbolcomponents.png atlas and deterministic word mappings are reused
|
||||
directly with tinted GUI_TEXTURED blits; no generated art or per-frame dynamic
|
||||
textures are added. A common prose layout helper handles Unicode word boundaries,
|
||||
numeric width and wrapping. Writing Desk tab numerals now use the same rendering
|
||||
routine, retaining their existing size/position/color.
|
||||
|
||||
Public terrain/distribution/lighting/weather metadata is sent in the Age catalog,
|
||||
with celestial data reused from its existing saved-cycle map. These are actual
|
||||
loaded Age settings rather than a reroll from the book ID or current config.
|
||||
Metadata excludes seeds, instability scores and providers. It does not load an
|
||||
unavailable destination merely to display a book. Full catalog replacement removes
|
||||
unloaded/retired entries; logout clears description/cycle caches. Older books with
|
||||
no authored symbol component use the random-description path. Existing Age/save
|
||||
formats remain readable. Catalog network protocol is now 11 (previously 10):
|
||||
client and server must use matching builds.
|
||||
|
||||
Build passed; disposable no-optional dedicated-server checks passed catalog
|
||||
serialization, immutable snapshots, actual saved setting capture, cache
|
||||
replacement/clear, real restart, unload/reload and retirement. Pure layout checks
|
||||
covered Legacy word splitting, Unicode, wrapping, base-25 width and oversized
|
||||
numeric fallback. Test worlds and fixtures removed, server stopped and production
|
||||
JAR rebuilt. Visual glyph layering, book/lectern appearance and actual client
|
||||
catalog receipt remain player validation. No commit, push or publication.
|
||||
|
||||
|
||||
|
||||
### Renamed Immersive Portals dimension bridge — 1.0.1.139-beta.1
|
||||
|
||||
The player passed .138. Confirmed the user's correction: the 26.3 Immersive Portal
|
||||
implementation uses the Seamless Portals name/mod ID, retaining qouteall rendering,
|
||||
chunk-loading and dimension APIs. Added an optional shared dimension-ID adapter
|
||||
before Rivencraft catalog publication/acknowledgement. It synchronizes integer
|
||||
IDs and native type/sea-level metadata without delegating Age ownership. Failed
|
||||
synchronization blocks acknowledgement/travel rather than making a successfully
|
||||
committed Age appear to have failed binding. Startup, unload/reload, reseed and
|
||||
retirement are covered. Live book/crystal rendering remains later work.
|
||||
|
||||
The installed working build passed 35 server creation/catalog checks plus 13 after
|
||||
restart. Normal book binding, native metadata, API ID roundtrips, two Ages,
|
||||
lifecycle changes and failed-creation nonpublication were checked. No-optional
|
||||
startup passed. Real client travel remains pending; Prism files were not changed.
|
||||
|
||||
Correction to the initial artifact audit: old CurseForge file 8937394 fails during
|
||||
its own constructor on .99 with missing DataPackRegistryEvent$NewRegistry; this is
|
||||
NOT the latest release. The latest file is 9218525, displayed as 10.0.0 while its
|
||||
filename/internal metadata still say 1.0.0. Its SHA-256 exactly matches the user's
|
||||
installed working file:
|
||||
5d2bfc2a811a6526e3f6722c521d97e5de2869a6ead1c681323c3c472e4367a0.
|
||||
The compile dependency is corrected to 9218525 in .140. The earlier broad claim
|
||||
that the current published build cannot start was wrong and is superseded here.
|
||||
|
||||
NeoForge audit on 2026-11-11: official Maven metadata lists .102 as latest in the
|
||||
26.3 line. Its universal JAR still lacks the old NewRegistry class, so upgrading
|
||||
cannot fix that OLD portal artifact. Current target remains validated .99; a
|
||||
separate .102 build/client/server check is recommended. No release authorized.
|
||||
|
||||
|
||||
### Immersive Portals Reborn comparison and shared bridge — 1.0.1.140-beta.1
|
||||
|
||||
The user suggested Reborn. Verified the NeoForge 26.3 release is 7.0.12, file
|
||||
9435354 in CurseForge project 1721833. The newer 7.0.18 is Fabric. The Reborn JAR
|
||||
registers immersive_portals_reborn plus its legacy core aliases and retains the
|
||||
qouteall GUI rendering/portal/chunk/dimension APIs. It starts on NeoForge .99
|
||||
without Cloth Config or other optional mods in the test environment.
|
||||
|
||||
Generalized the optional bridge to recognize either Reborn or Seamless. Both
|
||||
share DimensionIntId.onServerDimensionChanged and the createFromServer packet
|
||||
factory. Seamless's createPacket returns a vanilla Packet; Reborn's returns a
|
||||
CustomPacketPayload. The adapter now wraps createFromServer in the vanilla
|
||||
clientbound payload packet, preserving each fork's native two-/three-tag wire
|
||||
format. No cross-fork packet schema is invented and neither dependency is bundled.
|
||||
The compat probe recognizes both. A development run may select
|
||||
-PwithImmersivePortalsReborn or -PwithSeamlessPortals; requesting both is rejected
|
||||
because the forks share classes/mixins. The normal build remains optional-free.
|
||||
|
||||
Reborn passed 32 creation/catalog checks and 15 after restart: real book-binding
|
||||
entry point, two runtime Ages, ID/type metadata, native wire roundtrip, per-player
|
||||
packet preparation, unload/reload, reseed, retirement isolation and persistence.
|
||||
Seamless latest file 9218525 passed the same 32 lifecycle/packet and 15 restart checks against the shared adapter.
|
||||
These are server/packet checks, not evidence of renderer quality or real client
|
||||
packet receipt. Reborn is a viable next client-test target; no performance
|
||||
superiority is claimed. Live snapshots, chunk leases/audio isolation, and live
|
||||
crystal surfaces still need porting. Player files were not modified. Temporary
|
||||
worlds/fixtures removed; no commit, push or publication.
|
||||
|
||||
|
||||
### Reborn live book previews — 1.0.1.141-beta.1
|
||||
|
||||
Linking and Descriptive Book front panels now use Immersive Portals Reborn's
|
||||
live GUI-world renderer when Reborn is installed on both sides. This carries
|
||||
forward the 1.21.1 camera orbit (11-block radius, five blocks above the focus),
|
||||
destination sky/fog, chunk streaming and remote-audio isolation. Server destination
|
||||
resolution uses the actual held book or a nearby loaded stand's matching book;
|
||||
the client cannot request arbitrary destination coordinates.
|
||||
|
||||
A unique session ID prevents stale replies or close packets from replacing or
|
||||
releasing another book's preview. One per-player eight-chunk-radius loader streams
|
||||
the view asynchronously, renews while the book stays open, and expires if its
|
||||
heartbeat is lost. Closing, logout, death/source invalidation, dimension changes,
|
||||
and shutdown release the lease. Destination resolution for Descriptive Books
|
||||
uses the same footing/platform rules as book travel.
|
||||
|
||||
The rendering integration uses 26.3 GPU texture views with the deferred GUI.
|
||||
Reborn may resize its target before extraction records the texture view; clearing
|
||||
is deferred to its render hook, and the normal GUI draws the image beneath the
|
||||
Legacy panel cutout. The target uses the main framebuffer's depth/stencil format.
|
||||
The player camera is restored after remote rendering, and remote preview-world
|
||||
sounds are suppressed without muting the player's world.
|
||||
|
||||
Set `[book_previews] reborn_live_views = false` in the local configuration to use
|
||||
animated panels. Missing Reborn or unavailable terrain also retains the animated
|
||||
fallback. Seamless's dimension-ID bridge remains available, but this live GUI
|
||||
implementation is activated only for Reborn. Live crystal portal surfaces and
|
||||
preview exploration controls remain separate port work.
|
||||
|
||||
Validation: production build passed. An isolated real NeoForge 26.3.0.99
|
||||
dedicated-server/client run with Reborn 7.0.12 displayed the remote live Linking
|
||||
Book view; screenshot inspected for the panel cutout, upright image and actual
|
||||
terrain. The client completed without a renderer exception and logout left no
|
||||
preview chunk leases. The user also reported that the books displayed live views
|
||||
perfectly. All temporary worlds/client directories and fixture sources were
|
||||
removed, and the distributable was rebuilt without test classes.
|
||||
|
||||
Startup warnings in this isolated run included Reborn's four deprecated
|
||||
`logoFile` metadata entries; these are upstream branding metadata warnings.
|
||||
The Linux narrator also lacks `libflite`, unrelated to the book renderer.
|
||||
|
||||
|
||||
### Reborn live crystal portals — 1.0.1.142-beta.1
|
||||
|
||||
Crystal portals now create optional native Reborn render-only surfaces. Each
|
||||
coplanar opening is one masked mesh on each side, including irregular outlines;
|
||||
the destination image does not repeat once per portal block. Mesh planes sit
|
||||
inside the portal block thickness so the crystal frame remains in front. Once
|
||||
native surfaces are established, LIVE_VIEW hides only the animated portal model.
|
||||
The blocks and their receptacle owner pointers stay intact.
|
||||
|
||||
Live views share destination resolution with portal book travel. Linking Books
|
||||
use their written facing, while Descriptive Books preserve the approaching
|
||||
entity's facing as their travel path does. The reference camera is anchored to
|
||||
standing eye height above the opening's floor, rather than to its vertical center.
|
||||
This prevents taller frames from shifting the preview's arrival height. Relative
|
||||
links resolve using the opening's center as the view reference; the actual
|
||||
entity's departure position is still used for travel.
|
||||
|
||||
Native surfaces cannot teleport entities, accept remote interaction or perform
|
||||
cross-portal collision. Existing Rivencraft collision/queue and book rules remain
|
||||
authoritative, including catalog readiness, Disarm, momentum and arrival safety.
|
||||
Reborn handles visible-destination streaming through its normal portal system.
|
||||
|
||||
Geometry/destination tags allow maintenance to reuse matching entities and replace
|
||||
stale ones. Activation establishes views immediately; normal receptacle maintenance
|
||||
restores them after restart. Book removal, frame shutdown, missing destinations
|
||||
and disabling the integration remove the native surfaces. Without Reborn the
|
||||
animated surface and ordinary travel continue to work. The server setting is
|
||||
[book_previews] reborn_crystal_live_views, default true.
|
||||
|
||||
Validation on NeoForge 26.3.0.99 / Reborn 7.0.12: 68 server checks passed, covering
|
||||
all three plane axes, both sides, one mesh per opening, eye-position and facing
|
||||
transforms, entity reuse, fallback toggling and book removal. Five additional
|
||||
restart checks passed. An isolated real client/dedicated server rendered the live
|
||||
opening, then crossed into the correct Age through normal Rivencraft travel.
|
||||
Screenshots before/after were inspected; the user also reported success.
|
||||
|
||||
An initial render test mistakenly bound its synthetic Linking Book at Y=1 inside
|
||||
the flat world's solid layers. The view correctly displayed underground terrain
|
||||
and the collision check refused travel. The corrected fixture bound to the actual
|
||||
surface (Y=4) and passed. No production spawn-height workaround was added for an
|
||||
invalid synthetic book. All temporary fixtures and test worlds were removed, and
|
||||
the distributable was rebuilt without test classes.
|
||||
Reference in new issue
Block a user