FANDOM


Each biome has it's own configuration file (BiomeName.bc) which can be edited in any text editor Notepad++ is recommended).

You can find the biome config files of a world in:

Spigot:

/plugins/OpenTerrainGenerator/worlds/_worldname_/WorldBiomes

Forge:

/mods/OpenTerrainGenerator/worlds/_worldname_/WorldBiomes

There's also a GlobalBiomes folder in /OpenTerrainGenerator/GlobalBiomes/ that allows you to share biomes across multiple worlds on the same server.

Every Biome configuration file is divided into sections each representing a specific aspect of its generation process.
Here we list all of them with a brief explanation of its usage, remember that every Biome configuration file already comes with plenty of comments to look into too.

Biome inheritance Edit

Defined by

BiomeExtends:

If you provide a Biome name here, OTG will use the settings from the specified biome for all the missing ones in the current Biome configuration.

When working with certain worlds you may find yourself often creating multiple biomes that are very similar. When you want to make a change to all of those biomes, you would need to go through each of their configs and change their settings.

Biome inheritance solves this problem by introducing the mechanic of child biomes inheriting settings from a parent one.

For instance if you made the MyForest Biome (with all of its settings specified) and you wish to make a more hilly version of it, you can just make a new biome called MyForestMountains where you specify BiomeExtends: MyForest and set only the option BiomeVolatility: 0.5. All the other missing settings in MyForestMountains will be inherited from MyForest. From now on all the changes in MyForest will be transposed to MyForestMountains except the BiomeVolatility: 0.5.

Resource InheritanceEdit

Defined by:

ResourceInheritance: 

Boolean, 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 Edit

BiomeSize: 
Integer from 0 to GenerationDepth, set the size of the biome when spawned by a BiomeGroup. See also BiomeSizeWhenIsle and BiomeSizeWhenBorder below.
BiomeRarity:

Integer from 0 to 100, the probability of the biome when spawned by a BiomeGroup. See also BiomeRarityWhenIsle below.

BiomeColor: 

This is the internal (hexadecimal) color for this biome to be used in FromImage mode and on the biome map.

ReplaceToBiomeName:

Only available in custom biomes. Replaces this biome to the one specified after the terrain has generated.

Isle Biomes Only Edit

IsleInBiome:
String, another biome name. Determines in which biome this biome will spawn as an island.
BiomeSizeWhenIsle: 

Integer from 0 to GenerationDepth, size of this biome when spawned as an isle biome. 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: 

Rarity of this biome when spawned as an isle biome. Seems to have an logarithmic 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 Edit

BiomeIsBorder:
String, another biome name. Determines to which biome this biome will be border.
NotBorderNear:

String, another biome name. This setting determines next to which biome a border biome should not spawn.

BiomeSizeWhenBorder:

Integer from 0 to GenerationDepth, size of this biome when spawned as a border biome. 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 Edit

BiomeHeight:
Float from -10.0 to 10.0, the height of the biome, the below table shows the resulting Y level:
KSBs2uu
BiomeVolatility:

Float, how hilly the biome is, larger values make the terrain more hilly.

SmoothRadius:

This setting must be in the range 0-32 and its scope is to ease the transition between the two adjacent biomes. The formula is: [SmoothRadius (of this biome) + 1 + SmoothRadius (of the adjacent biome)]*4 Hence two biomes with a SmoothRadius of 3 and 5 will yield a 36 blocks wide transition ((3+1+5)*4).


Rivers Edit

This section rules how rivers are generated and it is split in two mutually excluding configurations depending based on the ImprovedRivers: option in WorldConfig.ini.

When ImprovedRivers: false

