Feature: 26.1, API 2.10.0#6271
Merged
onebeastchris merged 66 commits intomasterfrom May 5, 2026
Merged
Conversation
…nd component types changing.
* Update to Gradle 9.4.1 * Set toolchain JVM to 25 * Enable Architectury for Java 26.1 * Enable mod project directories * Uncomment geyser.modded-conventions.gradle.kts * Remove declared mappings line * Enable Fabric and NeoForge libraries * Remove mod prefix on dependency configurations * Remove namedElements configuration * Switch to dev.architectury.loom-no-remap * Remove remapJar and use shadowJar instead * asLong -> pack * displayClientMessage -> sendSystemMessage * displayClientMessage -> sendSystemMessage * Update DedicatedServerMixin for Java 26.1 * Target Java 25 instead of Java 21 * Fix file name issue * Update fabric.mod.json * Update neoforge.mods.toml
Contributor
There was a problem hiding this comment.
Pull request overview
Updates Geyser’s protocol/mapping layer to target Minecraft 26.1 (API 2.10.0), including several MCProtocolLib-driven packet/component model changes and new/updated mapping data, while temporarily disabling modded (Fabric/NeoForge) builds.
Changes:
- Bump protocol/library versions and adjust packet translators for renamed/changed serverbound/clientbound packets.
- Add/adjust mappings/tags/properties (e.g., golden dandelion, new tags, noteblock instruments) and update registry/component hashing for new data shapes.
- Introduce “world clock” registry + session-side clock rate tracking for time progression behavior.
Reviewed changes
Copilot reviewed 49 out of 50 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| settings.gradle.kts | Comments out Fabric/NeoForge/mod subprojects and their projectDir mappings. |
| gradle/libs.versions.toml | Bumps mcprotocollib + sets Minecraft version to 26.1; comments out modded toolchain entries. |
| core/src/main/java/org/geysermc/geyser/util/SettingsUtils.java | Preps gamerule batching (currently commented) and keeps existing settings form behavior. |
| core/src/main/java/org/geysermc/geyser/util/LoginEncryptionUtils.java | Switches login UI clock control to new session clock-ticking flag. |
| core/src/main/java/org/geysermc/geyser/translator/protocol/java/level/JavaSetTimeTranslator.java | Uses world clock registry updates + delegates Bedrock time sending to session helper. |
| core/src/main/java/org/geysermc/geyser/translator/protocol/java/level/JavaGameEventTranslator.java | Updates respawn command enum to renamed value. |
| core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/entity/player/BedrockInteractTranslator.java | Updates interaction/attack downstream packets to new MCPL packet types/signatures. |
| core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/BedrockShowCreditsTranslator.java | Updates respawn command enum to renamed value. |
| core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/BedrockRespawnTranslator.java | Updates respawn command enum to renamed value. |
| core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/BedrockInventoryTransactionTranslator.java | Updates attack/interact packets and instrument component types for new MCPL models. |
| core/src/main/java/org/geysermc/geyser/session/cache/tags/ItemTag.java | Adds/removes item tags to match updated Java tag set. |
| core/src/main/java/org/geysermc/geyser/session/cache/tags/EnchantmentTag.java | Removes special trades tags (now absent/changed upstream). |
| core/src/main/java/org/geysermc/geyser/session/cache/tags/BlockTag.java | Adds/removes block tags to match updated Java tag set. |
| core/src/main/java/org/geysermc/geyser/session/cache/registry/JavaRegistries.java | Adds WORLD_CLOCK registry key. |
| core/src/main/java/org/geysermc/geyser/session/cache/RegistryCache.java | Registers WORLD_CLOCK via unit registry reader. |
| core/src/main/java/org/geysermc/geyser/session/cache/BlockBreakHandler.java | Updates item frame “attack” to use ServerboundAttackPacket. |
| core/src/main/java/org/geysermc/geyser/session/GeyserSession.java | Adds clock-rate-based world ticking + time packet helper; removes some start game fields. |
| core/src/main/java/org/geysermc/geyser/registry/populator/conversion/GoldenDandelionConverter.java | Adds block palette conversion for golden dandelion to dandelion. |
| core/src/main/java/org/geysermc/geyser/registry/populator/ItemRegistryPopulator.java | Applies java-only item remaps for older Bedrock palettes (golden dandelion). |
| core/src/main/java/org/geysermc/geyser/registry/populator/CustomItemRegistryPopulator.java | Updates attack range component field names to new API. |
| core/src/main/java/org/geysermc/geyser/registry/populator/BlockRegistryPopulator.java | Adds golden dandelion converter to selected palettes. |
| core/src/main/java/org/geysermc/geyser/network/GameProtocol.java | Overrides MCPL codec version string/protocol version for 26.1. |
| core/src/main/java/org/geysermc/geyser/level/block/property/Properties.java | Updates noteblock instrument enum values (adds trumpet variants). |
| core/src/main/java/org/geysermc/geyser/level/block/Blocks.java | Adds GOLDEN_DANDELION blocks and potted variant; formatting adjustments. |
| core/src/main/java/org/geysermc/geyser/level/JavaDimension.java | Updates custom-dimension inference keys + adds default_clock field. |
| core/src/main/java/org/geysermc/geyser/level/GameRule.java | Updates TODO note for gamerule sourcing. |
| core/src/main/java/org/geysermc/geyser/item/type/ShulkerBoxItem.java | Updates container component type to List<Optional>. |
| core/src/main/java/org/geysermc/geyser/item/type/GoatHornItem.java | Updates instrument component type to Holder. |
| core/src/main/java/org/geysermc/geyser/item/hashing/RegistryHasher.java | Updates hashers for new instrument/jukebox/optional-container representations; adds variant registries. |
| core/src/main/java/org/geysermc/geyser/item/hashing/DataComponentHashers.java | Updates component hashing for new holder/id shapes and renamed attack range accessors. |
| core/src/main/java/org/geysermc/geyser/item/Items.java | Adds GOLDEN_DANDELION item; adjusts cauldron block ordering. |
| core/src/main/java/org/geysermc/geyser/inventory/recipe/TrimRecipe.java | Reworks trim material provider lookup to use Holder. |
| core/src/main/java/org/geysermc/geyser/inventory/item/GeyserInstrument.java | Updates instrument conversion to use Holder. |
| core/src/main/java/org/geysermc/geyser/entity/type/living/animal/ArmadilloEntity.java | Overrides baby scale. |
| core/src/main/java/org/geysermc/geyser/entity/type/living/DolphinEntity.java | Overrides baby scale. |
| core/src/main/java/org/geysermc/geyser/entity/type/living/AgeableEntity.java | Adjusts default baby scale. |
| core/src/main/java/org/geysermc/geyser/entity/type/ThrowableEggEntity.java | Updates chicken variant component reading to new integer id form. |
| core/src/main/java/org/geysermc/geyser/command/defaults/StatisticsCommand.java | Updates stats request command enum to renamed value. |
| core/build.gradle.kts | Comments out loom-companion plugin. |
| build-logic/src/main/kotlin/geyser.modded-conventions.gradle.kts | Entire modded conventions logic commented out (disables behavior). |
| build-logic/build.gradle.kts | Comments out architectury/loom/loom-companion build-logic dependencies. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 55 out of 55 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
TL;DR - no more remap jar task, so JiJ is done in the jar task; the shadowJar doesn't use the jar task as input but rather source sets. Hence, we manually merge the two!
* Update to Shadow 9.4.1 * Remove unused import * Revert "Remove unused import" This reverts commit 5f876cf. * Update MCProtocolLib version
This reverts commit 0a22e8e
(and some more recipe slot display fixes)
d21f1fd to
7b392c8
Compare
…whenever necessary
# Conflicts: # README.md # api/src/main/java/org/geysermc/geyser/api/event/bedrock/ClientEmoteEvent.java # gradle.properties
* Start on implementing new gamerule packets and proper ViaVersion-based Java server version detection * More work on gamerules et al * Also add 26.1 * Yeet the JavaVersion stuff for now, that needs wayyyyyyyyy more testing * Load deprecated language key file * Cherry-pick language deprecation handling, add gamerule category based sorting * <3 * Fix min/max swap, yeet unused permission * Address review * Fix tests and Javadocs --------- Co-authored-by: Eclipse <eclipse@eclipseisoffline.xyz>
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.
This PR has previews available!
Important to note: Geyser now requires Java 21 or up to run. If you use a modern version of Paper, Fabric/NeoForge, or Velocity; that'll already be the case. Floodgate also requires a 26.1 update, which you can download on our site.
Please note that these builds do not work on Velocity as of right now.
You can download them below for your platform:
Original PR description:
Opening PR here to make it easier to track to-do's!
Mappings:
New sounds
New particles
Block / Item mappings
Updating Items / Blocks / Tags / Properties classes
Fixing dye color / sound reading in MCPL
World clocks
Fix build script for fabric / neoforge
Bump cloud / adventure
Gamerules!!!!
Bump Java version to 21 project wide; 25 for modded ofc
API:
There is no ETA currently.