Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

Hey :)

 

I'm trying to make a custom biome and so far it's going pretty great. I need some help with the surface rules. 
https://prnt.sc/XOYbI89RvBzg This is what the mountains look like. I want to have a smoother transition betewen grass and stone and between stone and snow, optimally I would like to have snow only at the top 10 blocks or something like that.
I'm assuming I have to use some noise_threshold for the smoother transitions, but I don't know how to quite do that.
And for top 10 blocks of the biome, I also can't find something. I found the y block check with the anchor "below_top", but apparently that is relative to the building limit.
So... that's my problem. I'm hoping someone can help me, thanks in advance :)

 

https://github.com/robinroloff/alpinemod/

Edited by Robin Roloff
Included github repo link

I'm assuming you are using the Terrablender API for this (if not please tell me how you added a new biome to the Overworld without that, since it looks like that's the only way 🤣).
Anyway you coul always look at how vanilla does declare these Surface Rules, specifically the one for the mountain biomes (I think they are actually defined in the JSON file, but from the code you can get an idea of how these conditions works).

One condition I can think would be interesting is the SurfaceRules.VerticalGradientConditionSource condition. Judging from the name you can guess that this is the condition used to create some gradients. For instance, if we look at the Overworld noise settings file (worldgen/noise_settings/overworld.json), this is used to generate the Bedrock layer at the bottom of the World and make it transitioning from Bedrock to Deepslate to not have it flat
 

{
  "type": "minecraft:condition",
    "if_true": {
      "type": "minecraft:vertical_gradient",
        "false_at_and_above": {
          "above_bottom": 5
        },
          "random_name": "minecraft:bedrock_floor",
            "true_at_and_below": {
              "above_bottom": 0
            }
    },
      "then_run": {
        "type": "minecraft:block",
          "result_state": {
            "Name": "minecraft:bedrock"
          }
      }
}

And a similar condition is also applied to generate the Deepslate transition from Stone starting from Y level 8 to Y level 0 (notice the "false_at_and_above" and "true_at_and_below" properties)

{
  "type": "minecraft:condition",
    "if_true": {
      "type": "minecraft:vertical_gradient",
        "false_at_and_above": {
          "absolute": 8
        },
          "random_name": "minecraft:deepslate",
            "true_at_and_below": {
              "absolute": 0
            }
    },
      "then_run": {
        "type": "minecraft:block",
          "result_state": {
            "Name": "minecraft:deepslate",
              "Properties": {
                "axis": "y"
              }
          }
      }
}

So starting from this you can get an idea of how to create smooth transitions between your "biome layers".  Now, to generate blocks only at the top 10 blocks of the biome right now I can't think about any vanilla biome that does a similar thing, but maybe looking at how the Badlands or the Snowy Slope biome are constructed may be a good ay to follow

Don't blame me if i always ask for your help. I just want to learn to be better :)

  • Author
10 hours ago, JimiIT92 said:

I'm assuming you are using the Terrablender API for this (if not please tell me how you added a new biome to the Overworld without that, since it looks like that's the only way 🤣).
Anyway you coul always look at how vanilla does declare these Surface Rules, specifically the one for the mountain biomes (I think they are actually defined in the JSON file, but from the code you can get an idea of how these conditions works).

One condition I can think would be interesting is the SurfaceRules.VerticalGradientConditionSource condition. Judging from the name you can guess that this is the condition used to create some gradients. For instance, if we look at the Overworld noise settings file (worldgen/noise_settings/overworld.json), this is used to generate the Bedrock layer at the bottom of the World and make it transitioning from Bedrock to Deepslate to not have it flat
 

{
  "type": "minecraft:condition",
    "if_true": {
      "type": "minecraft:vertical_gradient",
        "false_at_and_above": {
          "above_bottom": 5
        },
          "random_name": "minecraft:bedrock_floor",
            "true_at_and_below": {
              "above_bottom": 0
            }
    },
      "then_run": {
        "type": "minecraft:block",
          "result_state": {
            "Name": "minecraft:bedrock"
          }
      }
}

And a similar condition is also applied to generate the Deepslate transition from Stone starting from Y level 8 to Y level 0 (notice the "false_at_and_above" and "true_at_and_below" properties)

{
  "type": "minecraft:condition",
    "if_true": {
      "type": "minecraft:vertical_gradient",
        "false_at_and_above": {
          "absolute": 8
        },
          "random_name": "minecraft:deepslate",
            "true_at_and_below": {
              "absolute": 0
            }
    },
      "then_run": {
        "type": "minecraft:block",
          "result_state": {
            "Name": "minecraft:deepslate",
              "Properties": {
                "axis": "y"
              }
          }
      }
}

So starting from this you can get an idea of how to create smooth transitions between your "biome layers".  Now, to generate blocks only at the top 10 blocks of the biome right now I can't think about any vanilla biome that does a similar thing, but maybe looking at how the Badlands or the Snowy Slope biome are constructed may be a good ay to follow

It seems like I've forgotten to include my repo link... sorry. Yes I am using TerraBlender. I've included the link in the main post now.
Anyway: Thanks for your help, I will see if I get something to work :)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.