Jump to content

Recommended Posts

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?

Posted

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

 

  • Like 1
Posted
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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

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