OtakuMegane / TallNether

Spigot plugin that creates a 256-block high Nether
8 stars 2 forks source link

Generation favors "y stacking" #8

Closed Brickgard closed 4 years ago

Brickgard commented 4 years ago

Generated elements, such as hidden lava pockets and ore veins, pick a single Y value in each chunk then generate only vertically. This is a world generated from a config containing nothing but: world: world_nether: enabled: true 2020-10-23_16 25 20 The included image is four chunks with all netherrack removed (WorldEdit) giving a pretty solid visual to what I'm describing. This is (hopefully obviously) impractical behavior for defaults.

Amazing concept, hope to see it fixed soon!

Brickgard commented 4 years ago

My guess/assumption is that (especially at the higher y levels) there isn't enough "failure probability" per individual spawn, causing the first scan through a chunk to consume all of that chunk's generation per structure. (Especially visible with hidden lava becoming vertical stacks along corners of tall, solid chunks)

Perhaps add a "probability factor" for such structure configs to allow users to make spawn attempts "fail" more frequently. I suggest this since the problem isn't quantity (plenty of quartz ore per chunk in the image, as an example) it's that the placement attempts need to "fail further" to allow more randomization. (but this is from a Minecraft/admin perspective, not a world-gen developer, so I tried my best) ^_^;

OtakuMegane commented 4 years ago

That was a good catch. What actually happened is the x and z randomization was moved to an earlier stage of the decoration pass in 1.16.2+. In order to let the TallNether settings continue working, I had to modify the decorator to work the way it used to. For whatever reason I overlooked restoring the x and z randoms, thus it was only picking random y coordinates for one set of x and z coordinates.