Jump to content

Improvements To BiomeDictionary Specificity


Recommended Posts

Hello. I would like to preface my post by saying that I am a Senior Developer of the Pixelmon mod, and that we have recently transitioned our Pokemon spawning from using just biomes to utilizing the BiomeDictionary system, to allow for greater compatibility with other mods. While the dictionary is a good system for cross-compatibility of mods with biome generation code, we have found that it could use a few tweaks for maximum compatibility.


The major issue we have encountered is that it isn't possible to differentiate River and Ocean style biomes from tags alone (both are [Water] or [Water, Frozen]). I would like to propose possibly differentiating the WATER tag into RIVER and OCEAN (possibly retaining the WATER tag as referring to either for compatibility, but it may be necessary for mods to adapt to the new tag split). This would allow for the following vanilla initilization:


        BiomeDictionary.registerBiomeType(river, RIVER);

        BiomeDictionary.registerBiomeType(ocean, OCEAN);

        BiomeDictionary.registerBiomeType(frozenRiver, RIVER, FROZEN);

        BiomeDictionary.registerBiomeType(frozenOcean, OCEAN, FROZEN);


A secondary improvement on the dictionary is the way vanilla biomes are classified and initialized in Forge. In particulare the icePlains and iceMountains (both just [Frozen]), and the hills sub-biomes (which lack the HILLS secondary tag). I would propose changing the initialization to the following:


        BiomeDictionary.registerBiomeType(icePlains, FROZEN, PLAINS);

        BiomeDictionary.registerBiomeType(iceMountains, FROZEN, MOUNTAINS);

        BiomeDictionary.registerBiomeType(desertHills, DESERT, HILLS);

        BiomeDictionary.registerBiomeType(jungleHills, JUNGLE, HILLS);

        BiomeDictionary.registerBiomeType(forestHills, FOREST, HILLS);


This initialization still allows for each biome to be identified correctly by mods that use isBiomeOfType() calls, and provides additional specificity for mods that want to differentiate the hills portions and the two ice biomes.


I realize that some of this may end up changing slightly with the new 1.7 and beyond biomes, but hope that this would improve the BiomeDictionary system in its current state.

Link to comment
Share on other sites

I have to say I like this idea.  Not that getting it updated to all the new biomes in general isn't a priority -- but this makes a lot of sinces, especially for part about classifying the *Hills tyes as HILLS besides their other classification (and perhaps the new "M" types as Mountains?); let them all be what they are, all they are -- but the RIVER versus OCEAN things is a good idea, too.  Yeah, I don't know that anyone else cares about my opinion, but I have to second this for what its worth.

Developer of Doomlike Dungeons.

Link to comment
Share on other sites

  • 4 months later...

To further this.  We are currently about to release our 1.7 version and are going to have to break compatibility with the biome tag system which we are loathe to do but it doesn't have enough flexibility as it currently sits.  Even with the 1.6 system, a 2-tag identifying structure wasn't enough to be able to distiinguish between taiga and taiga hills so I'd love it if forge moved to a 3 tag system and applied it to the 1.7 biome list.  Would this be possible?

Link to comment
Share on other sites

  • 1 month later...

How would you handle biomes such as "beach", or "mushroomhills shore"? Would they be classified as rivers?


What about swampland -- lots of water surface, for example.


Where is the distinction between river and ocean -- would it be "Depth of 50 to 58 = river, depth of 49 and lower = ocean"? (I think that excludes swamps and otherwise has reasonable behavior)

Jeb! The sheep! The fence pens, they do nothing still leak!

Link to comment
Share on other sites

These are distinctions that modders will have to argue amongst themselves.

If you consider your biome a ocean it's a ocean.. If you consider it a beach it's a beach.

I've added a way for modders to add there own categories so go forth and work together!

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

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.

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.

  • Create New...

Important Information

By using this site, you agree to our Terms of Use.