mirror of
https://github.com/GeyserMC/Geyser.git
synced 2024-08-14 23:57:35 +00:00
* 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>
54 lines
3 KiB
Markdown
54 lines
3 KiB
Markdown
<img src="https://geysermc.org/img/geyser-1760-860.png" alt="Geyser" width="600"/>
|
|
|
|
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
|
|
[![Discord](https://img.shields.io/discord/613163671870242838.svg?color=%237289da&label=discord)](https://discord.gg/geysermc)
|
|
[![Crowdin](https://badges.crowdin.net/e/51361b7f8a01644a238d0fe8f3bddc62/localized.svg)](https://translate.geysermc.org/)
|
|
|
|
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](https://cubecraft.net).
|
|
|
|
## 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](https://wiki.geysermc.org/geyser/setup/) for how to set up Geyser.
|
|
|
|
[![YouTube Video](https://img.youtube.com/vi/U7dZZ8w7Gi4/0.jpg)](https://www.youtube.com/watch?v=U7dZZ8w7Gi4)
|
|
|
|
## Links:
|
|
- Website: https://geysermc.org
|
|
- Docs: https://wiki.geysermc.org/geyser/
|
|
- Download: https://geysermc.org/download
|
|
- Discord: https://discord.gg/geysermc
|
|
- Donate: https://opencollective.com/geysermc
|
|
- Test Server: `test.geysermc.org` port `25565` for Java and `19132` for Bedrock
|
|
|
|
## 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](https://wiki.geysermc.org/geyser/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](http://discord.geysermc.org/) if
|
|
you're interested in helping out with Geyser.
|
|
|
|
## Libraries Used:
|
|
- [Adventure Text Library](https://github.com/KyoriPowered/adventure)
|
|
- [NukkitX Bedrock Protocol Library](https://github.com/NukkitX/Protocol)
|
|
- [Steveice10's Java Protocol Library](https://github.com/Steveice10/MCProtocolLib)
|
|
- [TerminalConsoleAppender](https://github.com/Minecrell/TerminalConsoleAppender)
|
|
- [Simple Logging Facade for Java (slf4j)](https://github.com/qos-ch/slf4j)
|