VolmitSoftware / Iris

World Generation through a new Iris
https://volmit.com
GNU General Public License v3.0
445 stars 166 forks source link

Replace continent renderer with biomeStream #962

Closed svdgoor closed 1 year ago

svdgoor commented 1 year ago

Terrain height was unreliable. Instead, we take an output more closely related to the continentStyle on the Dimension, as opposed to a way-down-the-line output, being the terrain height.

svdgoor commented 1 year ago

I make a few assumptions:

  1. At the height of the world -1, the 'getBiome' method on the IrisEngine returns the biome at the surface of the terrain below that point
  2. The first generator of a biome is indicative of whether it is a generator generating land, shore or ocean, where if b.max < 0 return ocean elif b.min < 0 return shore else return land.

Also, as an additional observation, it would appear the preview in /ir s map is shifted by about 30 blocks in the negative z direction. Not sure why, but everything looks fine, just ~30 blocks to the side.

NextdoorPsycho commented 1 year ago

What is this PR Doing?

svdgoor commented 1 year ago

So basically StrangeOne made this /iris studio map window where you can see a bunch of different views of the terrain of an Iris world I replaced the renderer for the continents (that is currently based on the height relative to the total dimension height) with a version based on the heights configured in the generators of the biomes at each location. The reason for this change is that the total height difference (-64 to 448) is so high, that a difference in terrainheight of 100 blocks would only change the R value of the color on the preview by 60 points. The alternative to this approach is calculating the maximal difference in terrain height to use as the delta of the height, but that is not nice.