GeyserMC/README.md
chris 7a20a190a0
Feature: Structure block translation (#4521)
* ported camotoy's attempt of implementing structure blocks, removal of a few TODO's

* no more parsing of java structure templates

* Don't attempt to re-request structure size

* ensure we can load structures in even if we know the size

* init: send correct structure size/offset/rotation to java, not fully working yet

* restore offsets so we are sending correct values to the java server regarding where we want the structure to be placed

* something something mirror

* attempt at proper offsets for mirroring AND rotations. this was not fun at all

* rotation, mirror, offsetting all seem to work

* undo import changes

* fix NPE

* Proper handling of empty structures, ensure that we can clear the structure block outline when a zero vector was sent for structure size

* oops

* Update core/src/main/java/org/geysermc/geyser/session/cache/StructureBlockCache.java

Co-authored-by: rtm516 <rtm516@users.noreply.github.com>

* Update core/src/main/java/org/geysermc/geyser/translator/level/block/entity/StructureBlockBlockEntityTranslator.java

Co-authored-by: rtm516 <rtm516@users.noreply.github.com>

* Update core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/BedrockStructureBlockUpdateTranslator.java

Co-authored-by: rtm516 <rtm516@users.noreply.github.com>

* Update core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/BedrockStructureTemplateDataRequestTranslator.java

Co-authored-by: rtm516 <rtm516@users.noreply.github.com>

* consolidate java structure sending into one method

* fix merge conflict
---------

Co-authored-by: rtm516 <rtm516@users.noreply.github.com>
2024-04-17 23:21:25 +02:00

3 KiB

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!

Currently supporting Minecraft Bedrock 1.20.40 - 1.20.73 and Minecraft Java 1.20.4

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)
  • 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: