Kelp, Coral, other ocean decorations don't generate in Caves buffet
After creating a Caves buffet with Ocean biome, no Kelp is generated, and yet Seagrass is successfully generated, but only within Flooded Caves. Equivalently, Warm Ocean doesn't generate Coral.
Created Issue:
Kelp, Coral, other ocean decorations don't generate in Caves buffet
After creating a Caves buffet with Ocean biome, no Kelp is generated, and yet Seagrass is successfully generated, but only within Flooded Caves. Equivalently, Warm Ocean doesn't generate Coral.
Environment
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
Added Affects Versions: 1.16.4
Removed Environment:
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
Added Category: World generation
Removed Category: (Unassigned)
Added Affects Versions: 20w51a
Added Affects Versions: 21w16a
Doesn't this make sense? With the default generation, only sea grass spawns in caves below oceans, but not corals or kelp. There's no actual sea floor in caves buffets.
I'd expect the lava oceans of the nether to be water oceans in the overworld using the Caves buffet. so I don't think it makes sense.
Can confirm in 20w51a.
I found the issue. Kelp and possibly coral (it's currently hardcoded) generate with OCEAN_FLOOR_WG, which checks for the highest non-fluid and non-air block. It means that if your world has a ceiling, such features won't generate.
If you disable the ceiling in a caves world with bedrock_roof_position and a negative top_slide, kelp and corals will generate properly.
This issue can be fixed by calculating OCEAN_FLOOR_WG from sea_level, instead of from the top of the world.
Edit: confirmed in 21w16a.