BiomeConfigs - PG85/OpenTerrainGenerator GitHub Wiki
This page was ported from the TerrainControl wiki and is subject to updating as OTG begins the 1.16 update process.
Here the biome config file is explained. Each biome has it's own config file. You can find the biome config files of a world in /plugins/TerrainControl/worlds/_worldname_/WorldBiomes
. There's also a GlobalBiomes
folder in /plugins/TerrainControl/GlobalBiomes/
that allows you to share biomes across multiple worlds on the same server.
Jump to
- Biome inheritance
- Biome placement
- Terrain height and volatility
- Rivers
- Blocks
- Water and ice
- Visuals and weather
- Resources queue
- Sapling settings
- Custom objects
- Structures
- Mob spawning
Biome inheritance
BiomeExtends:
If you provide a biome name here, Terrain Control will use the settings in that biome for all missing settings in this biome.
When working with Terrain Control, you'll find yourself often creating multiple biomes that are very similar. Just a few settings are different. When you want to make a change to all those biomes, you need to go through each biome config and change the setting.
Biome inheritance solves this problem. An example: you create one biome config with all settings of the biome. For this example, we call that biome
MyForest
. You then create another biome config calledMyForestMountains
that is completely empty. At the top of that file, you addBiomeExtends: MyForest
. The biomeMyForestMountains
will now copy all settings from theMyForest
biome. You can then addBiomeVolatility: 0.5
toMyForestMountains
to make it more hilly. All settings fromMyForest
are still in theMyForestMountains
biome, except theBiomeVolatility
setting, which was overridden by theMyForestMountains
biome. If you make a change to one of the other settings inMyForest
,MyForestMountains
will have those changes included too.
ResourceInheritance: true
When set to true, all resources of the parent biome (if any) will be copied to the resources queue of this biome. If a resource in the parent biome looks very similar to that of a child biome (for example, two ores of the same type) it won't be copied.
Biome placement
BiomeSize: 4
Size of the biome when spawned by a BiomeGroup. Read More See also
BiomeSizeWhenIsle
andBiomeSizeWhenBorder
below.
BiomeRarity:100
Probability of the biome when spawned by a BiomeGroup. Read More See also
BiomeRarityWhenIsle
below.
BiomeColor:0x999900
This is the internal (hexadecimal) color for this biome to be used in FromImage mode and on the biome map. Read More
ReplaceToBiomeName:
Only available in custom biomes. Replaces this biome to specified after the terrain has generated. Read More
Isle biomes only
IsleInBiome:
Determines in which biome this biome will spawn as island. Read More
BiomeSizeWhenIsle: 6
Size of this biome when spawned as an ilse biome. Valid values range from 0 to GenerationDepth. Larger numbers give smaller islands. The biome must be smaller than the biome it's going to spawn in, so the BiomeSizeWhenIsle number must be larger than the BiomeSize of the other biome.
BiomeRarityWhenIsle: 97
Rarity of this biome when spawned as an ilse biome. Seems to have an logaritmetic scale: a rarity of 100 makes the biome spawn everywhere in the parent biome, 99 only on 50% of the biome, and so on.
Border biomes only
BiomeIsBorder:
Determines to which biome this biome will be border. Read More
NotBorderNear:
This setting determines next to which biome a border biome should not spawn. Read More
BiomeSizeWhenBorder: 8
Size of this biome when spawned as a border biome. Valid values range from 0 to GenerationDepth. Larger numbers give smaller borders. The biome must be smaller than the biome it's going to spawn in, so the BiomeSizeWhenBorder number must be larger than the BiomeSize of the other biome.
Terrain height and volatility
BiomeHeight:0.1
The height of the biome. 0.0 is half of map height. Doesn't work when
TerrainMode
in the [WorldConfig]] is set to OldGenerator. [Read More
BiomeVolatility:0.3
How hilly the biome is. Doesn't work when
TerrainMode
in the WorldConfig is set to OldGenerator. Larger values make the terrain more hilly.
SmoothRadius:2
At the border of two biomes a transition area is created from the height of one biome to the height of the other biome. This setting controls how big that area is. Values must be between 0 and 32, inclusive.
The resulting smooth radius seems to be
(thisSmoothRadius + 1 + smoothRadiusOfBiomeOnOtherSide) * 4
. So if two biomes next to each other have both a smooth radius of 2, the resulting smooth area will be(2 + 1 + 2) * 4 = 20
blocks wide.
MaxAverageHeight:0.0
Higher values make mountains higher without affecting the lower areas of the terrain. Lower values will make the mountains lower, again without affecting the lower areas of the terrain.
MaxAverageDepth:0.0
Volatility1:0.0
Volatility2:0.0
Another type of noise which also works with
TerrainMode:OldGenerator
. Read More
VolatilityWeight1:0.5
VolatilityWeight2:0.45
Adjusts the weight of the corresponding volatility settings. This allows you to change how prevalent you want either of the volatility settings to be in the terrain.
DisableBiomeHeight:false
Normally lower areas are filled with stone and higher areas are air. When this setting is set to true, this will be disabled: you will get a Nether/Skylands-like world (depending on the values used in CustomHeightControl).
CustomHeightControl:0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
List of custom height factors represented by floating point numbers, each entry controls about 7 blocks height. Used to force or surpress blocks a certain altitudes. The left most 0.0 affects biome floor, the right most 0.0 affects biome ceiling. Read More
Rivers
There are two different river systems - the standard one and the improved one. See the
ImprovedRivers
settting in the WorldConfig. Both modes have different river settings, so carefully read the headers to know which settings you can use.
ImprovedRivers:false
RiverBiome:River
Only available when ImprovedRivers is set to false in the WorldConfig. Sets which biome is used as the river biome.
ImprovedRivers:true
RiverHeight:-1.0
Works the same as BiomeHeight, but is used where a river is generated in this biome.
RiverVolatility:0.3
Works the same as
BiomeVolatility
(scroll up), but is used where a river is generated in this biome.
RiverWaterLevel:63
Works the same as
WaterLevelMax
(scroll down), but is used where a river is generated in this biome. Can be used to create elevated rivers.
RiverHeightControl:0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
Works the same as CustomHeightControl (scroll up), but is used where a river is generated in this biome.
Blocks
SurfaceBlock:2
Surface block id of the biome. Most biomes use grass (id=2) as surface block. Cannot be higher than 255. Cannot use block data. See the Minecraft Wiki for the possible block ids.
GroundBlock:3
Ground block of the biome. Most biomes use dirt (id=3) as ground block. Cannot be higher than 255. Cannot use block data.
SurfaceAndGroundControl:
Allows for more refined control of the surface and ground blocks of the biome.
After the initial terrain generation, but before any resources are placed, this setting will replace the existing surface and ground blocks. This is done so that block data can be added, which is impossible in the initial terrain generation step. (CraftBukkit limitation.)
Each column in the world has a noise value from what appears to be -7 to 7. Values near 0 are more common than values near -7 and 7. This setting is used to change the surface block based on the noise value for the column.
Syntax:
SurfaceBlock[:Data],GroundBlock[:Data],MaxNoise,[AnotherSurfaceBlock[:Data],[AnotherGroundBlock[:Data],MaxNoise[,...]]
Example:
SurfaceAndGroundControl: STONE,STONE,-0.8,GRAVEL,STONE,0.0,DIRT,DIRT,10.0
- When the noise is below -0.8, stone is the surface and ground block, between -0.8 and 0 gravel with stone just below and between 0.0 and 10.0 there's only dirt. Because 10.0 is higher than the noise can ever get, the normal SurfaceBlock and GroundBlock will never appear in this biome.
Alternatively, you can use
Mesa
,MesaForest
orMesaBryce
to get blocks like the blocks found in the Mesa biomes. The mesa biome has really complex surfaces, which cannot be recreated using any other setting.
ReplacedBlocks:None
With this setting, you can replace some blocks. The syntax is
(blockFrom,blockTo),(anotherBlockFrom,anotherBlockTo),(etc.)
. You can also use the advanced syntax:(blockIdFrom,blockIdTo:blockDataTo,minHeight,maxHeight),(etc.)
.
Some examples:
(GRAVEL,GLASS)
Replaces all gravel with glass blocks.
(GRASS,DIRT,100,127),(GRAVEL,GLASS)
Replaces all grass with dirt from layers 100 to 127 and all gravel with glass.
Water and ice
UseWorldWaterLevel:true
Set this to false to use the WaterLevelMax, WaterLevelMin, WaterBlock and IceBlock of this biome (see below). Set this to true to use the WaterLevelMax, WaterLevelMin, WaterBlock and IceBlock inside the WorldConfig.
WaterLevelMax:64
WaterLevelMin:0
Set water level. Every empty block between these levels will be filled with the block from WaterBlock. Only works if UseWorldWaterLevel is set to false.
WaterBlock:9
BlockId used as water in WaterLevel. Only works if UseWorldWaterLevel is set to false.
IceBlock:79
BlockId used as ice. Only works if UseWorldWaterLevel is set to false.
Visuals and weather
Warning: most of these settings will only work for clients with the single player version of Terrain Control installed!
BiomeTemperature:0.8
Biome temperature from 0.0 to 1.0. Set it to (a value near) 0 to enable snow and ice. Players without the TC client mod will see snow on the ground but rain in the air.
BiomeWetness:0.4
Biome wetness from 0.0 to 1.0. Set it to 0 to disable rain.
The following colors are hexadecimal colors. The first two digits are the red component (from 00 to ff), the third and fourth digit are the green component and the last two digits are the blue component. Here you could find a lot of possible values, but remember that you have to replace the # with 0x (so #7ba5ff is 0x7ba5ff). Most of these values are multipliers, so that the color you choose gets multiplied with the default color.
SkyColor:0x7ba5ff
Color for the sky.
WaterColor:0xffffff
Color multiplier for the water.
GrassColor:0xffffff
Color for the grass (block and tall grass). Use
GrassColorIsMultiplier
to set whether this is the actual grass color, or just a multiplier.
GrassColorIsMultiplier:true
Whether the grass color is a multiplier. If you set it to true, the color will be based on this value, the
BiomeTemperature
and theBiomeWetness
. This was the default behaviour before 2.3.2. If you set it to false, the grass color will be just this color.
FoliageColor:0xffffff
FoliageColorIsMultiplier:true
Color for the oak leaves. Works just like
GrassColor
andGrassColorIsMultiplier
. Doesn't affect birch, jungle and pine leaves.
Resources queue
In the resources queue you can add, modify and remove the things that populate your world (trees, ores, etc.). On this page each resource is explained.
Here is a small cheatsheet:
SmallLake(Block[:Data],Frequency,Rarity,MinAltitude,MaxAltitude)
Dungeon(Frequency,Rarity,MinAltitude,MaxAltitude)
UnderGroundLake(MinSize,MaxSize,Frequency,Rarity,MinAltitude,MaxAltitude)
Ore(Block[:Data],Size,Frequency,Rarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,BlockSource3.....])
UnderWaterOre(Block[:Data],Size,Frequency,Rarity,BlockSource[,BlockSource2,BlockSource3.....])
CustomObject(Object[,AnotherObject[,...]])
CustomStructure([Object,Object_Chance[,AnotherObject,Object_Chance[,...]]])
Tree(Frequency,TreeType,TreeType_Chance[,Additional_TreeType,Additional_TreeType_Chance.....])
Plant(PlantType,Frequency,Rarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,BlockSource3.....])
Grass(PlantType,Unused,Frequency,Rarity,BlockSource[,BlockSource2,BlockSource3.....])
Reed(Block[:Data],Frequency,Rarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,BlockSource3.....])
Cactus(Block[:Data],Frequency,Rarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,BlockSource3.....])
Liquid(Block[:Data],Frequency,Rarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,BlockSource3.....])
AboveWaterRes(Block[:Data],Frequency,Rarity)
Vines(Frequency,Rarity,MinAltitude,MaxAltitude)
Vein(Block[:Data],MinRadius,MaxRadius,Rarity,OreSize,OreFrequency,OreRarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,..])
Well(BaseBlock[:Data],HalfSlabBlock[:Data],WaterBlock[:Data],Frequency,Rarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,..])
Sapling settings
This is the place of the Sapling resource. Because it isn't a resource that affects the initial generation, it has been placed apart from other resources in the Resources queue (see above). However, the syntax of the Sapling resource is almost identical to the syntax of the Tree resource. Only the first argument is different: instead of being the frequency it is the SaplingType. The SaplingType can be
All
,Oak
,Redwood
,HugeRedwood
(grows when 2x2 redwood saplings are placed),Birch
,SmallJungle
,BigJungle
(grows when 2x2 jungle saplings are placed),Acacia
,DarkOak
(requires 2x2 saplings),RedMushroom
andBrownMushroom
.
Sapling(SaplingType,Tree,TreeChance[,AnotherTree,AnotherTreeChance[,...]])
Example:
Sapling(Birch,Birch,50,MyCustomBirch,100)
Only affects birch saplings (the first
Birch
). 50% chance to spawn a normal birch tree (secondBirch
), 50% chance to spawn the BO2MyCustomBirch
.
Custom objects
BiomeObjects:
A list of custom object names, seperated by a comma(
,
). If you use the keywordUseBiome
as a custom object name (for example in the Tree, CustomObject or the Sapling resource), it will spawn one of these objects.
Structures
Here you can find some settings for the vanilla structures. Keep in mind that if you disable the structure in the WorldConfig, the structure won't spawn, regardless of these settings.
StrongholdsEnabled: true
If you set this to false, Minecraft will try to find a good stronghold position in a nearby biome where strongholds can spawn. If that fails, it will place the stronghold anyway in this biome.
OceanMonumentsEnabled: false
If you set this to false, no ocean monuments will spawn in this biome. Even if only part of the monument touches this biome, the monument won't be spawned.
NetherFortessesEnabled: true
Whether Nether fortresses can start in this biome. Because the structure is so large, large parts of it can spawn in a neighbor biome.
VillageType: disabled
The type of the village. Set it to
disabled
to disable villages, set it towood
to spawn a wooden village and set it tosandstone
to spawn a sandstone village. Values are case-sensitive.
MineshaftRarity: 1
The Mineshaft rarity. 0 is no mineshafts, 1 is vanilla, 2 is like Minecraft Beta 1.8pre1 and 100 makes your biome a wooden chaos.
RareBuildingType: disabled
The type of the rare building in this biome. Can be
desertPyramid
,jungleTemple
,swampHut
,igloo
(new in TerrainControl 2.8) ordisabled
. Values are case-sensitive.
Mob spawning
Terrain Control has some basic mob spawning support built in.
However, these settings only work for custom biomes. That's why these settings don't appear for non-custom biomes.
There are four different mob types: monsters (creepers, zombies, skeletons, etc.), passive creatures (cows, chickens, etc.), water creatures (squids) and ambient creatures (bats). Mobs always spawn in groups. You can then add a mob group to the correct list.
The syntax of a group is like this:
{"mob": "Ocelot", "weight": 10, "min": 2, "max": 6}
As you can see, a mob group consists of several key:value pairs, seperated by a comma. All text is surrounded with double quotes. Two curly brackets mark the beginning and the end of the group. The syntax used here is called JSON.
All groups are placed together in a list syntax, which looks like this:
[{group},{anothergroup},{etc.}]
A few examples:
[{"mob": "Sheep", "weight": 12, "min": 4, "max": 4}, {"mob": "Pig", "weight": 10, "min": 4, "max": 4}]
Spawn sheeps and pigs. Sheeps have a higher weight than pigs. Both always spawn in groups of 4.
[{"mob": "Sheep", "weight": 12, "min": 3, "max": 12}
Spawn just sheep in groups from 3 to 12.
SpawnMonstersAddDefaults: true
Set this to true to spawn the normal monsters for this biome and the monsters listed at spawnMonsters.
Set this to false to spawn only the monsters listed at spawnMonsters.
SpawnMonsters: []
List of (additional) monsters to spawn. Vanilla values:
[{"mob": "Spider", "weight": 10, "min": 4, "max": 4}, {"mob": "Zombie", "weight": 10, "min": 4, "max": 4}, {"mob": "Skeleton", "weight": 10, "min": 4, "max": 4}, {"mob": "Creeper", "weight": 10, "min": 4, "max": 4}, {"mob": "Slime", "weight": 10, "min": 4, "max": 4}, {"mob": "Enderman", "weight": 1, "min": 1, "max": 4}]
SpawnCreaturesAddDefaults: true
Set this to true to spawn the normal creatures (pigs, sheeps, cows, etc.) and the creatures listed at spawnCreatures.
Set this to false to spawn only the creatures listed at spawnCreatures.
SpawnCreatures: []
List of (additional) normal creatures to spawn. Vanilla values:
[{"mob": "Sheep", "weight": 12, "min": 4, "max": 4}, {"mob": "Pig", "weight": 10, "min": 4, "max": 4}, {"mob": "Chicken", "weight": 10, "min": 4, "max": 4}, {"mob": "Cow", "weight": 8, "min": 4, "max": 4}]
SpawnWaterCreaturesAddDefaults: true
Set this to true to spawn the default water creatures. In vanilla Minecraft, the only water creature is the squid, but you can install third-party mods that change this. The creatures listed at
SpawnWaterCreatures
will spawn in addition to these creatures. Set this to false to spawn just the water creatures listed at SpawnWaterCreatures.
SpawnWaterCreatures: []
List of (additional) water creatures to spawn. Vanilla values:
[{"mob": "Squid", "weight": 10, "min": 4, "max": 4}]
SpawnAmbientCreaturesAddDefaults: true
Set this to true to spawn the default ambient creatures. In vanilla Minecraft, the only ambient creature is the bat, but you can install third-party mods that change this. The creatures listed at
SpawnAmbientCreatures
will spawn in addition to these creatures. Set this to false to spawn just the water creatures listed at SpawnAmbientCreatures.
SpawnAmbientCreatures: []
List of (additional) ambient creatures to spawn.