Skip to content
Open
Show file tree
Hide file tree
Changes from 36 commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
b8655a9
Initial changes
onebeastchris Jun 14, 2026
7df58cd
Exclude NeoForge temporarily
onebeastchris Jun 14, 2026
79be26f
closer to compile??
onebeastchris Jun 14, 2026
06d25a8
Start updating gametests, update mappings
onebeastchris Jun 14, 2026
38fe246
Temporarily disable < 26.30, slimes are now ageable
onebeastchris Jun 14, 2026
1f1c9ee
Mention re-running datagen as a tip on how to fix the minecraft versi…
onebeastchris Jun 14, 2026
4153e8b
Re-run datagen
onebeastchris Jun 15, 2026
58a021d
Implement sulfur cube, fix team color check, add new attributes, enab…
Novampr Jun 16, 2026
2f8d271
mention that mcpl could be outdated in gametests
onebeastchris Jun 16, 2026
556710b
Include neoforge again
onebeastchris Jun 16, 2026
3ffca1b
Fix: move BedBlockEntityTranslator code into BedBlock
eclipseisoffline Jun 16, 2026
57c7479
Fix: sulfur cube metadata translator order, re-run gametest datagen
eclipseisoffline Jun 16, 2026
05f1807
Add component hasher and gametest for sulfur_cube_content component
eclipseisoffline Jun 16, 2026
762942d
Fix backport mappings for blocks
Novampr Jun 16, 2026
99ffcb8
Fix backport mappings for blocks, again
Novampr Jun 16, 2026
9c4263b
Fix: load default data components before block mappings
eclipseisoffline Jun 16, 2026
5605810
Fix tests, bump MCPL
eclipseisoffline Jun 16, 2026
24ecf4f
Correctly send sulfur cube contents, fix sulfur cube size
Novampr Jun 16, 2026
f24a967
Merge remote-tracking branch 'upstream/master' into feature/26.2
eclipseisoffline Jun 17, 2026
c4826ff
Cloud back to SNAPSHOT
eclipseisoffline Jun 17, 2026
1a0b208
Apply resolvable default item components to every Item (#6375)
eclipseisoffline Jun 17, 2026
1821ed7
Update fabric.mod.json and neoforge.mods.toml files
eclipseisoffline Jun 17, 2026
569a6ac
Fix sulfur cubes sizes and display
Novampr Jun 17, 2026
fb1e214
Revert mappings
Novampr Jun 17, 2026
a195b19
Key the bedrock archetypes
Novampr Jun 17, 2026
2c2b135
Fix: always clone baseComponents in Item#gatherComponents
eclipseisoffline Jun 17, 2026
849ee09
Remove temporary fix in gametest
onebeastchris Jun 17, 2026
54224a6
Fix unit tests, use timestamped cloud version
onebeastchris Jun 18, 2026
731dec2
Actually target the right cloud timestamped builds
onebeastchris Jun 18, 2026
0343e0b
Fix: Team colors suggestions
onebeastchris Jun 18, 2026
b6a2b93
Merge branch 'master' into feature/26.2
oryxel1 Jun 19, 2026
391dfbb
Don't send swing packets to the server while in spectator mode (#6461)
darkcupid412 Jun 19, 2026
d459d75
Automate the Minecraft version in the Fabric and NeoForge mod metadat…
darkcupid412 Jun 19, 2026
51d7199
Guard new attributes behind version checks
onebeastchris Jun 19, 2026
8252cd8
Fix: properly load resolvable holder components that are stored as In…
eclipseisoffline Jun 20, 2026
99c6b56
Fix: this time with the new generated gametests!
eclipseisoffline Jun 20, 2026
b340de3
Fix integrated server mixin
Novampr Jun 23, 2026
15559c6
Add support for spectating entities on Bedrock (#6470)
darkcupid412 Jun 25, 2026
f3185b5
Custom waypoint style API (and mappings) (#6406)
eclipseisoffline Jun 25, 2026
8b182aa
Properly handle suspicious effect holders in MooshroomEntity#mobInteract
eclipseisoffline Jun 26, 2026
b84ab9c
Proper world border collision and minor visual fixes. (#6385)
oryxel1 Jun 30, 2026
8f6a9d2
Feature: Custom Entity API (#6010)
onebeastchris Jul 5, 2026
6436404
Merge remote-tracking branch 'upstream/master' into feature/26.2
onebeastchris Jul 5, 2026
48f9dfa
Fix baby sulfur cube sizes
Novampr Jul 7, 2026
2b2df74
Fix mapping sub-module
Novampr Jul 7, 2026
ede0c97
Fix invisible beds and centralize Bedrock-only block entity tag updat…
darkcupid412 Jul 8, 2026
6e8e961
Fix potent sulfur block entity id (#6516)
darkcupid412 Jul 8, 2026
15a27c5
Bump mappings
Novampr Jul 8, 2026
8fbe115
getEntities -> getEntitiesUnsafe to indicate direct access
onebeastchris Jul 9, 2026
34bae2a
Merge remote-tracking branch 'upstream/master' into feature/26.2
onebeastchris Jul 9, 2026
2bb192d
Reapply "Adventure 5.0.0"
eclipseisoffline May 5, 2026
cde4b32
Initial changes: drop adventure-platform-bungee, update to 5.2.0
onebeastchris Jul 9, 2026
90d9020
Target cloud-beta 17
onebeastchris Jul 9, 2026
ed84cae
temporary hack around velocity not being updated to 5.x adventure
onebeastchris Jul 9, 2026
93b447b
Remove BungeeCord ping passthrough debug
onebeastchris Jul 9, 2026
54b5c7a
Update to Adventure 5.2.0 / cloud-minecraft-beta 17
onebeastchris Jul 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ Special thanks to the DragonProxy project for being a trailblazer in protocol tr

## Supported Versions

| Edition | Supported Versions |
|---------|------------------------------------------------------------------------------------------------------------|
| Bedrock | 26.0, 26.1, 26.2, 26.3, 26.10, 26.20, 26.21, 26.22, 26.23, 26.30 |
| Java | 26.1 - 26.1.2 (For older versions, [see this guide](https://geysermc.org/wiki/geyser/supported-versions/)) |
| Edition | Supported Versions |
|---------|---------------------------------------------------------------------------------------------------|
| Bedrock | 26.0, 26.1, 26.2, 26.3, 26.10, 26.20, 26.21, 26.22, 26.23, 26.30 |
| Java | 26.2 (For older versions, [see this guide](https://geysermc.org/wiki/geyser/supported-versions/)) |

## Setting Up
Take a look [here](https://geysermc.org/wiki/geyser/setup/) for how to set up Geyser.
Expand Down
4 changes: 2 additions & 2 deletions bootstrap/mod/fabric/src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
"geyser.mixins.json"
],
"depends": {
"fabricloader": ">=0.18.2",
"fabricloader": ">=0.19.3",
"fabric-api": "*",
"minecraft": "~26.1"
"minecraft": "~${minecraft}"
}
}
14 changes: 0 additions & 14 deletions bootstrap/mod/gametest/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -49,18 +49,4 @@ tasks {
withType(PublishToMavenRepository::class).configureEach {
enabled = false
}

// it'd be processGametestResources if we had a separate source set for tests
getByName("processResources", ProcessResources::class) {
filesMatching("fabric.mod.json") {
expand(
"id" to "geyser",
"name" to "Geyser",
"version" to project.version,
"description" to project.description!!,
"url" to "https://geysermc.org",
"author" to "GeyserMC"
)
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:entity_metadata",
"entity_type": "minecraft:sulfur_cube"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"type": "geyser:minecraft_version",
"version": "26.1.2"
"version": "26.2"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:amethyst_shard"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:blue_egg"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:brown_egg"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:copper_ingot"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:copper_spear"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:diamond"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:diamond_spear"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:egg"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:emerald"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:goat_horn"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:gold_ingot"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:golden_spear"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:iron_ingot"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:iron_spear"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:lapis_lazuli"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_11"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_13"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_5"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_blocks"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_bounce"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_cat"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_chirp"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_creator"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_creator_music_box"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_far"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_lava_chicken"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_mall"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_mellohi"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_otherside"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_pigstep"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_precipice"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_relic"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_stal"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_strad"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_tears"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_wait"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:music_disc_ward"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:netherite_ingot"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:netherite_spear"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:quartz"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:redstone"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:resin_brick"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:stone_spear"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "geyser:resolvable_components",
"item": "minecraft:wooden_spear"
}
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,8 @@ public void onInitialize() {
ModCommandSource::new
);
CommandManager<GeyserCommandSource> cloud = new FabricServerCommandManager<>(
ExecutionCoordinator.simpleCoordinator(),
sourceConverter
ExecutionCoordinator.simpleCoordinator(),
sourceConverter
);
this.setCommandRegistry(new CommandRegistry(GeyserImpl.getInstance(), cloud, false)); // applying root permission would be a breaking change because we can't register permission defaults

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,21 +26,24 @@
package org.geysermc.geyser.gametest;

import com.mojang.serialization.MapCodec;
import net.minecraft.core.HolderLookup;
import net.minecraft.core.HolderGetter;
import net.minecraft.core.Registry;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.gametest.framework.GameTestInstance;
import net.minecraft.gametest.framework.TestEnvironmentDefinition;
import net.minecraft.resources.Identifier;
import org.geysermc.geyser.gametest.tests.ComponentHashTestInstance;
import org.geysermc.geyser.gametest.tests.EntityMetadataTest;
import org.geysermc.geyser.gametest.tests.MinecraftVersionTestInstance;
import org.geysermc.geyser.gametest.tests.RequiredComponentsForHashingTestInstance;
import org.geysermc.geyser.gametest.tests.ResolvableComponentLoadingTestInstance;

public interface GeyserGameTestTypes {
Identifier COMPONENT_HASH = createKey("component_hash");
SingletonTestType REQUIRED_COMPONENTS_FOR_HASHING = createSingleton("required_components_for_hashing", RequiredComponentsForHashingTestInstance::new);
Identifier ENTITY_METADATA = createKey("entity_metadata");
SingletonTestType MINECRAFT_VERSION = createSingleton("minecraft_version", MinecraftVersionTestInstance::new);
Identifier RESOLVABLE_COMPONENTS = createKey("resolvable_components");

private static Identifier createKey(String name) {
return Identifier.fromNamespaceAndPath("geyser", name);
Expand All @@ -63,14 +66,15 @@ static void bootstrap() {
register(REQUIRED_COMPONENTS_FOR_HASHING, RequiredComponentsForHashingTestInstance.MAP_CODEC);
register(ENTITY_METADATA, EntityMetadataTest.MAP_CODEC);
register(MINECRAFT_VERSION, MinecraftVersionTestInstance.MAP_CODEC);
register(RESOLVABLE_COMPONENTS, ResolvableComponentLoadingTestInstance.MAP_CODEC);
}

record SingletonTestType(Identifier type, Constructor constructor) {

@FunctionalInterface
interface Constructor {

GameTestInstance create(HolderLookup.Provider registries, boolean required);
GameTestInstance create(HolderGetter<TestEnvironmentDefinition<?>> testEnvironments, boolean required);
}
}
}
Loading
Loading