Biome based structure spawning - AndroidQuazar/VanillaExpandedFramework GitHub Wiki
Add the KCSG.BiomeStructGenExtension
mod extension to your BiomeDef. You can have multiple of those on your def. Example of use below:
<modExtensions>
<li Class="KCSG.BiomeStructGenExtension">
<!-- A list of layout def and their commonality -->
<structures>
<li>
<layout>Layout1</layout>
<commonality>0.2</commonality>
</li>
<li>
<layout>Layout2</layout>
<commonality>0.6</commonality>
</li>
<li>
<layout>Layout3</layout>
<commonality>1.0</commonality>
</li>
</structures>
<!-- False: will not check if cell are walkable -->
<canSpawnInMontains>true</canSpawnInMontains>
<!-- canSpawnInMontains need to be false -->
<clearCellRadiusAround>2</clearCellRadiusAround>
<!-- Count to spawn -->
<spawnCount>80</spawnCount>
<!-- Should tile hiliness multiply count -->
<countScaleHiliness>true</countScaleHiliness>
<!-- Multipliers -->
<scalingOptions>
<flat>0.5</flat>
<smallHills>1</smallHills>
<largeHills>2</largeHills>
<mountainous>3</mountainous>
</scalingOptions>
<!-- Regnerate ore after spawn,
useful if you plan on spawning rocks
and want ores to spawn randomly in it -->
<postGenerateOre>true</postGenerateOre>
<!-- Spawn on water... -->
<canSpawnOnBridgeableTerrain>false</canSpawnOnBridgeableTerrain>
</li>
</modExtensions>