The RiverBiome: {biome name} option is read and taken in account, here you can specify which biome should be used as a "river", usually the Vanilla River or FrozenRiver biome is used (you can check them here https://minecraft.gamepedia.com/Biome#Biome_types). This will most likely cause a non-homogenous transition in the landscape, here is where the ImprovedRivers: true comes handy.

When ImprovedRivers: true these options become available:

RiverHeight: float behaves like BiomeHeight (see Biome_Configs#Terrain_Height_and_Volatility)

RiverVolatility: float behaves like BiomeVolatility (see Biome_Configs#Terrain_Height_and_Volatility)

RiverWaterLevel: {Y coordinate in the World} acts like a filler, every empty space between the surface and this quote will be filled with water.

RiverCustomHeightControl: behaves like CustomHeightControl (see Biome_Configs#Terrain_Height_and_Volatility)


Blocks Edit

Water / Lava & Frozen States Edit

This section has a main toggle which is the UseWorldWaterLevel option that defaults to `true` meaning that OTG will ignore all the other settings in this section and defaults to the global world ones. Changing the option to `false` enable the options which are almost self-explanatory:

WaterLevelMax:
WaterLevelMin: 

Integer from 0 to sky limit, these options set the higher and lower Y boundaries where water (or a custom block) will be spawned whenever the surface Y height is lower than WaterLevelMax and higher than WaterLevelMin.

WaterBlock: 

String name of the block. What to spawn when the abovementioned criteria are met.

IceBlock:

String name of the block. Which block should be spawned as "Ice" in place of water whenever the BiomeTemperture is below the default Vanilla Minecraft 0.15.

CooledLavaBlock:

Same as the IceBlock but for Lava replacement when it's too "cold" for liquid lava to exist.


Visuals and weather  Edit

For Server installations of OTG this settings will have an effect only on the clients with OTG installed too.

BiomeTemperature: 

A value between 0.0 and 2.0 set the Biome Temperature following Vanilla standards. If this is set for a Vanilla Biome replacement it will only affect foliage and grass color.

BiomeWetness: 

A value between 0.0 and 1.0 set the chance rain can occur.

SkyColor: 
WaterColor: 
GrassColor: 
FoliageColor: 

Self-explanatory, it is a color expressed as a hexadecimal value, here you can read a list of common colors, otherwise google is your friend=). Remember to prepend the #.

GrassColorIsMultiplier:
FoliageColorIsMultiplier: 

Boolean `true` or `false`, simpy put tells OTG if the grass and foliage colors must always exactly be as set above (`false`) or if the color can change as a mixture between the above set color the BiomeTemperature and the BiomeWetness settings (`true`).

Resource queue Edit

This section control all resources spawning after terrain generation.

The resources will be placed in the order you define them, here's an example in which Ore Dirt will be added before Ore Gravel. Do keep in mind that high resource frequency or rarity may slow down terrain generation.

Ore(DIRT,33,10,100.0,0,255,STONE)
Ore(GRAVEL,33,8,100.0,0,255,STONE)

These are the possible resources as of OTG 1.12.2+-+v6

DoResourceInheritance(true|false)
SmallLake(BlockName,Frequency,Rarity,MinAltitude,MaxAltitude)
Dungeon(Frequency,Rarity,MinAltitude,MaxAltitude)
UnderGroundLake(MinSize,MaxSize,Frequency,Rarity,MinAltitude,MaxAltitude)
Ore(BlockName,Size,Frequency,Rarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,BlockSource3.....])
UnderWaterOre(BlockName,Size,Frequency,Rarity,BlockSource[,BlockSource2,BlockSource3.....])
CustomObject(Object[,AnotherObject[,...]])
CustomStructure([Object,Object_Chance[,AnotherObject,Object_Chance[,...]]])
SurfacePatch(BlockName,DecorationBlockName,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,BlockSource3.....])
Tree(Frequency,TreeType,TreeTypeChance[,AdditionalTreeType,AdditionalTreeTypeChance.....])
Plant(PlantType,Frequency,Rarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,BlockSource3.....])
Grass(PlantType,Grouped/NotGrouped,Frequency,Rarity,BlockSource[,BlockSource2,BlockSource3.....])
Reed(BlockName,Frequency,Rarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,BlockSource3.....])
Cactus(BlockName,Frequency,Rarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,BlockSource3.....])
Liquid(BlockName,Frequency,Rarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,BlockSource3.....]) AboveWaterRes(BlockName,Frequency,Rarity)Vines(Frequency,Rarity,MinAltitude,MaxAltitude)
Vein(BlockName,MinRadius,MaxRadius,Rarity,OreSize,OreFrequency,OreRarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,..])
Well(BaseBlockName,HalfSlabBlockName,WaterBlockName,Frequency,Rarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,..])
Boulder(BlockName,Frequency,Rarity,MinAltitude,MaxAltitude,BlockSource[,BlockSource2,..])
IceSpike(BlockName,IceSpikeType,Frequency,Rarity,MinAltitude,MaxAltitude,Blocksource[,BlockSource2,...]) ===== Explaination/Example usage of the resources:

BlockName:    must be the name of a block. May include block data, like "WOOL:1". BlockSource:    list of blocks the resource can spawn on/in. You can also use "Solid" or "All". Frequency:      number of attempts to place this resource in each chunk. Rarity:         chance for each attempt, Rarity:100 - mean 100% to pass, Rarity:1 - mean 1% to pass. MinAltitude and MaxAltitude: height limits. BlockSource:    mean where or whereupon resource will be placed


TreeType:       Tree (original oak tree) - BigTree - Birch - TallBirch - SwampTree -                  HugeMushroom (randomly red or brown) - HugeRedMushroom - HugeBrownMushroom -                  Taiga1 - Taiga2 - HugeTaiga1 - HugeTaiga2 -                  JungleTree (the huge jungle tree) - GroundBush - CocoaTree (smaller jungle tree)                  DarkOak (from the roofed forest biome) - Acacia                  You can also use your own custom objects, as long as they have set Tree to true in their settings.


TreeTypeChance: similar to Rarity. Example:                  Tree(10,Taiga1,35,Taiga2,100) - plugin tries 10 times, for each attempt it tries to place Taiga1 (35% chance), if that fails, it attempts to place Taiga2 (100% chance).


PlantType:      one of the plant types: Allium, AzureBluet, BlueOrchid, BrownMushroom, Dandelion, DeadBush, DoubleTallgrass, Fern, LargeFern, Lilac, OrangeTulip, OxeyeDaisy, Peony, PinkTulip, Poppy, RedMushroom, RedTulip, RoseBush, Sunflower, Tallgrass, WhiteTulip or simply a BlockName


IceSpikeType:   one of the ice spike types: Basement,HugeSpike,SmallSpike


Object:         can be a any kind of custom object (bo2 or bo3) but without the file extension. You can                   also use UseWorld to spawn one of the object in the WorldObjects folder and UseBiome to spawn                  one of the objects in the BiomeObjects setting. When using BO2s for UseWorld, the BO2 must have                   this biome in their spawnInBiome setting.

Plant and Grass resource: both a resource of one block. Plant can place blocks underground, Grass cannot. Liquid resource: a one-block water or lava source SmallLake and UnderGroundLake resources: small lakes of about 8x8 blocks Vein resource: not in vanilla. Starts an area where ores will spawn. Can be slow, so use a low Rarity (smaller than 1). CustomStructure resource: starts a BO3 structure in the chunk.

Sapling resource Edit

Custom objects Edit

Structures Edit

Mob spawning Edit