# 26.3 port parity and acceptance review Reviewed 2026-11-14 for 26.3.0.3 against the independently maintained 1.21.1 implementation. This closes the port feature checklist, not every open bug or future enhancement. The dated development entries in MINECRAFT_26_3_PORT.md retain their original evidence and are superseded by later slices where stated. ## Feature comparison | Area | 1.21.1 implementation | 26.3 counterpart / acceptance | | --- | --- | --- | | Page language | Ordered writing, registry-backed pages, modifiers, recovery and corrupted pages | PortAuthoredWriting, PortWritingRecovery, PortMaterialCompletion, PortRegistryPages and the shared symbol resources retain source writing, material pairing and diagnostics. Port slices received player sign-off. | | Ink Mixer | Paper/ink, additive modifiers, vial/bottle exchange and output reset | InkMixerMenu/Screen, InkModifierIngredients and InkVialExchange port the interaction and assets. One ink and paper per panel; additives reset on removal. The separate 1.21.1 correction remains a shared follow-up. | | Page storage | Notebook, folders, portfolios, sealed notebooks | NotebookMenu/Screen and the corresponding item components port sparse storage, selection/moving, held-slot protection and bulk import. Legacy glyph/page assets reused. | | Desk / Binder | Tab catalog, ink/paper copy transactions, collection input, named books and OP diagnostics | WritingDeskMenu/Screen, WritingDeskCatalog and PortBookBinderMenu/Screen with authoritative networking and existing textures/models. Input, output pickup and naming fixes passed in game. | | Link Modifier | Name, properties, seed and retirement | LinkModifierMenu/Screen and explicit edit payloads provide six property controls, title/seed edits and guarded retirement. Player-approved before this audit. | | Terrain and biomes | Standard/amplified/flat/cave/void/sky-island profiles and biome distributions | PortAgeTerrain, PortBiomePlan, native registry biome pools and first-party generators. Authored and random plans persist their own seeds. Version-specific terrain/biome follow-ups remain separate. | | Decorations and structures | Material features, vegetation, lakes, carvers, vanilla structures, libraries, crystals and fissures | Port terrain/vegetation/lake/carver/structure plans and generation passes implement these families, with modern structures and registry-backed materials. Family-specific terrain restrictions are retained; this audit does not claim every possible combination can generate. | | Time, sky and celestials | Authored/random bodies, number/color modifiers, time modes, eclipses and ambient lighting | PortDayCycle, PortAgeColors, PortCelestialDiscs and sky/light mixins; colors, multiple bodies, sizes, positions, frozen time and eclipse rendering received player checks. Static Sky with Reborn has known bug #116. | | Weather and seasons | Per-Age weather and optional Serene policies | PortWeatherMode, PortSeasonPolicies and Serene adapters preserve independent Age policy. Serene is optional; Ecliptic integration remains deferred on both lines. | | Instability | Writing and live material scores, provider plans, effects and operator controls | PortInstabilityData/Plan/Runtime, block profiling, status/decay/hazard/meteor/environment providers and operator commands. Scores remain OP-only. Accelerated ticks use bounded loaded-world budgets; machine parity work remains tracked separately. | | Travel | Handheld books, stands, receptacles, portals, footing/platform, modifiers and return links | Shared port destination/travel services, PortalTravelQueue and CrystalPortalNetwork keep book properties authoritative. Return links default disabled. Unsafe or unsynchronized travel leaves the player at source. | | Presentation | Legacy books/pages/models/sounds, dropped open books and preview renderers | Existing assets reused through 26.3 extracted render states and modern input. Live Reborn book/portal views and look-only exploration are implemented; right-click return/re-entry passed on 26.3.0.3. | | Discovery / guides | Libraries, loot, crafting, advancements, creative pages and JEI | Libraries/stands, sealed notebook discovery, progression and JEI guides ported. Random eligibility controls apply to new random choices/loot while existing authored pages remain usable. | | Backend lifecycle | Dynamic Dimensions AR plus catalog/travel behavior | Rivencraft-owned backend with atomic creation, seed persistence, catalog acknowledgement, unload/reseed/retire. #99/#101 and now #100 accepted. | ## Deliberate platform differences - Java 21 / NeoForge 21.1.264 and Dynamic Dimensions AR + Bad Packets stay on 1.21.1. The tested 26.3 target uses Java 25 / NeoForge 26.3.0.99 and a first-party Age backend. No optional integration is bundled or made mandatory. - 26.3 starts fresh saves. Importing 1.21.1 dimension/save internals is unsupported. New chunk algorithms and random streams need not produce identical terrain. - Create/Ponder has no ported 26.3 integration. Built-in animation is always available; Reborn 7.0.12 provides optional live book/crystal views and look-only exploration. Seamless has the dimension bridge, not this Reborn rendering path. - Optional libraries, registry contents and vanilla generation APIs differ across game versions. Changes to shared symbols/assets must be considered for both; version-specific implementations and dependency requirements stay separate. - Shared requested enhancements in #105–#115 and renderer bug #116 are separate work. Port closure does not close those issues or describe their work as done. ## Regression evidence and limits Earlier recorded 1.21.1 client/dedicated/optional-mod sign-offs remain valid: its game code did not change during this work, so it was not retested merely because the 26.3 target changed. Both build targets were built during the workflow audit; only changed-target gameplay checks are required going forward. The expanded-catalog 26.3 test used two actual clients on one dedicated server. Runtime Age creation, catalog/environment delivery, normal-book travel, stale-ack rejection/recovery, occupied unload refusal, empty reload/reseed and retirement passed. On full restart both reconnected in the surviving Age with the saved seed/presentation; retired data stayed absent. The final return-book step stalled and was handed off without retry, per the user's instruction. The player then created and entered an Age on the current local dedicated server with the Dev optional stack, requested a full restart, reconnected, and returned to the Overworld by Linking Book. Server logs confirm restored Age rivencraft:age/random, seed -1985136355166262436, and the Overworld return. The player explicitly accepted #100. This final handoff used one player-operated client, not a new two-client automated pass. Logs are retained locally under build/verification; temporary worlds and server processes were removed. Production 26.3.0.3 builds and its book-window look/exit/re-entry received an in-game pass. Earlier slices record no-optional startup, generation, portal geometry/lifecycle and optional integration checks. This is cumulative evidence, not a claim that every historical test was rerun on the final JAR. ## Release gate [DUAL_VERSION_RELEASE.md](DUAL_VERSION_RELEASE.md) defines changed-target builds, sequential temporary servers, stalled-test handoff, maintenance policy and upload identity checks. Offline tooling checks cover track selection, release naming, required dependencies, wrong-artifact/fixture rejection and server exclusion. Hosted workflow execution remains unverified; repeatable local commands provide the supported fallback. Release acceptance is recorded in Gitea after publication and artifact verification. The existing published 1.21.1 release is retained; unchanged code is not republished merely to adopt the new filename scheme.