WorldConfig.ini 1.16

Note: This information is for OTG 1.16 and above. For 1.12.2, see WorldConfig.ini 1.12.

The worldconfig contains settings that affect the entire world/dimension and all biomes in it. Biome specific settings can be found in the BiomeConfigs.

WorldConfig.ini is located in the OpenTerrainGenerator/Presets/[preset name]/ folder and can be edited with a text editor. This file controls biome groupings, ocean and land sizes/rarities, river settings, cave and canyon distribution, vanilla structure spawning, sea level, dimension/portal settings and more.

Be sure to check out the WorldConfig and BiomeConfigs of the Default preset included with OTG (run Minecraft once with OTG installed), they contain the same settings and documentation you'll find here and provide a good example to get you started.

## **Config reading/writing**

 WriteAll

**Note:** In order to save filesize and loading times, it is recommended to use WriteWithoutComments to make configs smaller before shipping them to users.

## Visual Settings

Controls the world's fog colors. Sky, grass and foliage colors are defined inside the biome configs.

## Biome Modes

 FromImage
 NoGroups

## Settings for BiomeMode: Normal/NoGroups

### Template biomes

Template biomes can be used to include non-OTG biomes (modded or vanilla) in OTG presets.

OTG fetches all non-OTG biomes that match the specified category/tags and associates them with the BiomeConfig. The BiomeConfig must use TemplateForBiome:true, or it is ignored.

 BiomeRegistryName
 Tags/Categories
 MinTemperature & MaxTemperature

Example: TemplateBiome(MCForest, category.forest tag.overworld)

Adds all forest biomes in the overworld. Biomes are never added twice.

- Use space as an AND operator, in the above example "category.forest tag.overworld" matches biomes with category forest AND tag overworld.

To target both minecraft and modded biomes, use "category." or "tag.".

To target only modded biomes, use "modcategory." or "modtag.".

To target only minecraft biomes, use "mccategory." or "mctag.".

To filter biomes for a specific mod, add "mod.<namespace>", for example "mod.byg category.plains tag.overworld".

To exclude specific biome registry names, tags, categories or mods, use "-", for example -tag.overworld to exclude overworld biomes.

MinTemperature/MaxTemperature are optional, only biomes within this temperature range are allowed.

Example: TemplateBiome(TagPlains, category.plains -tag.overworld) or TemplateBiome(TagPlains, category.plains -tag.overworld, -0.2, 0.2)

This targets a BiomeConfig named TagPlains.bc, and adds to it all non-OTG biomes that are of category "plains" but do not have biome dictionary tag "overworld", the second example includes a temperature range between -0.2 and 0.2.

Note:

Each biome can only be assigned to one biome config, so the order of TemplateBiome()s is important. Put your most specific TemplateBiome first, and the most generic last.

When using BiomeRegistryName to include or exclude a biome, it must have its own entry, for example: ",minecraft:forest,-minecraft:plains,"

**Tip:** Enable biome registry logging in OTG.ini to get a log of which biomes are mapped to which TemplateBiome().

### Biome Groups

Biome groups group similar biomes together so that they spawn next to each other. Only standard biomes are required to be part of biome groups, isle, border and river biomes are configured separately.

 Size
 Rarity
 BiomeName
 Tags/Categories

Example from default preset:

```
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)

```

To include non-OTG biomes defined with TemplateBiome(), either add the TemplateBiome BiomeConfig name to add all non-OTG biomes associated to it, or use tags/categories to filter for specific non-OTG biomes, Each non-OTG biome must have a BiomeConfig assigned to it via TemplateBiome().

Examples using tags:

Example: BiomeGroup(NormalBiomes, 1, 100, category.plains tag.overworld, tag.hot tag.dry)

Adds 2 entries; all plains biomes in the overworld, all hot+dry biomes. Biomes are never added twice.

- Use space as an AND operator, in the above example "category.plains tag.overworld" matches biomes with category plains AND tag overworld.

To target both minecraft and modded biomes, use "category." or "tag.".

To target only modded biomes, use "modcategory." or "modtag.".

To target only minecraft biomes, use "mccategory." or "mctag.".

To filter biomes for a specific mod, add "mod.<namespace>", for example "mod.byg category.plains tag.overworld".

To exclude specific biome registry names, tags, categories or mods, use "-", for example -tag.overworld to exclude overworld biomes.

MinTemperature/MaxTemperature - Optional, when using Tags/Categories, only biomes within this temperature range are used.

Example: BiomeGroup(NormalBiomes, 1, 100, category.plains tag.overworld, tag.hot tag.dry, -1.0, 1.0)

Same example as before, but only includes biomes with temperature between -1.0 and 1.0.

Note:

When using BiomeRegistryName to include or exclude a biome, it must have its own entry, for example: ",minecraft:forest,-minecraft:plains,"

If using BiomeMode: Normal, there are no limitations on the number of biome groups you can have or their names.

If using BiomeMode: NoGroups, only two biome group names are valid, NormalBiomes and IceBiomes, other groups are ignored. Only the size and rarity of the group named IceBiomes will be used, the size and rarity of the NormalBiomes group is ignored.

**Tip:** Enable biome registry logging in OTG.ini to get a log of which biomes/biome configs are mapped to which BiomeGroup().

### Isle & Border Biomes

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

 List of biome config names

 List of biome config names

## Settings For BiomeMode:FromImage

In each of the BiomeConfigs there is a BiomeColor variable, this variable is the hexadecimal color of the biome. These colors are used to define the biome layout in the input image (as well as the colour of the biome when using the /otg map command). Two biomes must not have the same color. The settings in this section are for FromImage mode only.

 Repeat
 Mirror
 ContinueNormal
 FillEmpty

### **The** **Image File**

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:
# 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.

 File name

## Terrain Height and Volatility

The settings in this section control terrain settings that are not specific to any biome.

## Structures

The settings are global on/off toggles for the entire world for each vanilla structure type. When set to true, structures configured in biome configs are able to spawn. Check the biome configs for customisation options per structure type (size/rarity etc).

## OTG Custom structures and objects (BO2/BO3/BO4)

 BO3
 BO4

## Portal settings (Forge)

black
blue
crystalblue
darkblue
darkgreen
darkred
emerald
flame
gold
green
grey
lightblue
lightgreen
orange
pink
red
white
yellow
default

## Dimension settings (Forge)

Note: At world creation, these settings are written to the world save's datapack folder (\saves\WorldName\datapacks\otg\ as dimension\_type json file. The json file is used by MC on world load to fetch the settings. If you want to change dimension settings for already created worlds make sure to edit the dimension\_type json file, since changes to the WorldConfig dimension settings won't be picked up on world load, only on world creation.

minecraft:infiniburn\_nether
minecraft:infiniburn\_end

minecraft:the\_nether
minecraft:the\_end

## Game rules (Forge)

See: https://minecraft.fandom.com/wiki/Game\_rule.

Default WorldConfig.ini

