#prevent lava from filling caves
1 messages · Page 1 of 1 (latest)
You need to repurpose the aquifer density functions so that no caves become aquifers (which is essentially what's happening)
how do i do that?
You can make the fluid_level_floodedness density function in your noise_settings -1, so that aquifers never fill with fluid. You'll just need to also ensure your initial_density_without_jaggedness is set up accurately or it may also un-flood your oceans
ok ill try that
which part of the initial_density_without_jaggedness needs to be changed?
nothing changes even after changing the fluid_level_floodedness and generating a new world.
It just needs to accurately represent the surface of your terrain so that everything roughly below it is greater than 0, and everything above it is 0 or less
Typically it's just very similar to your final density, but shifted down a few blocks and without any of the density functions that handle noise caves
Show your work
how do i stop it from being normal text? in Discord
you can add ``` before and after the text block
thx
"fluid_level_floodedness": {
"type": "minecraft:noise",
"noise": "minecraft:aquifer_fluid_level_floodedness",
"xz_scale": -1.0,
"y_scale": -1
},
in the file data/minecraft/worldgen/overworld.json
"initial_density_without_jaggedness": {
"type": "minecraft:add",
"argument1": 0.1171875,
"argument2": {
"type": "minecraft:mul",
"argument1": {
"type": "minecraft:y_clamped_gradient",
"from_value": 0.0,
"from_y": -54,
"to_value": 1.0,
"to_y": -50
},
"argument2": {
"type": "minecraft:add",
"argument1": -0.1171875,
"argument2": {
"type": "minecraft:add",
"argument1": -0.078125,
"argument2": {
"type": "minecraft:mul",
"argument1": {
"type": "minecraft:y_clamped_gradient",
"from_value": 1.0,
"from_y": 230,
"to_value": 0.0,
"to_y": 246
},
"argument2": {
"type": "minecraft:add",
"argument1": 0.078125,
"argument2": {
"type": "minecraft:clamp",
"input": {
"type": "minecraft:add",
"argument1": -0.703125,
"argument2": {
"type": "minecraft:mul",
"argument1": 4.0,
"argument2": {
"type": "minecraft:quarter_negative",
"argument": {
"type": "minecraft:mul",
"argument1": "minecraft:overworld/depth",
"argument2": {
"type": "minecraft:cache_2d",
"argument": "minecraft:overworld/factor"
}
the message limit was too long but there are a few closed brackets and "max": 54 and "min:-64 left
Don't use noise, just make it a constant of -1
No {} necessary for that
ok ill try that
"fluid_level_floodedness": {
"type": "minecraft:constant",
"argument": -1
}
thats what i got with misode but it still has {} these
still generates like this
I suspect this is not a very accurate representation of the shape of your surface
https://misode.github.io/worldgen/density-function/?share=f0Lo03had0
Though most of the world would appear to have a positive value, so it in theory should still be removing all the fluid
Just for testing purposes, try making it water instead
the main fluid right?
The default fluid, yes
ok done
And?
loading new world
huh every cave is now flooded with water. That didnt happen before
Well that makes sense, because they were flooded with lava before...
All you did was change the fluid, we were just making sure that water wasn't treated differently from lava for aquifer purposes
oh i meant before changing it for the first time the caves werent filled with water
wait no not all caves i just saw a natural water cave. the caves arent filled with water
There shouldn't be natural water caves either (as I have said, the entire point of what I'm recommending is to remove those entirely), but it does sound like water gets treated differently from lava
is there any way that you can think of to get around the different behaviour of water and lava?
You'd have to use features to replace the lava with air
The current tech is to use 4 disk features per subchunk, that are at the max size and are positioned in roughly the corners of each of those chunks so as to cover most/all blocks, which are able to only replace lava with air
ill try this but it could take a moment