2

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?

2
  • Shouldnt this be in game dev or StackOverflow site?
    – Coder2195
    Dec 31, 2022 at 15:53
  • No, this is not actually about code, custom world generation works with JSON files. Jan 1, 2023 at 12:49

1 Answer 1

2

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .