A bridge/proxy allowing you to connect to Minecraft: Java Edition servers with Minecraft: Bedrock Edition. https://geysermc.org/
Find a file
David Choo 1d04a61a46
Collision Registry (#2430)
* Fix trapdoor collision

* Add EqualsAndHashCode to all Collision subclasses and shift code around

EqualsAndHashCode are required on subclasses otherwise blocks will be assigned an incorrect collision instance. (Doors and trapdoors are mixed and ladder sometimes gets a DoorCollision instance).
Added protected constructor to BlockCollision to make boundingBoxes final.
Removed EmptyCollision because I don't think it is useful.
Moved conversion from ArrayNode to BoundingBoxes[] from OtherCollision to CollisionRegistryLoader
Removed regex from SnowCollision and use default bounding boxes.

* Deduplicate BlockCollision instances

* Create one set of bounding boxes for all BlockCollisions

* Don't depend on the player's block position in DoorCollision

* Fix dirt path position corrections

Grass paths were renamed to dirt path in 1.17
Fix position correction for y=1, y=2, y=255, and y=256

* Increase pushAwayTolerance depending on distance from origin

This should fix position corrections for blocks less than 1 unit in length/width at high coordinates.
This includes ladders after x 4096 or z 4096
Not too sure about the math here though

* Use ThreadLocal for position

Hopefully resolves concurrency issues

* Remove comment and add layer check to SnowCollision
2021-07-30 22:35:13 -04:00
.github Update grammar, links, deprecations, etc in various text files (#2000) 2021-04-10 00:34:29 -04:00
.idea/copyright Clean copyright message and update all files (#1053) 2020-07-30 15:10:15 -05:00
ap Improve annotation processing (#2422) 2021-07-26 13:30:48 -04:00
bootstrap Auth type refactor in internal config (#2410) 2021-07-28 19:44:09 -04:00
common Implement a new registry system (#2306) 2021-07-12 21:19:40 -04:00
connector Collision Registry (#2430) 2021-07-30 22:35:13 -04:00
screenshots Add more screenshots 2020-03-04 21:26:27 -06:00
.gitignore GUI Improvements (#1462) 2020-10-27 18:40:00 -04:00
.gitmodules Don't use 1.16 branch of mappings 2020-07-06 21:54:33 -04:00
CONTRIBUTING.md Update grammar, links, deprecations, etc in various text files (#2000) 2021-04-10 00:34:29 -04:00
Jenkinsfile Fix fabric sub build version (#2325) 2021-06-25 09:52:17 -04:00
LICENSE Update LICENSE to 2021 (#1799) 2021-01-04 14:14:55 -05:00
licenseheader.txt [ci skip] changed a 2020 to 2021 (#1801) 2021-01-04 21:24:07 -05:00
pom.xml Replace Reflections usage with an annotation processor 2021-07-17 13:36:04 -05:00
README.md Tweak README - Geyser is fine on production and has been for a while :) 2021-07-21 22:31:54 -05:00

Geyser

forthebadge made-with-java

License: MIT Build Status Discord HitCount 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!

Currently supporting Minecraft Bedrock 1.17.0 - 1.17.10 and Minecraft Java 1.17.1.

Setting Up

Take a look here for how to set up Geyser.

YouTube Video

What's Left to be Added/Fixed

  • Near-perfect movement (to the point where anticheat on large servers is unlikely to ban you)
  • Resource pack conversion/CustomModelData
  • Some Entity Flags
  • Structure block UI

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. Install Maven
  3. 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.
  4. Run mvn clean install and locate to the target 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: