The worldconfig contains settings which affect the entire world (biome specific settings can be found in the BiomeConfigs).

The file is located in the OpenTerrainGenerator/worlds/[world name] folder, this file controls biome registration, biome groupings, ocean and land sizes/rarities, river settings, cave and canyon distribution, minecraft structure spawning, sea level, dimension/portal settings and quite a bit more.


To enable documentation (comments) in the worldconfig.ini file itself, change:

SettingsMode: WriteWithoutComments to SettingsMode: WriteAll

World Identity Edit

Author - Author of this world. When creating a new custom world the authors name can be placed here.

Description - A short description of this world.

WorldPackerModName - The mod name of the WorldPacker jar corresponding to this preset. This is used to get the preset version and preset image shown in the preset list.

Write Settings Edit

SettingsMode Edit

Each time OTG reads the config files, it can also write to them. With this setting you can change how OTG writes to the config files. Possible modes:

WriteAll - Autoupdate settings from old versions, order them, add comments, reset invalid settings and remove custom comments.
WriteWithoutComments - Same as WriteAll, but removes all comments, both the ones of Terrain Control and your own.
WriteDisable - Don't write to the comment files. Errors are not corrected, old settings are read, but they are also not corrected. Custom comments won't be removed with this mode.

Generator Modes Edit

OTG can function in several different 'modes', such as deciding between 'random' and 'from image' biome generation, some debugging and testing modes and others.

Terrain Modes Edit

Normal - Use all features (the standard option)
TerrainTest - Generate only terrain without any resources (trees, ores, etc)
NotGenerate - Generate empty chunks
Default - Use default Minecraft world type / terrain generator (not fully working)
OldGenerator - Minecraft Beta 1.7.3-like land generator

Biome Modes Edit

Normal - Use all features
FromImage - Get biomes from image file
Default - use default Minecraft biome generator (for use with Default Terrain Mode)
BeforeGroups - Minecraft 1.0 - 1.6.4 biome generator, (only supports the biome groups NormalBiomes and IceBiomes)
OldGenerator - Minecraft Beta 1.7.3 biome generator

Custom Biome ID Registration Edit

Note: This setting is no longer in use as of OTG v7

You need to register your custom biomes here. This setting will make Terrain Control generate and read the setting files for them. However, it won't place them in the world automatically. See the settings for your BiomeMode below on how to add them to the world.

Syntax: CustomBiomes:BiomeName:id[,AnotherBiomeName:id[,...]]



This will add two biomes and generate the BiomeConfigs for them. All changes here need a server restart.

The available ids range from 0 to 1023, inclusive. Minecraft uses IDs between the ranges of 0-39 and 129-167. Using those IDs is not possible.

IDs above 255 are virtual biomes, which can not control saplings, mob spawns, weather, or biome colours. You will need to add a ReplaceToBiomeName setting to those biomes.

Settings for Random Generation (BiomeMode:Normal) Edit

The values in this section only work when BiomeMode is set to Normal or BiomeMode is FromImage and ImageMode is ContinueNormal

GenerationDepth - Value for deciding biome size limits. Bigger values 'zoom in', so that the biomes get larger:

All size settings such as Biome Group Size, RiverSize, LandSize (in the WorldConfig.ini), and BiomeSize (in Biome Configs) must be between 0 (largest) and GenerationDepth (smallest).

For a full explanation of Generation Depth, go here: GenerationDepth

BiomeRarityScale - Max biome rarity from 1 to infinity. By default this is 100, but you can raise it for fine-grained control, or to create biomes with a chance of occurring smaller than 1/100.

BiomeGroups Edit

This allows you to group similar biomes together so that they spawn next to each other.

Note: If you're using BiomeMode: BeforeGroups, only the biomes listed in groups named NormalBiomes and IceBiomes and the size and rarity of the group named IceBiomes will be used. Other groups are ignored. The size and rarity of the NormalBiomes group is ignored as well, use LandSize and LandRarity instead.

Syntax: BiomeGroup(Name, Size, Rarity, BiomeName[, AnotherName[, ...]])

Name - It is wise to choose something descriptive
Size - From 0 to GenerationDepth, all biomes in the group must have a BiomeSize higher than or equal to this value
Rarity - relative spawn chance
BiomeName - Names of the biome that spawn in the group, case sensitive


BiomeGroup(NormalBiomes, 0, 98, Forest, Roofed Forest, Extreme Hills, Plains, Birch Forest, Swampland, Flower Forest, Roofed Forest M, Extreme Hills+, Sunflower Plains, Birch Forest M, Swampland M)

BiomeGroup(IceBiomes, 2, 40, Ice Plains, Cold Taiga, Ice Plains Spikes, Cold Taiga M)

BiomeGroup(HotBiomes, 1, 98, Desert, Savanna, Plains, Desert M, Savanna M, Sunflower Plains)

BiomeGroup(ColdBiomes, 0, 98, Forest, Extreme Hills, Taiga, Plains, Flower Forest, Extreme Hills+, Taiga M, Sunflower Plains)

BiomeGroup(MesaBiomes, 2, 40, Mesa)

BiomeGroup(JungleBiomes, 1, 40, Jungle, Jungle M)

BiomeGroup(Mega TaigaBiomes, 1, 40, Mega Taiga, Mega Spruce Taiga)

Biome Lists Edit

Not all biomes spawn as part of a group. Some biomes spawn as isles in other biomes, or as borders on other biomes.

Isle Biomes - Isle biomes are biomes which spawn inside another biome. Biome name is case sensitive. Inside the biome config of each isle biome you can decide in which biome this isle should spawn, it rarity and size

IsleBiomes: Deep Ocean, MushroomIsland, Ice Mountains, DesertHills, ForestHills, Forest, TaigaHills, JungleHills, Cold Taiga Hills, Birch Forest Hills, Extreme Hills+, Mesa Plateau, Mesa Plateau F, Mesa Plateau M, Mesa Plateau F M, Mesa (Bryce), Mega Taiga Hills, Mega Spruce Taiga Hills

Note: Isle biomes' sizes must be smaller (higher BiomeSize number) than the biome they are inside.

Border Biomes - Border biomes are biomes which are used as borders. In the biome config of the biome you can specify on which biome this border should spawn. You can also set which biome this border should not spawn near. Biome name is case sensitive.

Landmass Settings Edit

LandRarity - Land rarity from 1 to 100. Higher numbers result in more land:
LandSize - Land size from 0 to GenerationDepth. Higher LandSize numbers will make the size of the land smaller. LandFuzzy - Generates more lakes (via small ocean biomes) at the edges of continents. As a side effect, the continent will also get a bit larger. Must be from 0 to GenerationDepth minus LandSize. Map of the edge of a continent:

Ice Area Settings Edit

FrozenOcean - Can be true or false, makes the water of the oceans near a cold biome frozen. The definition of 'cold' is controlled by the next setting.

OceanFreezingTemperature - This is the maximum biome temperature when a biome is still considered cold. Water in oceans nearby cold biomes freezes if FrozenOcean is set to true. Temperature reference from vanilla Minecraft: < 0.15 for snow, 0.15 - 0.95 for rain, or > 1.0 for dry

FreezeAllBiomesInColdGroup - If the average of all biome temperatures in a biome group is less than "OceanFreezingTemperature", when this setting is true, all biomes in the group will have frozen oceans. When this setting is false, only individual biomes with a temperature below "OceanFreezingTemperature" will have frozen oceans.

River Settings Edit

RiverRarity - Controls the rarity of rivers. Must be from 0 to GenerationDepth. A higher number means more rivers, to define which rivers flow through which biomes see the individual biome configs.

RiverSize - Controls the size of rivers. Can range from 0 to GenerationDepth minus RiverRarity. Making this larger will make the rivers larger, without affecting how much rivers will spawn.

RandomRivers - When this setting is false rivers follow the biome borders most of the time. Set this setting to true to disable this behaviour.

