Repository navigation
feat(protocol): update Bedrock to 1.26.60 - #465
Closed
AlexProgrammerDE wants to merge 1 commit into
Closed
AlexProgrammerDE wants to merge 1 commit into
AlexProgrammerDE wants to merge 1 commit into
Conversation
Target the released protocol 2225 rather than advertise the old 2193 packet layouts under a new version name. Decode the added actor seat, animation hand, chunk biome, dimension cloud and editor migration fields; move PlayFab identity from skin data to player-list entries and encode the new interaction and release hand fields. Regenerate protocol enums, resource packs, particles, sounds, palette and item IDs from the 1.26.60 metadata and matching 1.26.60.5 client. Map native redstone connection states directly and normalize legacy connected blocks without erasing explicit values at the unchanged state version. Supply Java type and shape fallbacks for experimental content without claiming complete feature parity. Signed audio and block seating remain unsupported Java features and are canceled explicitly. Sources: Mojang/bedrock-protocol-docs release v1.26.60 (protocol 2225), GeyserMC/Geyser a24ba9c8f07b38be6455e5e86d187a2ef2ffa6a8, and the bubbles-wow/mcbe-gdk-unpack-archive 1.26.60.5 release. Record asset hashes and the stable-versus-experimental entity evidence in Data Asset Sources. Validate the standalone patch on the pinned upstream base with build, style checks, packet-boundary tests and mapping validation. An isolated official BDS 1.26.60.6 bootstrap reaches StartGame and captures its actor registry with the unchanged production login helper. Keep the uint16 NetworkSettings no-compression sentinel separate from the uint8 frame-header sentinel. Both are all-ones at their respective width; after the enum update, decoding an uncompressed frame must still admit 0xFF. Cover the negotiated codec boundary in a buffer-level regression. Consume and retain the uncompressed frame payload as a slice so decoder progress does not depend on the next handler advancing its buffer. Use the 2225 metadata's explicit enum values without the obsolete 2193 container and text-origin corrections. Keep response union indexes in the resource-pack codec and reject unknown entity data without adding a synthetic generated enum member. Preserve container and packet-boundary tests in this version update rather than a metadata-repair patch. Complete packet IDs from same-protocol packet schema declarations when the summary enum omits them. Reject conflicting or mixed-protocol input and regenerate the enum without manual additions. Test supplementation, wire discriminators, and invalid entity metadata. Retain DimensionData cloud height and visibility in the dimension model and project them through Java 26.3 environment attributes. The upstream dimension path must apply these new fields rather than only consume them. Use transparent cloud color when disabled; the Java day timeline multiplies that color and preserves zero alpha. Preserve other dimension attributes. Read minimum Y plus height range, reject nonpositive ranges and detect upper-bound overflow. The earlier protocol-2193 Hive capture establishes the bounds semantics; Mojang's matching 2225 DimensionDefinition schema and us_1665751 note establish cloud synchronization. Six targeted tests cover complete packet boundaries, signed bounds and registry projection. This path works on pinned upstream without deferred inventory features.
AlexProgrammerDE
force-pushed
the
stackanvil/0001-update-bedrock-to-1-26-60
branch
2 times, most recently
from
October 27, 2026 21:06
0bef0ca to
e125814
Compare
Collaborator
|
Superseded by #466 |
AlexProgrammerDE
added a commit
to StackAnvil/ViaBedrock
that referenced
this pull request
Oct 28, 2026
The 26.60 regeneration left the bundled packs without biome, fog, or render-controller definitions. Restore the 37 affected archives from the validated 26.60 source snapshot in PR ViaVersionAddons#465. These archives restore 344 biome files, 249 fog files, and 214 controller files. Their source is the official 1.26.60.5 GDK package recorded in that draft. Preserve the manifests, licenses, and language data. Exercise the actual definition loaders against bundled archives.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Update the supported Bedrock release from 1.26.51 (protocol 2193) to 1.26.60 (protocol 2225). Java remains on 26.3.
This draft contains the standalone version patch applied directly to the pinned upstream base. It includes no StackAnvil setup or deferred inventory changes. The exported source patch is first in the upstreamable stack.
The update covers the changed actor passenger, animation hand, interaction/release hand, skin/player-list, chunk biome, dimension cloud, and editor migration fields. It refreshes the enums, palette, runtime item IDs, resource packs, particles, sounds, and mappings. Redstone connection states map directly to Java connections. Legacy connected blocks gain missing properties without losing explicit values at the unchanged block-state version.
Network settings use a uint16 no-compression sentinel, while frame headers use uint8. The decoder handles both widths and consumes a retained payload slice for uncompressed frames.
Use the explicit protocol-2225 enum values without the obsolete 2193 metadata repairs.
Keep resource-pack response variant indexes in the packet codec instead of the generated enum getter.
Unknown entity metadata still fails before its payload is read, without a synthetic generated enum member.
Supplement packet IDs from matching packet schemas when the summary enum omits them.
The generator rejects conflicting IDs and mixed-protocol input.
The container and resource-pack wire regressions belong to this version update.
Dimension data now retains cloud height and visibility with validated bounds.
Project these fields through Java 26.3 environment attributes, including transparent cloud color when clouds are disabled.
Preserve the other authored dimension attributes and retain the existing Overworld override boundary.
Six dimension regressions cover packet boundaries, signed ranges, overflow and attribute projection.
This behavior is part of the standalone version update and requires no deferred inventory implementation.
The existing native join receipts predate this cloud projection; current coverage uses packet and registry tests.
Sources: Mojang protocol 2225 metadata, the matching 1.26.60.5 GDK package, and the pinned Geyser data snapshot. Asset hashes and registry evidence are recorded in
Data Asset Sources.md.Validation:
Experimental content uses documented Java fallbacks. Block seating and signed audio content remain unsupported; this patch does not establish complete parity for those features.