I would like anywhere under y28 in the nether to be a custom biome called "nether_depths". I tried using code from the deep dark (since it only spawns deep in the world), but it does not seem to work. How do I change the Y level of biomes?
1 Answer
So I ended up figuring it out myself. First, you can set a custom check through use of a density_function with the following value:
{
"type": "minecraft:range_choice",
"input": "minecraft:y",
"min_inclusive": -32,
"max_exclusive": 32,
"when_in_range": 1,
"when_out_of_range": 0
}
In this case, -32 to +32 will pass the check with a value of 1, otherwise the value will be 0.
Then in your corresponding noise_settings file (nether in this case) have depth reference your file (which I called depths): "depth": "minecraft:nether/depths"
Then finally, to add the biome, it's actually not done in noise_settings as I initially expected. It is instead done in the dimension folder. With something to the effect of the following:
{
"type": "minecraft:the_nether",
"generator": {
"type": "minecraft:noise",
"settings": "minecraft:nether",
"biome_source": {
"type": "minecraft:multi_noise",
"biomes": [
{
"biome": "minecraft:nether_wastes",
"parameters": {
"continentalness": 0.0,
"depth": 0,
"erosion": 0.0,
"humidity": 0.0,
"offset": 0.0,
"temperature": 0.0,
"weirdness": 0.0
}
},
{
"biome": "minecraft:soul_sand_valley",
"parameters": {
"continentalness": 0.0,
"depth": 0,
"erosion": 0.0,
"humidity": -0.5,
"offset": 0.0,
"temperature": 0.0,
"weirdness": 0.0
}
},
{
"biome": "minecraft:crimson_forest",
"parameters": {
"continentalness": 0.0,
"depth": 0,
"erosion": 0.0,
"humidity": 0.0,
"offset": 0.0,
"temperature": 0.4,
"weirdness": 0.0
}
},
{
"biome": "minecraft:warped_forest",
"parameters": {
"continentalness": 0.0,
"depth": 0,
"erosion": 0.0,
"humidity": 0.5,
"offset": 0.375,
"temperature": 0.0,
"weirdness": 0.0
}
},
{
"biome": "minecraft:basalt_deltas",
"parameters": {
"continentalness": 0.0,
"depth": 0,
"erosion": 0.0,
"humidity": 0.0,
"offset": 0.175,
"temperature": -0.5,
"weirdness": 0.0
}
},
{
"biome": "minecraft:nether_depths",
"parameters": {
"temperature": -0.6,
"humidity": 0.0,
"continentalness": 0.0,
"erosion": 0.0,
"weirdness": 0.0,
"depth": 1,
"offset": 0.0
}
}
]
}
}
}
Notice how depth is set to 0 for all biomes except my custom one. That means it is most likely out of any other biome to get placed between my specified y values (-32 to +32) as its depth value matches the value from the check while the others do not.