ImprovedRivers - Normally rivers use technical biomes (defined in each biome config) to generate. With the default settings the biomes River and FrozenRiver are used. If you set this setting to true, the technical biomes won't be used anymore in the world. This causes the rivers to look exactly like the biome they are flowing through: no more sudden changes of grass color. The height settings of the river can now be found in the biome the river is flowing through.

Settings for generating a biome distribution from an image (BiomeMode:FromImage) Edit

The values in this section only work when BiomeMode is set to FromImage.

Image Mode Edit

Defines what to do when terrain is generated outside the boundaries of the image:

Repeat Repeats the image
Mirror Mirrors the image
ContinueNormal Continues with random generation
FillEmpty Fills the space with one biome (defined below)

Note that when using ContinueNormal, any holes in the map (pixels with colours that don't correspond to a biome) will use the underlying normal terrain generation. This can give interesting effects, but should be used with care and it recommended to surround any such holes with a border biome to ensure a smoother transition. This is also unpredictable, and each hole will have different biomes depending on the seed.

The Image File Edit

The image which will provide the Biomes must be a PNG file without transparency, once placed in the same folder as WorldConfig.ini OTG will use it as a reference for the Biomes generation. Usually the map spawn location is considered to be the center of the image (but you can change this behaviour with the ImageXOffset/ImageYOffset settings.

The map must be drawn with a pixel perfect brush (means without AntiAliasing) often called as the Pencil tool in many image editors. Each color (expressed as an hexadecimal value) represent a Biome where the Biome<->Color association is made in each biome configuration file Biome.cfg, a map can be as simple as few colors or articulated and complex as the one shown below.

From a biome.cfg configurartion file you can set the color associated with the map with the following option:
# The hexadecimal color value of this biome. Used in the output of the /otg map command,
# and used in the input of BiomeMode: FromImage.
BiomeColor: #D76969

When drawing your map keep in mind the size you want your map to be and that each pixel is mapped as a surface of 4x4 blocks. Based on your OTG settings the transition from biome to biome can be more or less smooth. You can also set what biome should spawn in the unlikely case you forgot to draw an area or used a color not associated to any biome.


Closeup of the Map file


Example Biome map courtesy of the Dregora OTG presets (MIT).

ImageOrientation - How the image is oriented: North, South, East or West. When this is set to North, the image is placed in the world in the normal way. When it is set to East, the image is rotated 90 degrees counter-clockwise in memory so, that what is on the east in the image becomes north in the world.

ImageFillBiome - When using the FillEmpty mode this biome will be used when generating outside the image.

ImageXOffset / ImageYOffset - Translates the map origin. For some reason, this number needs to be multiplied with -1 when using FillEmpty

Terrain Height and Volatility Edit

WorldHeightScaleBits - The height scale of the world. Increasing this by one doubles the terrain height of the world, substracting one halves the terrain height. Values must be between 5 and 8, inclusive.

WorldHeightCapBits - The height cap of the world. A cap of 7 will make sure that there is no terrain above y=2^7=128. Near this cap less and less terrain generates with no terrain above this cap. Values must be between 5 and 8, inclusive. Values may not be lower that WorldHeightScaleBits.

FractureHorizontal - Can increase (values greater than 0) or decrease (values less than 0) how much the landscape is fractured horizontally (see below for visual example).

FractureVertical - Can increase (values greater than 0) or decrease (values less than 0) how much the landscape is fractured vertically. Positive values will lead to large cliffs/overhangs, floating islands, and/or a cavern world depending on other settings. A comparisation of different FractureHorizontal and FractureVertical values:

Blocks Edit

RemoveSurfaceStone - Set this to true to place the biome surface block on top of all exposed stone.

DisableBedrock - Disable bottom of map bedrock generation. Doesn't affect ceiling bedrock.

CeilingBedrock - Enable ceiling of map bedrock generation.

FlatBedrock - Toggles whether bedrock is generated as a single, flat layer. Normally, the amount of bedrock decreases gradually from layers y=0 to y=5. When set to true, there will be only one solid bedrock layer at y=0. This setting also affects the CeilingBedrock if enabled.

BedrockobBlock - Block used as bedrock.

PopulationBoundsCheck - When set to true this setting ensures all objects generate in the same place no matter the direction in which the terrain was first discovered. If your world has many large objects and you do not mind that your world may look slightly different depending on the direction you explored in, set this setting to false.

Technical explanation: Terrain generation is split in two steps, chunk generation and population. During terrain population Minecraft guarantees that a 2x2 square of chunks is generated so that population of a chunk can extend into neighbouring chunks. Depending on the direction you explored in, other chunks may also be loaded. However, you usually don't want population to affect those chunks too, as that would cause terrain object generation to be dependant on the direction you explored in. The 2x2 chunk restriction makes it impossible to spawn CustomObject() BO2s and BO3s larger than 32x32 blocks.

ResourcesSeed - Allows you to use another seed for the resources (ores, trees, etc) than the world seed, so that the resources are generated in a different place. This can be useful if you are frequently regenerating areas (mining areas, minigames): just change the ResourcesSeed and the ores, trees and structures will have a new position. Players won't be able anymore to write down the coordinates of where ores will regenerate.

Water and Ice Edit

WaterLevelMin / Max - These two variables control the water level. Every empty block between these two values will be flooded with the WaterBlock (caves are exempt). For biome specific water settings you can override all water values in the biome configs by enabling UseWorldWaterLevel:false there.

WaterBlock - Block id used as water in WaterLevel. Accepts Minecraft numerical IDs or Spigot block names.

IceBlock - Block id used as ice.

Structures Edit

Note: The 'generate-structures' setting in the file is ignored by Terrain Control. Use these settings instead.

Strongholds Edit

StrongholdsEnabled - Whether the strongholds are enabled.

StrongholdCount - The number of strongholds in the world (default is 128).

StrongholdDistance - Determines how far strongholds are from the spawn and other strongholds (minimum is 1.0, default is 32.0)

StrongholdSpread - Determines how concentrated strongholds are around the spawn (minimum is 1, default is 3). Lower number, lower concentration.

Villages Edit

VillagesEnabled - Whether the villages are enabled for the world.

VillageSize - The size of the village. Larger is bigger. Normal worlds have 0 as default, superflat worlds 1.

VillageDistance - The minimum distance between the village centers in chunks. Minimum value is 9.

Rare Buildings Edit

RareBuildingsEnabled - Whether rare buildings (Desert temples, witch huts) are enabled.

MinimumDistanceBetweenRareBuildings - The minimum distance between rare buildings in chunks.

MaximumDistanceBetweenRareBuildings - The maximum distance between rare buildings in chunks.

Ocean Monuments Edit

OceanMonumentsEnabled - Whether ocean monuments are enabled. A setting with the same name can also be found in the BiomeConfigs. When at least one of the two it set to false, the ocean monument won't spawn. In other words: setting this to false in the WorldConfig will disable ocean monuments in all biomes, regardless of the value of the setting in the biomes.

OceanMonumentGridSize - Ocean monuments are placed on the corners of a grid, with a random offset added to each corner. This setting represents the size of the grid in chunks. Setting this to 8 will give a grid with cells of 8x8 chunks.

OceanMonumentRandomOffset - Random offset from each corner of the grid defined by OceanMonumentGridSize in chunks, on both the x and z axis. May not be smaller than 0, and may not be larger than OceanMonumentGridSize.

Custom Structures Edit

MaximumCustomStructureRadius - Affects the CustomStructure resource (see biome configuration files) maximum radius of custom structures in chunks. The more chunks are searched, the larger a structure can be, but the slower structure generation becomes. The radius is of a square, so a radius of 5 allows custom structures to be up to 10x10 chunks.

Setting your MaximumCustomStructureRadius to a high number will decrease performance even when there are no customstructure entries in your biome configs.

Other Structures Edit

MineshaftsEnabled - Whether the underground abandoned mineshafts are enabled.

NetherFortressesEnabled - Whether the Nether fortresses are enabled.

World Visual Settings Edit

Note: Values in this section will work only for clients with the singleplayer (forge) version of OTG. Sky, grass and foliage colors are defined inside the biome configs.

WorldFog - World fog color

WorldNightFog - World night fog color

Cave Variables Edit

caveRarity - This controls the odds that a given chunk will host a single cave and/or the start of a cave system.

caveFrequency - The number of times the cave generation algorithm will attempt to create single caves and cave systems in the given chunk. This value is larger because the likelihood for the cave generation algorithm to bailout is fairly high and it is used in a randomizer that trends towards lower random numbers. With an input of 40 (default) the randomizer will result in an average random result of 5 to 6. This can be turned off by setting the "even cave distribution" setting (below) to true.

caveMinAltitude/caveMaxAltitude - Sets the minimum and maximum altitudes at which caves will be generated. These values are used in a randomizer that trends towards lower numbers so that caves become more frequent the closer you get to the bottom of the map. Setting even cave distribution (above) to true will turn off this randomizer and use a flat random number generator that will create an even density of caves at all altitudes.

individualCaveRarity - The odds that the cave generation algorithm will generate a single cavern without an accompanying cave system. Note that whenever the algorithm generates an individual cave it will also attempt to generate a pocket of cave systems in the vicinity (no guarantee of connection or that the cave system will actually be created).

caveSystemFrequency - The number of times the algorithm will attempt to start a cave system in a given chunk per cycle of the cave generation algorithm (see cave frequency setting above). Note that setting this value too high with an accompanying high cave frequency value can cause extremely long world generation time.

caveSystemPocketChance - This can be set to create an additional chance that a cave system pocket (a higher than normal density of cave systems) being started in a given chunk. Normally, a cave pocket will only be attempted if an individual cave is generated, but this will allow more cave pockets to be generated in addition to the individual cave trigger.

caveSystemPocketMinSize/caveSystemPocketMaxSize - The minimum and maximum size that a cave system pocket can be. This modifies/overrides the cave system frequency setting (above) when triggered.

evenCaveDistribution - Setting this to true will turn off the randomizer for cave frequency (above). Do note that if you turn this on you will probably want to adjust the cave frequency down to avoid long load times at world creation.

Canyon Variables (Ravines) Edit

canyonRarity - The rarity of ravines, lower number means less ravines

canyonMinAltitude/canyonMaxAltitude - Altitude restrictions for ravine generation.

canyonMinLength/canyonMaxLength - The minimum/maximum length of ravines.

canyonDepth - The depth of ravines.

Other settings Edit

World Seed - Entering a string here will set a default seed for every world created with the world preset.

Bo3 At Spawn - Enter the name of the object you want to generate at world spawn, the bo3 must be located in the /WorldObjects folder.

Pre-generation Radius - Forge only. The radius in chunks around spawn that you would like to pre-generate by default on world creation. Can be changed in the GUI, and can be stopped by setting to 0.

World Border Radius - Forge only. The radius in chunks around spawn that you would like the worldborder to appear, 0 means no worldborder.

Dimensions Settings (Forge Only) Edit

These settings allow you to initialize other dimensions alongside this world and have them above or below, and also specify the portal material for reaching this world from other OTG dimensions.

Example of dimensions features in use

Dimensions: The name(s) of any other world presets that you want to have enabled/initialized alongside this world. Dimensions above/below must be listed here (see options below).
DimensionBelow: The name of another world preset that is 'below' this world.
DimensionAbove: The name of another world preset that is 'above' this world.
DimensionPortalMaterials: The block ID or Spigot material name of the block you wish to use to access this world from other OTG dimensions.

Example: DimensionPortalMaterials: DIRT

TeleportToSpawnOnly: If set to true, when a player enters this world via a portal it will always spawn them at the world spawn point.
Cartographer: Enables the cartographer (experimental)

Game rules (dimensions only)

Game rules for dimensions (these do not work for the overworld at the moment). These settings are still in development and may be subject to change in upcoming releases.

CommandBlockOutput: Whether command blocks should notify admins when they perform commands.
DisableElytraMovementCheck: Whether the server should skip checking player speed when the player is wearing elytra. Often helps with jittering due to lag in multiplayer, but may also be used to travel unfairly long distances in survival mode (cheating).
DoDaylightCycle: Whether the day-night cycle and moon phases progress.
DoEntityDrops: Whether entities that are not mobs should have drops.
DoFireTick: Whether fire should spread and naturally extinguish.
DoMobLoot: Whether mobs should drop items.
DoMobSpawning: Whether mobs should naturally spawn. Does not affect monster spawners.
DoTileDrops: Whether blocks should have drops.
DoWeatherCycle: Whether the weather will change.
KeepInventory: Whether the player should keep items in their inventory after death.
LogAdminCommands: Whether to log admin commands to server log.
MaxEntityCramming: The maximum number of other pushable entities a mob or player can push, before taking 3 doublehearts suffocation damage per half-second. Setting to 0 disables the rule. Damage affects survival-mode or adventure-mode players, and all mobs but bats. Pushable entities include non-spectator-mode players, any mob except bats, as well as boats and minecarts.
MobGriefing: Whether creepers, zombies, endermen, ghasts, withers, ender dragons, rabbits, sheep, and villagers should be able to change blocks and whether villagers, zombies, skeletons, and zombie pigmen can pick up items.
NaturalRegeneration: Whether the player can regenerate health naturally if their hunger is full enough (doesn't affect external healing, such as golden apples, the Regeneration effect, etc).
RandomTickSpeed: How often a random block tick occurs (such as plant growth, leaf decay, etc.) per chunk section per game tick. 0 will disable random ticks, higher numbers will increase random ticks.
ReducedDebugInfo: Whether the debug screen shows all or reduced information; and whether the effects of F3+B (entity hitboxes) and F3+G (chunk boundaries) are shown.
SendCommandFeedback: Whether the feedback from commands executed by a player should show up in chat. Also affects the default behavior of whether command blocks store their output text.
ShowDeathMessages: Whether death messages are put into chat when a player dies. Also affects whether a message is sent to the pet owner when the pet dies.
SpawnRadius: The number of blocks outward from the world spawn coordinates that a player will spawn in when first joining a server or when dying without a spawnpoint.
SpectatorsGenerateChunks: Whether players in spectator mode can generate chunks.

World provider settings (dimensions only)

World provider settings for dimensions (these do not work for the overworld at the moment). These settings are still in development and may be subject to change in upcoming releases.

WelcomeMessage: A message to display to the user when they transfer to this dimension. (Currently broken OTG 1.10.2 v21 / 1.11.2 v6)
DepartMessage: A Message to display to the user when they transfer out of this dimension. (Currently broken OTG 1.10.2 v21 / 1.11.2 v6)
HasSkyLight: A boolean that tells if a world has a sky or not. Used for calculating weather and skylight. Also affects GetActualHeight(), hasSkyLight = false worlds are seen as 128 height worlds, which affects nether portal placement/detection.
IsSurfaceWorld: Returns 'true' if in the "main surface world", but 'false' if in the Nether or End dimensions. Affects: Clock, Compass, sky/cloud rendering, allowed to sleep here, zombie pigmen spawning in portal frames.
CanRespawnHere: True if the player can respawn in this dimension (true = overworld, false = nether).
DoesWaterVaporize: True for nether, any water that is placed vaporises.
DoesXZShowFog: Returns true if the given X,Z coordinate should show environmental fog. True for Nether.
UseCustomFogColor: Set this to true if you want to use the fog color settings below.
IsSkyColored: Is set to false for End (black sky?)
IsNightWorld: If true then the sky will be locked at midnight with the moon and stars above but the world will be lit as if it were day time. Useful for space dimensions.
VoidFogYFactor: A double value representing the Y value relative to the top of the map at which void fog is at its maximum. The default factor of 0.03125 relative to 256, for example, means the void fog will be at its maximum at (256*0.03125), or 8.
ShouldMapSpin: Determine if the cursor on the map should pin' when rendered, like it does for the player in the nether.
CanDropChunk: Called to determine if the chunk at the given chunk coordinates within the provider world can be dropped. Used in WorldProviderSurface to prevent spawn chunks from being unloaded.
Community content is available under CC-BY-SA unless otherwise noted.