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

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.

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

  • 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

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. 

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 by Luis_ST

  • 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

 

You find the vanilla BiomeProvider Registry in the the BiomeProvider ckass in the static initializer, copy it but use a ResourceLocation as Registry name

  • 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

no i mean this:

Registry.register(Registry.BIOME_SOURCE, new ResourceLocation("mod_id", "provider_name"), codec_of_the_provider);

 

  • 2 weeks later...
  • 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.

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.