A bridge/proxy allowing you to connect to Minecraft: Java Edition servers with Minecraft: Bedrock Edition. https://geysermc.org/
Find a file
Eclipse e78b24830d
Improve tag loading and load non-vanilla tags as well (#4849)
* Work on new tag system, still largely unfinished

* Continue work on new tag system, closer to testing now

* Add holderset class for geyser

* My IDE did some stuff it shouldn't have done

* Add is method for HolderSets to TagCache

* Add some documentation

* Fix build and slightly adjust documentation

* Fix some issues, still broken

* Fix more issues with registering vanilla tags, works better now

* Fix all issues with vanilla and non-vanilla tags, fix documentation a bit.

* Small cleanup

* Use IllegalArgumentException instead of asserting and make TagRegistry#getVanillaTags return original map

* Generics - still untested

* Remove different lookups for vanilla- and non-vanilla tags

* Add toNetworkId and fromNetworkId methods to JavaRegistryKey, simplify TagCache

* More cleanup, add documentation

* Fix registry loading

* Rename HolderSet to GeyserHolderSet and address reviews by camotoy

* Make holder set reader method not throw an exception, clean up

* Make holder set reader warn when failing to read

* Add comment to make clearer why a cast is make

---------

Co-authored-by: chris <github@onechris.mozmail.com>
2024-10-22 18:31:37 -04:00
.github Update license to 2024 2024-06-29 13:32:00 -04:00
.idea/copyright Remove unofficial skin sources and add skin event for extensions (#4507) 2024-05-14 14:22:54 +02:00
ap Gradle: avoid cross-configuration and enable configuration-on-demand (#5012) 2024-09-03 00:54:50 -04:00
api Feature: Add method to close forms in the API (#4957) 2024-08-12 23:29:00 +02:00
bootstrap Protocol Update 1.21.40 (#5091) 2024-10-22 01:25:13 -04:00
build-logic Gradle: avoid cross-configuration and enable configuration-on-demand (#5012) 2024-09-03 00:54:50 -04:00
common Gradle: avoid cross-configuration and enable configuration-on-demand (#5012) 2024-09-03 00:54:50 -04:00
core Improve tag loading and load non-vanilla tags as well (#4849) 2024-10-22 18:31:37 -04:00
gradle Merge branch 'master' of https://github.com/GeyserMC/Geyser into feature/1.21.2 2024-10-22 15:48:47 -04:00
.editorconfig Create .editorconfig (#4615) 2024-06-24 19:45:30 +02:00
.gitignore New files for .gitignore 2024-08-06 22:09:01 -04:00
.gitmodules The Great Refactor Part 1 - connector -> core 2021-11-20 13:56:40 -06:00
build.gradle.kts Gradle: avoid cross-configuration and enable configuration-on-demand (#5012) 2024-09-03 00:54:50 -04:00
CONTRIBUTING.md Project wide syntax/annotation cleanup (#4238) 2023-12-05 18:54:42 -05:00
gradle.properties Update to 1.21.30 (#5041) 2024-09-17 11:48:36 -04:00
gradlew Update to Gradle 8.7, bump loom to 1.6 (#4565) 2024-04-14 00:16:26 +02:00
gradlew.bat Update to Gradle 8.7, bump loom to 1.6 (#4565) 2024-04-14 00:16:26 +02:00
LICENSE Update license to 2024 2024-06-29 13:32:00 -04:00
README.md Clean up inventory packet sending 2024-10-22 12:41:55 -04:00
settings.gradle.kts Unify repository definition (#4953) 2024-08-09 11:35:25 +02:00

Geyser

License: MIT Discord Crowdin

Geyser is a bridge between Minecraft: Bedrock Edition and Minecraft: Java Edition, closing the gap from those wanting to play true cross-platform.

Geyser is an open collaboration project by CubeCraft Games.

What is Geyser?

Geyser is a proxy, bridging the gap between Minecraft: Bedrock Edition and Minecraft: Java Edition servers. The ultimate goal of this project is to allow Minecraft: Bedrock Edition users to join Minecraft: Java Edition servers as seamlessly as possible. However, due to the nature of Geyser translating packets over the network of two different games, do not expect everything to work perfectly!

Special thanks to the DragonProxy project for being a trailblazer in protocol translation and for all the team members who have joined us here!

Supported Versions

Geyser is currently supporting Minecraft Bedrock 1.20.80 - 1.21.40 and Minecraft Java 1.21/1.21.1. For more information, please see here.

Setting Up

Take a look here for how to set up Geyser.

What's Left to be Added/Fixed

  • Near-perfect movement (to the point where anticheat on large servers is unlikely to ban you)
  • Some Entity Flags

What can't be fixed

There are a few things Geyser is unable to support due to various differences between Minecraft Bedrock and Java. For a list of these limitations, see the Current Limitations page.

Compiling

  1. Clone the repo to your computer
  2. Navigate to the Geyser root directory and run git submodule update --init --recursive. This command downloads all the needed submodules for Geyser and is a crucial step in this process.
  3. Run gradlew build and locate to bootstrap/build folder.

Contributing

Any contributions are appreciated. Please feel free to reach out to us on Discord if you're interested in helping out with Geyser.

Libraries Used: