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

Hi, I'm a bit confused about what the getNoiseBiome method does in BiomeProvider and how to implement it. I am trying to generate multiple biomes in my own dimension, however through testing I have found that only the biome set to be returned by getnoisebiome is actually generated in the dimension. Ive read some vanilla code but cant find anything clear on how this is meant to be used. Can anyone guide me in the correct direction to implementing this function in such a way that all of my custom biomes are generated in my dimension?

I've been working on this myself, and I can tell you it's a confusing spaghetti mess. At least to me!!! I haven't figured it all out yet, but I feel like I've found a few classes that offer the most insight:

net.minecraft.world.gen.layer.BiomeLayer - used from LayerUtil

net.minecraftforge.common.BiomeManager - used by BiomeLayer, this one seems like it is most useful

net.minecraft.world.gen.layer.LayerUtil - seems as if it uses various Layer classes (that aren't the Layer class lol) to layout the biomes, and smooth out edges and stuff. Honestly, so many unnamed parameters in here that it's tough to know what's going on. A few of the classes/enums (i.e. EdgeLayer) have their paramters named, but not many of them. (using 20200604 mappings)

 

I wish I had more useful information to share with you, but I'm still trying to figure it all out myself, but the BiomeManager, BiomeLayer, and LayerUtil classes are a really good place to start, because the BiomeProvider seems more or less like a frontend to all this other stuff going on. And that's probably about the most information/advice you'll find on this subject anywhere lol. I have another thread that's similar, that I will likely update if/when I figure out more stuff, feel free to add on to it if you'd like: https://www.minecraftforge.net/forum/topic/86253-1152-layerutil-layers-traits

 

  • Author
14 hours ago, diesieben07 said:

The method determines the biome for a given x and z location. You can look at e.g. OverworldBiomeProvider to see how it determines it's biomes.

Do the x and z refer to block coordinates or chunk coordinates (or something else?). 

 

13 hours ago, Ugdhar said:

I've been working on this myself, and I can tell you it's a confusing spaghetti mess. At least to me!!! I haven't figured it all out yet, but I feel like I've found a few classes that offer the most insight:

net.minecraft.world.gen.layer.BiomeLayer - used from LayerUtil

net.minecraftforge.common.BiomeManager - used by BiomeLayer, this one seems like it is most useful

net.minecraft.world.gen.layer.LayerUtil - seems as if it uses various Layer classes (that aren't the Layer class lol) to layout the biomes, and smooth out edges and stuff. Honestly, so many unnamed parameters in here that it's tough to know what's going on. A few of the classes/enums (i.e. EdgeLayer) have their paramters named, but not many of them. (using 20200604 mappings)

 

I wish I had more useful information to share with you, but I'm still trying to figure it all out myself, but the BiomeManager, BiomeLayer, and LayerUtil classes are a really good place to start, because the BiomeProvider seems more or less like a frontend to all this other stuff going on. And that's probably about the most information/advice you'll find on this subject anywhere lol. I have another thread that's similar, that I will likely update if/when I figure out more stuff, feel free to add on to it if you'd like: https://www.minecraftforge.net/forum/topic/86253-1152-layerutil-layers-traits

 

Thank you for all this, I had a look through all that and have come to a similar conclusion to you - it is a spaghetti mess. I think I'm going to try and do the math and create my own biome noise. Ill post anything I come up with that seems to work here (if I can achieve anything).

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.