-
Notifications
You must be signed in to change notification settings - Fork 577
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make cave liquids biome-determined #2358
Conversation
I agree with no lava in the upper biomes, but I'm not sure I like having a fixed liquid per biome in this manner. I feel the default behaviour is preferred for _under biomes unless there is a specific special reason to limit it to one type (for example, an underground fire cave biome should obviously choose lava and you might not want any water in it, but why would grassland only ever have lava under it, or savanna only ever have water?). |
Yes these are things i have thought too, as i mentioned in the issue. The main reason for biome-determined cave liquids is because biome-defined features are so much more preferential to engine hardcoding, which gives me the creeps. So how about this: I could add an engine feature where, if multiple cave liquid nodes are defined in a biome, each cave randomly chooses from the list? Then we can have water and lava everywhere underground but this time not hardcoded. |
minetest/minetest#8481 |
Okay, I'd support that on the game side so long as the mixing between liquids doesn't get stranger as a result. |
The distribution of multiple biome-defined liquids will be slightly different from the engine hardcoded behaviour, this is unavoidable as 'random choice from list' has to be used instead of distribution by 3D noise (which can only cope with up to 2 liquids). Each entire cave will randomly choose a liquid from the biome-specified list. The current hardcoded 3D noise distribution has a spread of 150 nodes, which is similar to the distance between caves, so behaves similar to random choice. |
No longer use the hardcoded engine cave liquids. Water only in '_ocean' biomes, water and lava in '_under' biomes.
PR updated to specify water and lava in deeper biomes. |
Attends to part of #2339
Reasons for the distribution are discussed there.
Previously, cave liquids were determined by the engine hardcoding which is:
Biome-independent.
50% of caves are flooded. Chosen randomly per-cave.
Of those, 66% have lava, the rest water. Chosen according to 3D noise with spread 150 nodes.
The engine mapgens also have a default mapgen setting which keeps lava below y = -256.
Now, cave liquids are determined by biome, using the new 'biome defined cave liquids' feature of MT 5.0.0.
As before, 50% of caves are flooded, this part of engine hardcoding is still applied.
Consistent with the engine mapgen setting, lava is kept below y = -256 by only being present in the "_under" biomes. This prevents lava being too easy to find and keeps it suitably deep.