Jump to content
  • Home
  • Files
  • Docs
Topics
  • All Content

  • This Topic
  • This Forum

  • Advanced Search
  • Existing user? Sign In  

    Sign In



    • Not recommended on shared computers


    • Forgot your password?

  • Sign Up
  • All Activity
  • Home
  • Minecraft Forge
  • Suggestions
  • Improvements To BiomeDictionary Specificity
Currently Supported: 1.16.X (Latest) and 1.15.X (LTS)
Sign in to follow this  
Followers 2
GhostWolf2398

Improvements To BiomeDictionary Specificity

By GhostWolf2398, January 28, 2014 in Suggestions

  • Reply to this topic
  • Start new topic

Recommended Posts

GhostWolf2398    0

GhostWolf2398

GhostWolf2398    0

  • Tree Puncher
  • GhostWolf2398
  • Members
  • 0
  • 5 posts
Posted January 28, 2014

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.

  • Quote

Share this post


Link to post
Share on other sites

JaredBGreat    8

JaredBGreat

JaredBGreat    8

  • Creeper Killer
  • JaredBGreat
  • Members
  • 8
  • 129 posts
Posted January 29, 2014

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.

  • Quote

Developer of Doomlike Dungeons.

Share this post


Link to post
Share on other sites

MrMasochism    2

MrMasochism

MrMasochism    2

  • Tree Puncher
  • MrMasochism
  • Members
  • 2
  • 29 posts
Posted June 2, 2014

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?

  • Quote

Share this post


Link to post
Share on other sites

LexManos    1620

LexManos

LexManos    1620

  • Reality Controller
  • LexManos
  • Forge Code God
  • 1620
  • 8958 posts
Posted June 3, 2014

I hear your bitching and eagerly await your PRs.

  • Quote

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Patreon: http://www.patreon.com/lexmanos
Paypal: http://paypal.me/LexManos

BitCoin: 1Q8rWvUNMM2T1ZfDaFeeYQyVXtYoeT6tTn

Share this post


Link to post
Share on other sites

GotoLink    381

GotoLink

GotoLink    381

  • World Shaper
  • GotoLink
  • Members
  • 381
  • 2012 posts
Posted June 3, 2014

I'd rather keep the water tag.

It describes the main aspect of oceans and rivers perfectly.

Maybe some "LARGE" or "DEEP" tag ?

 

  • Quote

Share this post


Link to post
Share on other sites

keybounce    2

keybounce

keybounce    2

  • Stone Miner
  • keybounce
  • Members
  • 2
  • 92 posts
Posted July 11, 2014

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)

  • Quote

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

Share this post


Link to post
Share on other sites

LexManos    1620

LexManos

LexManos    1620

  • Reality Controller
  • LexManos
  • Forge Code God
  • 1620
  • 8958 posts
Posted July 11, 2014

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!

  • Quote

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Patreon: http://www.patreon.com/lexmanos
Paypal: http://paypal.me/LexManos

BitCoin: 1Q8rWvUNMM2T1ZfDaFeeYQyVXtYoeT6tTn

Share this post


Link to post
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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  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.

    • Insert image from URL
×
  • Desktop
  • Tablet
  • Phone
Sign in to follow this  
Followers 2
Go To Topic Listing



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • ThisIsNotOriginal
      Error at load_registries event phase

      By ThisIsNotOriginal · Posted 29 minutes ago

      The pastebin for the log and Registry Event is posted below this text.   https://pastebin.com/KEzJvRgG https://pastebin.com/VUrXR94k
    • PlasmaPig13
      The game crashed whilst rendering overlay Error: java.lang.NullPointerException: Rendering overlay Exit Code: -1

      By PlasmaPig13 · Posted 34 minutes ago

      Here's the crash report and the loglatest.log crash-2021-03-02_19.33.58-client.txt
    • PlasmaPig13
      The game crashed whilst rendering overlay Error: java.lang.NullPointerException: Rendering overlay Exit Code: -1

      By PlasmaPig13 · Posted 39 minutes ago

      I'm using 1.14.4 forge version 28.2.23 and the game crashes with the title's error message. Also, I'm new here; how do I paste the log? 
    • LexManos
      The vanilla tag system isnt suitable for ore dictionary

      By LexManos · Posted 39 minutes ago

      You can also use conditionals, However empty tags are probably the best way to go. Data gens make any argument of being hard to use moot. So there is nothing we need to do in this reguard.
    • Ilikecheese
      forge 1.16.5 wont show up

      By Ilikecheese · Posted 1 hour ago

      I downloaded forge 1.16.5 but it doesn't show up in my installations, the modded box is checked of and its not there if I try to create it idk what to do
  • Topics

    • ThisIsNotOriginal
      0
      Error at load_registries event phase

      By ThisIsNotOriginal
      Started 29 minutes ago

    • PlasmaPig13
      1
      The game crashed whilst rendering overlay Error: java.lang.NullPointerException: Rendering overlay Exit Code: -1

      By PlasmaPig13
      Started 39 minutes ago

    • EnderiumSmith
      3
      The vanilla tag system isnt suitable for ore dictionary

      By EnderiumSmith
      Started 14 hours ago

    • Ilikecheese
      0
      forge 1.16.5 wont show up

      By Ilikecheese
      Started 1 hour ago

    • GhostGamesFSM
      0
      1.16 Ore generation.

      By GhostGamesFSM
      Started 1 hour ago

  • Who's Online (See full list)

    • fluiX
    • Paperbagwastaken
    • fallOut015
    • duracell00122@gmail.com
    • Ilikecheese
    • louvenoir
    • That_Tallone
    • Katie328
    • bananaman2xx
    • PlasmaPig13
    • KnightMiner
    • ThisIsNotOriginal
    • GhostGamesFSM
  • All Activity
  • Home
  • Minecraft Forge
  • Suggestions
  • Improvements To BiomeDictionary Specificity
  • Theme

Copyright © 2019 ForgeDevelopment LLC · Ads by Longitude Ads LLC Powered by Invision Community