Jump to content

[1.16.4] Custom World Type & Biomes


JoieNL

Recommended Posts

Hey y'all,

I've been trying my hands at making a new world type lately. This works exactly as it should using the recently added class

ForgeWorldType

. Now, I want my custom world type to use a set of custom biomes, and this is where I run into trouble. I've copied the code in

OverworldBiomeProvider

and swapped the entries of the biomes field out for my custom biomes. However, the vanilla biomes spawn like in the Default world type when I generate a world using my custom world type. And for the record: yes, I am passing it into the constructor of ForgeWorldType. I have already located the issue: the

getNoiseBiome

method in my copied biome provider class uses a lookup registry that always contains the vanilla biomes. How would I go about correctly implementing this method, such that my custom biomes generate instead? And on the subject of implementing biome provider methods, how do I implement the

getBiomeProviderCodec

method?

TL;DR: How do I implement BiomeProvider's abstract methods in my custom biome provider class?

Link to comment
Share on other sites

So it took me a few days, but I managed to figure things out myself. First of all, apparently

RegistryObject<Biome>

fields used with

DeferredRegister

 cannot be referenced directly. When you want to reference your custom biomes, you need to get them from the biome registry itself. This solves the issues I had with the

getNoiseBiome

method. Secondly, the codec thing. All I had to do to get that working, was to register the codec in a static initialiser in my biome provider class:

static {
    Registry.register(Registry.BIOME_PROVIDER_CODEC, new ResourceLocation(MOD_ID, "biome_source"), CODEC);
}

I hope this helps anyone trying this for themselves.

  • Like 1
Link to comment
Share on other sites

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.