MinicraftPlus / minicraft-plus-revived

Minicraft+, an extension of Notch's original minicraft project, with tons more features.
GNU General Public License v3.0
486 stars 97 forks source link

Biomes #715

Open JamesTDG opened 2 weeks ago

JamesTDG commented 2 weeks ago

I feel like biomes should be handled differently from Minecraft, rather than assigning regions to be locked rigidly to a specified biome, if enough of a specified tile is in a region, the region is converted into the desired biome. Yes, this is exactly based on how Terraria handles it, but this provides a valuable bonus to players who wish to control spawn conditions at and around their base.

This will be additionally improved if we get some mechanism for trading to obtain items that are rarer, such as from some variant based on the wandering trader. This would make building biomes nonexistent on existing worlds possible. Attempting to limit on elaboration here for a future issue to cover this topic.

BenCheung0422 commented 2 weeks ago

Also, worth taking a look at https://github.com/MinicraftPlus/minicraft-plus-revived/pull/538#issuecomment-1646613554

Actually I am not so sure how biomes should be handled, but I think deciding biomes by tiles can be something complicated.

JamesTDG commented 2 weeks ago

My concept is focused around the percentage of specific tiles within a region or "chunk" to define the biome. Eg, if a region is 50% sand and 50% water, it's a beach. If a region is mostly trees, it's a forest.

To save on resources, regions can only have their biomes update if the player has it rendered and the player has modified it in the last few minutes or so.

I cannot offer up anything specific in this proposal without knowing what the size of a region will be. Is it going to be 16² like with Minecraft chunks, or larger since region data only really accounts for 2 axes (is that the plural of axis? Dunno TBH) worth of tile data.

BenCheung0422 commented 2 weeks ago

Perhaps it can be made on "tile update", may be considerable. The size of a chunk is likely 16 by 16, since each "tile" can be layered as of previously proposed ideas about tiles like in #396.