GeyserMC / Geyser

A bridge/proxy allowing you to connect to Minecraft: Java Edition servers with Minecraft: Bedrock Edition.
https://geysermc.org
MIT License
4.71k stars 674 forks source link

Bedrock World Size Limitations #2518

Closed Jpac14 closed 3 years ago

Jpac14 commented 3 years ago

What feature do you want to see added?

So there is a bug in the bedrock edition of Minecraft, refer to this. The bug, makes the world appear glitchy when going out far enough distances.

In my case, I have a world that is past these limits (my world is a recreation of Earth). So when I installed Geyser (I am running it on velocity proxy) and I teleport to a location far out, I was having very glitched movement.

My idea was to make a plugin that transforms the coordinates of all the bedrock players. So first it would check if the player is a bedrock player (not sure how to do this), then transform the coordinates. When I say "transform the coordinates", I mean that it would trick the bedrock client that is it is somewhere relative to some a chunk, and when it goes out of this range it switches to another relatively chunk. A plugin would need to be created to transform these coordinates for all I/O packets.

Is this type of plugin a possibility? Meaning is it able to be made or will there be roadblocks.

I understand that the average Geyser user will not have these problems and implementing this into the Geyser project could be a game breaking feature, since the I am not sure how much chunks bedrock clients need to locate where they are in the world, so it could cause some clients to crash?

I understand this if this is not implemented into the main project but I would be happy to make something. I really just made this to look for ideas and see if it's possible to make this.

Are there any alternatives?

Ideas others have.

Redned235 commented 3 years ago

Hey, thanks for the suggestion! Unfortunately, this feature is slightly out of the scope of the Geyser project and is something that would ultimately be a lot of work to maintain and keep polished. This is something that would be better suited as a plugin or an extension in the future. Regardless, thanks for the suggestion!