TerrainControl icon indicating copy to clipboard operation
TerrainControl copied to clipboard

Per Biome Control of Caves and Canyons

Open SamTewksbury opened this issue 12 years ago • 6 comments

It would be nice to have per biome control of caves and canyons. Either adding a dedicated section in the BiomeConfig file that has the same options as currently found in the WorldConfig or adding them to the resource section using something like Cave() and Canyon() as an example.

SamTewksbury avatar Jan 01 '13 19:01 SamTewksbury

Nice idea, but the generator makes caves before the biome layer is applied to the terrain.

ScottKillen avatar Jan 01 '13 19:01 ScottKillen

That seems odd to me, although I am sure there is a perfectly good reason for the order of generation.

However, even if the normal caves and canyons are created before the biome is applied, by adding a Cave() and Canyon() function to the resource queue the map maker could still have much more control over their generation.

SamTewksbury avatar Jan 01 '13 19:01 SamTewksbury

Actually, the biomes are calculated before the cave generator is called (see generate(x,z) in ChunkProviderTC). Theoretically, I could read the cave settings from the biomes.

However, cave generation operates on a chunk level while biomes operate on a column level. No transition would be made between caves of one biome to another, which would look very ugly.

rutgerkok avatar Jan 01 '13 20:01 rutgerkok

True. I should have emphasized that I meant that biomes were not applied to the chunk (ie biome top and fill blocks are not applied) capable until after cave generation. :smile:

ScottKillen avatar Jan 01 '13 22:01 ScottKillen

Rutgerkok - That makes sense. Do ores work the same way as caves - with no graceful transition between biomes?

SamTewksbury avatar Jan 01 '13 23:01 SamTewksbury

To expand on why I suggested this - currently, the cave generator will, on its default settings, generate a large number of caves that break the surface. This is not desirable in many cases, especially when trying to replicate more realistic terrains. To avoid this, I generally set the max height for cave generation to 8 blocks below "sea level". However, in a mountainous region I might want caves going all the way up to max height. I've seen people try to work around this by using CustomHeightControl, but when I've tried this, I always end up with issues with biome transitions and the "caves" created using that method are usually much larger than I want.

I'd be willing to slap a border on a biome to hide any bad cave transitions if it meant I could have regular caves at different heights.

SamTewksbury avatar Jan 01 '13 23:01 SamTewksbury