Posted June 7, 20205 yr 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?
June 7, 20205 yr 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
June 8, 20205 yr 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.