Build 111 is out, with a fix for the empty log lines @oldTCcreator (and anyone else with custom biomes) saw. The blocks-not-visible-until-relog bug is still there.
Your suggestion about DisableBiomeHeight sounds nice, but I cannot implement it.
Each block in a chunk has a noise value, lets call this finalNoise. If it's smaller than 0, air or water is generated (depending on the height), otherwise stone. (Later on, the stone is decorated with grass, plants, etc.)
finalNoise is calculated like this:
finalNoise(x,y,z) = (noiseFactor(x,y,z) + heightFactor1(x,y,z)) * heightFactor2(y) + CustomHeightControl(y)
heightFactor1 to 0, and
heightFactor2 to 1, instead of their normal values. If you follow the maths, you see that they then fall out of the equation, so that it becomes:
finalNoise = noiseFactor + CustomHeightControl
heightFactor2 is just dependant on the y value (it just subtracts some value so that there is always air above a certain height), so it is possible to rewrite the equation so that it is part of some refurbished CustomHeightControl. However, this is not possible for
heightFactor1. As you can see from the equation, it is a function of x, y and z. More precisely,
heightFactor1 depends on:
- the averaged BiomeHeight and BiomeVolatility of the nearby biomes
- MaxAverageDepth, MaxAverageHeight
- some value that cannot be changed using a setting, but that depends on the world seed, block x and block z.
In other words: this
heightFactor1 cannot be pre-calculated and stored in CustomHeightControl.
That was a lot of mathematics, but what I wanted to say was that DisableBiomeHeight doesn't just add some constant to CustomHeightControl, but a dynamic value, unique for each position in the world.
(And yes, TC needs a more intuitive terrain shape system. However, dropping the old settings would destroy all existing worlds, and letting old and new settings coexist is difficult to do with how TC is currently structured.)