```
#######################################################################
# +-----------------------------------------------------------------+ #
#######################################################################

# vanilla minecraft structure spawning, sea level, dimension/portal settings and more.

#######################################################################
# | Config Writing | #
#######################################################################

# WriteDisable - Doesn't write to the config files. Errors are not corrected, old settings are read but are not corrected. Custom comments won't be removed with this mode.
SettingsMode: WriteAll

#######################################################################
# | World Identity | #
#######################################################################

# A short description of this world
Description: The OTG default preset, which closely resembles the vanilla worldgen

# The shortened name for the preset, used in biome resource locations and similar
ShortPresetName:

#######################################################################
# | Visual Settings | #
#######################################################################

# Color of the distance fog, can be overridden per biome.
WorldFog: #C0D8FF

#######################################################################
# | Biome Modes | #
#######################################################################

# NoGroups - Minecraft 1.0 - 1.6.4 biome generator, only supports the biome groups NormalBiomes and IceBiomes.
BiomeMode: Normal

#######################################################################
# +-----------------------------------------------------------------+ #
#######################################################################

# 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.
BiomeRarityScale: 100

# Whether or not OTG should use the old land rarity. Disabling this will make LandRarity work as a percentage
OldLandRarity: false

# Whether OTG should do decoration for all biomes found in chunk. This could result in more resources being more common near chunk borders.
ImprovedBorderDecoration: false

#######################################################################
# | Template biomes | #
#######################################################################

# When using BiomeRegistryName to include or exclude a biome, it must have its own entry, for example: ",minecraft:forest,-minecraft:plains,"
TemplateBiome(tagJungle, modtag.jungle modtag.overworld -category.nether -category.the\_end -modtag.nether -modtag.end, 0.8, 1.0)
TemplateBiome(tagWater, modtag.water modtag.overworld -category.nether -category.the\_end -modtag.nether -modtag.end, 0.2, 2.0)
TemplateBiome(tagWaterSnowy, modtag.water modtag.overworld -category.nether -category.the\_end -modtag.nether -modtag.end, -1.0, 0.2)
TemplateBiome(tagMountain, modtag.mountain modtag.overworld -category.nether -category.the\_end -modtag.nether -modtag.end, 0.2, 2.0)
TemplateBiome(tagMountainSnowy, modtag.mountain modtag.overworld -category.nether -category.the\_end -modtag.nether -modtag.end, -1.0, 0.2)
TemplateBiome(tagHills, modtag.hills modtag.overworld -category.nether -category.the\_end -modtag.nether -modtag.end, 0.2, 2.0)
TemplateBiome(tagHillsSnowy, modtag.hills modtag.overworld -category.nether -category.the\_end -modtag.nether -modtag.end, -1.0, 0.2)
TemplateBiome(tagPlains, modtag.plains modtag.overworld -category.nether -category.the\_end -modtag.nether -modtag.end, 0.2, 2.0)
TemplateBiome(tagPlainsSnowy, modtag.plains modtag.overworld -category.nether -category.the\_end -modtag.nether -modtag.end, -1.0, 0.2)
TemplateBiome(tagForest, modtag.forest modtag.overworld -category.nether -category.the\_end -modtag.nether -modtag.end, 0.2, 2.0)
TemplateBiome(tagForestSnowy, modtag.forest modtag.overworld -category.nether -category.the\_end -modtag.nether -modtag.end, -1.0, 0.2)
TemplateBiome(tagLush, modtag.lush modtag.overworld -category.nether -category.the\_end -modtag.nether -modtag.end, 0.2, 2.0)
TemplateBiome(tagLushSnowy, modtag.lush modtag.overworld -category.nether -category.the\_end -modtag.nether -modtag.end, -1.0, 0.2)
TemplateBiome(tagSandy, modtag.sandy modtag.overworld -category.nether -category.the\_end -modtag.nether -modtag.end, 0.2, 2.0)
TemplateBiome(tagSandySnowy, modtag.sandy modtag.overworld -category.nether -category.the\_end -modtag.nether -modtag.end, -1.0, 0.2)

#######################################################################
# | Biome Groups | #
#######################################################################

# If using BiomeMode: NoGroups, only two biome group names are valid, NormalBiomes and IceBiomes, other groups are ignored. Only the size and rarity of the group named IceBiomes will be used, the size and rarity of the NormalBiomes group is ignored.
BiomeGroup(NormalBiomes, 0, 98, tagWater, tagMountain, tagHills, tagPlains, tagForest, tagLush, tagSandy, Forest, Dark Forest, Mountains, Plains, Birch Forest, Swamp, Flower Forest, Dark Forest Hills, Gravelly Mountains, Sunflower Plains, Tall Birch Forest, Swamp Hills, 0.5, 0.8)
BiomeGroup(IceBiomes, 2, 40, tagWaterSnowy, tagMountainSnowy, tagHillsSnowy, tagPlainsSnowy, tagForestSnowy, tagLushSnowy, tagSandySnowy, Snowy Tundra, Snowy Mountains, Ice Spikes, Snowy Taiga, Snowy Taiga Mountains)
BiomeGroup(HotBiomes, 1, 98, tagWater, tagMountain, tagHills, tagPlains, tagForest, tagLush, tagSandy, Desert, Desert Hills, Savanna, Shattered Savanna, Plains, Sunflower Plains, 1.0, 2.0)
BiomeGroup(ColdBiomes, 0, 98, tagWater, tagMountain, tagHills, tagPlains, tagForest, tagLush, tagSandy, Forest, Mountains, Taiga, Plains, Flower Forest, Gravelly Mountains, Taiga Mountains, Sunflower Plains, 0.2, 0.5)
BiomeGroup(MesaBiomes, 3, 40, Badlands)
BiomeGroup(JungleBiomes, 1, 40, tagJungle, Jungle, Modified Jungle, Bamboo Jungle)
BiomeGroup(Mega TaigaBiomes, 1, 40, Giant Tree Taiga, Giant Spruce Taiga)
# When using biome dictionary tags and/or biome categories with biome groups, these (non-OTG) biomes are excluded. Example: minecraft:plains.
BlacklistedBiomes: biomesoplenty:tropic\_beach, byg:canyon\_edge, byg:red\_desert\_dunes

#######################################################################
# | Isle & Border Biomes | #
#######################################################################

# Isle biomes are biomes which spawn inside another biome (e.g. an island in an ocean). As well as listing every isle biome here, you must set IsleInBiome in each biome config too. Biome name is case sensitive.
IsleBiomes: Deep Ocean, Mushroom Fields, Snowy Mountains, Desert Hills, Wooded Hills, Forest, Taiga Hills, Jungle Hills, Cold Taiga Hills, Wooded Mountains, Badlands Plateau, Eroded Badlands, Modified Badlands Plateau, Modified Wooded Badlands Plateau, Wooded Badlands Plateau, Giant Tree Taiga Hills, Giant Spruce Taiga Hills, Bamboo Jungle Hills

# Biomes used as borders of other biomes. As well as listing every border biome here, you must set BiomeIsBorder in each biome config too. Biome name is case sensitive.
BorderBiomes: Jungle Edge, Modified Jungle Edge, Mushroom Fields Shore, Beach, Snowy Beach, Stone Shore, Desert, Taiga

#######################################################################
# | Landmass Settings | #
#######################################################################

# Land size from 0 to GenerationDepth. Higher LandSize numbers will make the size of the land smaller. Landsize number should always be lower than any biome groups.
LandSize: 0

# Ocean biome size 0 to GenerationDepth. Higher OceanBiomeSize numbers will make the size of the ocean biomes smaller.
OceanBiomeSize: 0

# 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.
LandFuzzy: 5

# Set the default Lukewarm Ocean biome for this world.
DefaultLukewarmOceanBiome: Lukewarm Ocean

# The default Frozen Ocean biome for this world.
DefaultFrozenOceanBiome: Frozen Ocean

#######################################################################
# | Ice Area Settings | #
#######################################################################

# Temperature reference from vanilla Minecraft: < 0.15 for snow, 0.15 - 0.95 for rain, or > 1.0 for dry.
OceanFreezingTemperature: 0.15

#######################################################################
# | Rivers | #
#######################################################################

# When this setting is false, rivers follow the biome borders most of the time. Set this setting to true to disable this behavior.
RandomRivers: true

# 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.
RiverRarity: 4

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

#######################################################################
# +-----------------------------------------------------------------+ #
#######################################################################

# Translates the map origin. This number needs to be multiplied by -1 when using FillEmpty.
ImageZOffset: 0

#######################################################################
# +-----------------------------------------------------------------+ #
#######################################################################

# 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.
WorldHeightScaleBits: 7

# Values less than 0 will 'relax' the terrain, leading to more gradual and smoother height transitions.
FractureHorizontal: 0.0

# Values less than 0 will make terrain volatility more 'spiky' but lessen the likelihood of overhangs and floating terrain.
FractureVertical: 0.0

#######################################################################
# +-----------------------------------------------------------------+ #
#######################################################################

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

#######################################################################
# | Bedrock | #
#######################################################################

# Make a single flat layer of bedrock.
FlatBedrock: false

#######################################################################
# | Water / Lava / Frozen States | #
#######################################################################

# Set water level. Every empty block under this level will be fill water or another block from WaterBlock.
WaterLevelMax: 63

WaterLevelMin: 0

# Also causes snow to fall through leaves, leaves can carry 3 layers while the rest falls through.
BetterSnowFall: false

#######################################################################
# +-----------------------------------------------------------------+ #
#######################################################################

# Disables Ore(), UnderWaterOre() and Vein() biome resources that use any type of ore block.
DisableOreGen: false

#######################################################################
# +-----------------------------------------------------------------+ #
#######################################################################

# Check the biome configs for customisation options per structure type per biome (size etc).
VillagesEnabled: true

VillageSpacing: 32

VillageSeparation: 8

MineshaftsEnabled: true

MineshaftSpacing: 1

MineshaftSeparation: 0

StrongholdsEnabled: true

StrongholdSpacing: 1

StrongholdSeparation: 0

StrongholdDistance: 32

StrongholdSpread: 3

StrongholdCount: 128

RareBuildingsEnabled: true

DesertPyramidSpacing: 32

DesertPyramidSeparation: 8

IglooSpacing: 32

IglooSeparation: 8

JungleTempleSpacing: 32

JungleTempleSeparation: 8

SwampHutSpacing: 32

SwampHutSeparation: 8

WoodlandsMansionsEnabled: true

WoodlandMansionSpacing: 80

WoodlandMansionSeparation: 20

OceanMonumentsEnabled: true

OceanMonumentSpacing: 32

OceanMonumentSeparation: 5

NetherFortressesEnabled: false

NetherFortressSpacing: 27

NetherFortressSeparation: 4

BuriedTreasureEnabled: true

BuriedTreasureSpacing: 1

BuriedTreasureSeparation: 0

OceanRuinsEnabled: true

OceanRuinSpacing: 20

OceanRuinSeparation: 8

PillagerOutpostsEnabled: true

PillagerOutpostSpacing: 32

PillagerOutpostSeparation: 8

BastionRemnantsEnabled: true

BastionRemnantSpacing: 27

BastionRemnantSeparation: 4

NetherFossilsEnabled: true

NetherFossilSpacing: 2

NetherFossilSeparation: 1

EndCitiesEnabled: true

EndCitySpacing: 20

EndCitySeparation: 11

RuinedPortalsEnabled: true

RuinedPortalSpacing: 40

RuinedPortalSeparation: 15

ShipwrecksEnabled: true

ShipwreckSpacing: 24

ShipwreckSeparation: 4

#######################################################################
# | OTG Custom structures and objects (BO2/BO3/BO4) | #
#######################################################################

# This BO3 will be spawned at the world's spawn point as a CustomObject (Max size 32x32).
BO3AtSpawn:

#######################################################################
# | BO3 Custom structures | #
#######################################################################

# While this allows you to spawn objects larger than 32x32, it also makes terrain generation dependent on the direction you explored the world in.
DecorationBoundsCheck: true

#######################################################################
# +-----------------------------------------------------------------+ #
#######################################################################

# Defaults to: 10
CarverLavaBlockHeight: 10

#######################################################################
# | Caves | #
#######################################################################

# Enables/disables OTG caves. OTG should automatically disable caves/carvers for biomes when modded carvers are detected.
CavesEnabled: true

# density of caves at all altitudes.
CaveMinAltitude: 8

CaveMaxAltitude: 127

# cave system frequency setting (above) when triggered.
CaveSystemPocketMinSize: 0

CaveSystemPocketMaxSize: 3

# load times at world creation.
EvenCaveDistribution: false

#######################################################################
# | Ravines | #
#######################################################################

# Enables/disables OTG ravines. OTG should automatically disable ravines/carvers for biomes when modded carvers are detected.
RavinesEnabled: true

RavineRarity: 2

RavineMinAltitude: 20

RavineMaxAltitude: 67

RavineMinLength: 84

RavineMaxLength: 111

RavineDepth: 3.0

#######################################################################
# +-----------------------------------------------------------------+ #
#######################################################################

# When FixedSpawnPoint: true, this sets the angle the player is looking when spawned at the spawn point.
SpawnPointAngle: 0.0

#######################################################################
# | Portal settings (Forge) | #
#######################################################################

# Only applies for dimensions, not overworld/nether/end.
PortalIgnitionSource: minecraft:flint\_and\_steel

#######################################################################
# +-----------------------------------------------------------------+ #
#######################################################################

# Can be either overworld/nether/end (or potentially modded).
InfiniBurn: minecraft:infiniburn\_overworld

# The base ambient light level for the world, 0.0 for overworld/end, 0.1 for nether.
AmbientLight: 0.0

#######################################################################
# +-----------------------------------------------------------------+ #
#######################################################################

# Set this to true to enable the settings below.
OverrideGameRules: false

DoFireTick: true

MobGriefing: true

KeepInventory: false

DoMobSpawning: true

DoMobLoot: true

DoTileDrops: true

DoEntityDrops: true

CommandBlockOutput: true

NaturalRegeneration: true

DoDaylightCycle: true

LogAdminCommands: true

ShowDeathMessages: true

RandomTickSpeed: 3

SendCommandFeedback: true

SpectatorsGenerateChunks: true

SpawnRadius: 10

DisableElytraMovementCheck: false

MaxEntityCramming: 24

DoWeatherCycle: true

DoLimitedCrafting: false

MaxCommandChainLength: 65536

AnnounceAdvancements: true

DisableRaids: false

DoInsomnia: true

DrowningDamage: true

FallDamage: true

FireDamage: true

DoPatrolSpawning: true

DoTraderSpawning: true

ForgiveDeadPlayers: true

UniversalAnger: false

```