PaperMC / Paper

The most widely used, high performance Minecraft server that aims to fix gameplay and mechanics inconsistencies
https://papermc.io/
Other
9.87k stars 2.29k forks source link

3D biomes generating in the overworld doesn't match vanilla behavior. #4826

Open n-aspen opened 3 years ago

n-aspen commented 3 years ago

What behaviour is expected:

That the vertical biome placement in the overworld would match that generated with a vanilla client.

What behaviour is observed:

Vertical biome placement on some biome edges changes unlike in vanilla.

Steps/models to reproduce:

This may include a build schematic, a video, or detailed instructions to help reconstruct the issue Generate a world with a vanilla client and find a mushroom fields island. When the biome changes from mushroom fields shore to ocean, move vertically and it will stay the same. Go to the same coordinates on a paper server with the same seed and the biome will change as you move up and down.

Plugin list:

A list of your plugins Reproduced with no installed plugins.

Paper version:

Paste the output of running /version on your server WITH the Minecraft version. latest is not a version; we require the output of /version so we can properly track down the issue.

git-Paper-298 (MC: 1.16.4) (Implementing API version 1.16.4-R0.1-SNAPSHOT) (I updated yesterday but the issue exists with a version I used a few months ago to generate my live server as well.)

Anything else:

Anything else you think may help us resolve the problem

Server logs when generating a fresh world and logging in. https://logs.panel.gg/01a7a54a3a26f665d41736c7cc51bea7

Vanilla client on the server with F3 open. https://youtu.be/Lzo_Lr5AxEo

Vanilla client in singleplayer with the same seed and F3 open. https://youtu.be/l1T4Rv32iGE

Client logs. https://paste.ee/p/pN0uR

n-aspen commented 3 years ago

I'm still needing some feedback on this. It's preventing me from building in an area since we need it to be as mob proof as possible.

n-aspen commented 3 years ago

Finally got around to doing some more testing on this. To get around the issue I originally tried adding a vanilla generated world to my server and copying the biome from one location on that world to the main world using worldedit. The issue was that the biomes were still changing vertically. So I tried generating a world on paper, checking the biomes vertically, then moving that world to a vanilla client, and the biomes were correctly displayed in singleplayer.

I have no idea how the biome information is collected to be sent to the player but I think it's breaking somewhere along the way with 3d biomes. This first video is the world just after it's been generated on Paper #431 and these are the logs of the world being generated and me joining. This is the video of me in the same world that I downloaded from the server on a vanilla 1.16.5 client.

I have yet to test for what biome boundaries matter. I can imagine the possibility of other functions getting the incorrect biome data as well, even if it's not reflected in the save file.

n-aspen commented 3 years ago

Did a bit more testing and was able to confirm that this is a vanilla issue. I've filed a bug report on their bug tracker. Sorry about not following it back to that sooner. Bug report

EDIT (by Machine-Maker): New tracked issue is here.

wizjany commented 3 years ago

This is actually noted in WE's docs on biome setting: https://worldedit.enginehub.org/en/latest/usage/regions/regionops/#setting-biomes There's a bunch more discussion on our issue tracker and discord, but basically mojang doesn't respect 3d biome data in multiplayer overworlds cuz only the nether was supposed to get 3d biomes in 1.16. Don't remember if we've tested in 1.17 snapshots yet but I assume since caves are going to be a thing now it should be fixed by 1.17.

n-aspen commented 3 years ago

I kind of knew about the fuzzing and 4x4 cubes but I didn't connect that to being just a multiplayer thing. For all intents and purposes, biomes still appear to be 1x1 in single-player so it's a bit weird to be honest. I'll test on 1.17 in a few hours though, thanks :D

n-aspen commented 3 years ago

Just as I sent that it looks like one of the moderators on Mojangs bug report forum tested it on the latest snapshot (21w13a) and confirmed it there.