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

  • Author

Listen for WorldEvent.Load. Check if it's the nether dimension. If so, modify the biomeProvider field in the world's provider.

 

That works correctly but the biomes still spawn as the normal Nether. To have them generate correctly, would I have to replace the ChunkProvider for the Nether?

  • Author

What do you mean by "generate correctly"? Do you want to make the nether look like the overworld?

I don't want it to look like the Overworld. I want to add new biomes to the Nether.
  • Author

So... isn't that what you have done now?

 

Sorry, I do not mean to be confusing. What is it I am supposed modify in the BiomeProvider?

  • Author

You are not supposed to modify anything. You are supposed to change the BiomeProvider. By default the nether uses a BiomeProviderSingle which always gives the same biome. You have to substitute a different one.

 

Here is what I have been testing:

    public void onWorldLoad(WorldEvent.Load event)
    {
        World world = event.getWorld();

        if(world.provider instanceof WorldProviderHell)
        {
            event.getWorld().provider.biomeProvider = new BiomeProviderSingle(Biomes.FROZEN_OCEAN);
        }
    }

 

Q962ox2.png

 

It does change the biome but as you can see it still generates as a regular hell biome.

  • Author

You need to completely replace the terrain generation then.

You have to override the WorldProvider by modifying the

clazz

field in

DimensionType.NETHER

to your own WorldProvider. Note that this is of course incompatible with any other mod doing this.

 

I used an AT to make the clazz field public in DimensionType. Would this be the best way to do it?

 

DimensionType.NETHER.clazz = WorldProviderNEX.class;

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.