Posted September 5, 20214 yr I need to get a biome to generate in a very specific shape, and as far as I've found there isn't any way to change much about the generation noise from all the data files. So basically I was just wondering what classes are used for generating the noise and where they're registered so I can try and make a new noise type.
September 6, 20214 yr there unfortunately no easy way to do this, the BiomeLayer is generate in the Layers class, if you want to modify the Layer you will need a custom one, you also need a custom BiomeSource (old: BiomeProvider), which you can set in the dimension.json file
September 6, 20214 yr Author I couldn't really figure out how to do that, but I did find the ChunkGenerator class and tried to make my own class extending it, I have no idea how to register it though as that seems to be done inside of the ChunkGenerator class in a static {} thing (I'm not sure the proper name). So is there any forge registry for registering a ChunkGenerator
September 7, 20214 yr use the vanilla registry in FMLCommonSetupEvent, in which dimension do you want to modify the Biome generation, a custom one? can you please show the your .json files you currently use.
September 7, 20214 yr Author It's a custom dimension, and all of them should be here https://github.com/ImNotJahan/danmachi-mod/tree/master/v1.16.5/src/main/resources/data/danmachi
September 8, 20214 yr Okay the repo of your mod makes a bit easier, as I already told you, you only need a custom BiomeProvider, you can then register the Provider in FMLCommonSetupEvent using the vanilla Registry system then you can replace this line with the ID of your BiomeProvider Edited September 8, 20214 yr by Luis_ST
September 9, 20214 yr Author Ah okay I now understand what you mean, and I feel like this'll be obvious but how do I register the provider? You say using the vanilla registry system but the only way I see one registered in the vanilla things requires arguments from something being executed
September 9, 20214 yr You find the vanilla BiomeProvider Registry in the the BiomeProvider ckass in the static initializer, copy it but use a ResourceLocation as Registry name
September 10, 20214 yr Author This? private static Path createPath(Path p_244199_0_, ResourceLocation p_244199_1_) { return p_244199_0_.resolve("reports/biomes/" + p_244199_1_.getPath() + ".json"); } If so, I'm not sure what I should put the path to
September 10, 20214 yr no i mean this: Registry.register(Registry.BIOME_SOURCE, new ResourceLocation("mod_id", "provider_name"), codec_of_the_provider);
September 19, 20214 yr Author Sorry for the very late response, but mixed with what you said + looking at the twilight forest source code I was able to get it working
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.