-
-
Notifications
You must be signed in to change notification settings - Fork 633
Configuring World.ini
This documentation is outdated! While some configuration options listed here are valid, some don't work anymore. Please visit the User's Manual for up-to-date information. If you want to help transfer the world documentation to the User's Manual, feel free to create a PR here. The long-term goal is to remove this wiki page.
Several plant parameters can be configured, such as whether they are can be grown using bonemeal, and for cacti and sugarcane, their height:
Variable | Default | Meaning |
---|---|---|
IsCropsBonemealable | 1 | If nonzero, bonemeal can be used on a young crops block to grow it to its final (ripe) stage. |
IsGrassBonemealable | 1 | If nonzero, bonemeal can be used on a grass block to grow tall grass and flowers around it. |
IsSaplingBonemealable | 1 | If nonzero, bonemeal can be used on a sapling to grow trees out of them immediately. |
IsMelonStemBonemealable | 1 | If nonzero, bonemeal can be used on a young melon stem to make it grow to its final (ripe) stage. |
IsMelonBonemealable | 0 | If nonzero, bonemeal can be used on a ripe melon stem to grow a melon next to it. |
IsPumpkinStemBonemealable | 1 | If nonzero, bonemeal can be used on a young pumpkin stem to make it grow to its final (ripe) stage. |
IsPumpkinBonemealable | 0 | If nonzero, bonemeal can be used on a ripe pumpkin stem to make it grow a pumpkin next to it. |
IsCactusBonemealable | 0 | If nonzero, bonemeal can be used on a cactus block to make the cactus grow to its maximum height. |
IsSugarcaneBonemealable | 0 | If nonzero, bonemeal can be used on a sugarcane block to make the sugarcane plant grow to its maximum height. |
MaxCactusHeight | 3 | Maximum height, in blocks, that a cactus will grow by itself, either naturally or by using bonemeal (if allowed by IsCactusBonemealable) |
MaxSugarcaneHeight | 3 | Maximum height, in blocks, that a sugarcane will grow by itself, either naturally or by using bonemeal (if allowed by IsSugarcaneBonemealable) |
Contains the complete settings for the terrain generator. The generator is highly customizable. The variables it uses depend on the parts of the generator that are active.
Variable | Meaning |
---|---|
BiomeGen | The generator used for calculating biomes. May be one of "Constant", "CheckerBoard", "Voronoi" and "DistortedVoronoi". See table below for details. |
HeightGen | The generator used for terrain height. May be either "Flat" or "Classic". See table below for details. |
CompositionGen | The generator used for compositing the terrain. It decides where to put dirt, where grass, where stone, where water etc. May be one of "SameBlock", "DebugBiomes", "Classic" or "Biomal". See table below for details. |
Structures | Specifies which structures generate in the terrain. Contains multiple comma-separated entries. Entries may be "Trees", "MarbleCaves", "DualRidgeCaves", "Ravines" and "OreNests". If missing, the default value of "Trees,MarbleCaves,OreNests" is used. Note that the order of the generators is significant. For details, see the table below. |
Finishers | Finishing touches to the terrain. Contains multiple comma-separated entries. Entries may be "SprinkleFoliage", "Snow", "Ice" and "Lilypads". If missing, "SprinkleFoliage,Snow,Ice,Lilypads" is used. |
Biome generator | Description |
---|---|
Constant | Single constant biome is generated throughout the whole map. The biome is settable. |
CheckerBoard | Biomes are generated in same-sized squares. Biomes will generate, one after another, in a checkerboard fashion. The squares' size and the available biomes are settable. |
Voronoi | Biomes are calculated as Voronoi cells. This results in somewhat random biomes, but their edges are straight. Cell size and available biomes are settable. |
DistortedVoronoi | Biomes are calculated as Voronoi cells, then distorted to look more natural. Cell size and available biomes are settable. |
MultiStepMap | Biomes are generated in a somewhat logical manner. First the ocean mushroom and land are separated, then rivers are added, finally the land is divided by temperature and humidity. This results in the most naturally-looking biomes MCServer currently can do. |
Height generator | Description |
---|---|
Flat | Generates a flat terrain. The height is settable. |
Classic | Generates random terrain based on a 3-freq Perlin noise; without regard to any biomes. The frequency parameters are settable. |
Biomal | Generates random terrain based on a 3-freq Perlin noise, takes biomes into account. Assumes the sealevel is 62. No settings. |
Noise3D | Generates random terrain with overhangs based on a 3D Perlin noise, ignores biomes. |
DistortedHeightmap | Generates terrain with possible overhangs. Adheres to biomes. |
Composition generator | Description |
---|---|
Biomal | Each biome receives the correct blocks specific to that biome. Water bodies' bottoms get a mixture of sand and dirt. Sea level is settable, though this is not recommended. |
Classic | Terrain has grass on top, dirt underneath it, then stone. When the terrain height is under the sea level, water blocks are placed. Sandy beaches are generated around the sea level. Biomes are ignored. Beach height, depth and the sea level are settable. |
DebugBiomes | Terrain in each biome is created out of a specific block. This is supposed for biome generator debugging and should not be used for normal gameplay, since some blocks not suitable for terrain are used. |
DistortedHeightmap | Similar to Biomal, but with the possibility of overhangs. Adheres to biomes. Needs HeightGen set to DistortedHeightmap, too. |
End | Like vanilla's End dimension, generates a blob of endstone near the spawn and then emptiness everywhere else. |
Nether | Like vanilla's Nether dimension, generates caverns hollowed out of netherrack. |
Noise3D | 3D Perlin noise terrain. Very cheese-like. Ignores biomes. Needs HeightGen set to Noise3D, too. |
SameBlock | The whole terrain is created out of the same block. Optionally a bedrock layer can be generated. The block is settable. |
Structures | Description |
---|---|
DualRidgeCaves | Generates medium blobby caverns throughout the world. Any block in its path gets replaced by air / lava. |
LavaLakes | Generates lava lakes below the surface. The relative frequency can be set. |
MarbleCaves | Generates huge wave-like caverns in the stone layer of the world. |
OreNests | Generates ore in the stone layer of the world. Only replaces stone. |
Ravines | Generates long thin fissures through the world. Any block in its path gets replaced by air. |
Trees | Generates a variety of trees on top of the terrain. The number and kinds of trees depend on biomes. |
WaterLakes | Generates water lakes below the surface. The relative frequency can be set. |
WormNestCaves | Generates random tunnel caverns throughout the world. Currently the closest to vanilla Minecraft that we have. Any block in its path gets replaced with air. |
Finishers | Description |
---|---|
BottomLava | Turns air in the bottom-most levels of the world into lava. Lava level is settable. |
DeadBushes | Places random dead bushes onto sand blocks. |
Ice | Turns surface water in cold biomes into ice. No settings. |
LavaSprings | Adds lava springs. The amount and height distribution are settable. |
Lilypads | Adds lilypads on top of surface water in swampland biomes. No settings. |
PreSimulator | Makes sand and gravel fall down and starts water flowing. |
Snow | Adds snow on top of snowable blocks in cold biomes. No settings. |
SprinkleFoliage | Adds random patches of small foliage (mushrooms, tall grass, cacti and flowers) to the top of the terrain. Ignores biomes and lightlevels. |
WaterSprings | Adds water springs. The amount and height distribution are settable. |
The following variables are used only when their respective generator is active, otherwise they are ignored:
Variable | Generator | Description |
---|---|---|
ConstantBiome | BiomeGen=Constant | The biome that is to be used for the world. Either a biome number (0..22, as in the MC Wiki) or a biome name in text are recognized. Plains will be used if not found or invalid. |
CheckerBoardBiomes | BiomeGen=CheckerBoard | A comma-separated list of biomes that the generator is allowed to generate. Biome can be a number (as in the MC Wiki) or a text. If not present or empty, the default Overworld biomes are allowed. |
CheckerBoardBiomeSize | BiomeGen=CheckerBoard | Size, in blocks, of each square of the same biome. If not present, a value of 64 blocks is used. |
VoronoiBiomes | BiomeGen=Voronoi | A comma-separated list of biomes that the generator is allowed to generate. Biome can be a number (as in the MC Wiki) or a text. If not present or empty, the default Overworld biomes are allowed. |
VoronoiCellSize | BiomeGen=Voronoi | Size, in blocks, of the voronoi cells. If not present, a value of 64 is blocks is used. |
DistortedVoronoiBiomes | BiomeGen=DistortedVoronoi | A comma-separated list of biomes that the generator is allowed to generate. Biome can be a number (as in the MC Wiki) or a text. If not present or empty, the default Overworld biomes are allowed. |
DistortedVoronoiCellSize | BiomeGen=DistortedVoronoi | Size, in blocks, of the voronoi cells. If not present, a value of 96 is blocks is used. |
MultiStepMapOceanCellSize | BiomeGen=MultiStepMap | Size, in blocks, of the voronoi cells used for ocean / mushroom / land decision. |
MultiStepMapMushroomIslandSize | BiomeGen=MultiStepMap | Relative size of the mushroom islands relative to their voronoi cell. 0 means no mushroom biomes at all, 32 is a good default, 1024 means the mushroom island will fill its entire voronoi cell and 2048 means the mushroom island will not have any mushroom shore. |
MultiStepMapRiverCellSize | BiomeGen=MultiStepMap | Relative frequency of the river-generating noise. The lesser the number, the more frequent, thinner and twistier the rivers are. |
MultiStepMapRiverWidth | BiomeGen=MultiStepMap | Relative width of the river-generating noise latch. The higher the number, the wider the rivers are. |
MultiStepMapLandBiomeSize | BiomeGen=MultiStepMap | Relative frequency of the land biome generating noises. Higher number means larger biomes. |
--- | ||
FlatHeight | HeightGen=Flat | The height of the flat terrain, in blocks. If not present, 5 blocks. |
ClassicHeightFreq1 | HeightGen=Classic | Parameters of the classic height generator's Perlin module. |
ClassicHeightFreq2 | ::: | ::: |
ClassicHeightFreq3 | ::: | ::: |
ClassicHeightAmp1 | ::: | ::: |
ClassicHeightAmp2 | ::: | ::: |
ClassicHeightAmp2 | ::: | ::: |
--- | ||
SameBlockType | CompositionGen=SameBlock | The block type used for the terrain composition. See the MC Wiki for block types. |
SameBlockBedrocked | ::: | If nonzero or not present, the terrain will generate with a bedrock layer at the very bottom. |
ClassicSeaLevel | CompositionGen=Classic | Sea level height, in blocks. Blocks at this height will be the topmost ones consisting of water. |
ClassicBeachHeight | ::: | Number of blocks above the sea level. Terrain height between sea level and this sum will be composed of sand. Terrain height above this sum will be compose of dirt + grass. |
ClassicBeachDepth | ::: | Number of blocks below the sea level where the terrain of such height will be composed of sand, rather than dirt. |
ClassicBlockBottom | ::: | The block used for the lower layer of terrain. Defaults to stone. |
ClassicBlockMiddle | ::: | The block used for the three layers below the surface. Defaults to dirt. |
ClassicBlockTop | ::: | The block used for the topmost block. Defaults to grass. |
ClassicBlockBeach | ::: | The block used for beach generation. Defaults to sand. |
ClassicBlockBeachBottom | ::: | The block used for the lowest part of the beach. Defaults to sandstone. |
ClassicBlockSea | ::: | Block used for filling the sea. Defaults to stationary water. |
BiomalSeaLevel | CompositionGen=Biomal | Sea level height, in blocks. Blocks at this height will be the topmost ones consisting of water. Note that it is not recommended to change this value. If not present, the default of 62 blocks is used. |
--- | --- | --- |
LavaLakesProbability | Structures contains LavaLakes | The probability (0 .. 100) of a lava lake generating for each chunk. Default is 10. |
WaterLakesProbability | Structures contains WaterLakes | The probability (0 .. 100) of a water lake generating for each chunk. Default is 25. |
--- | --- | --- |
BottomLavaLevel | Finishers contains BottomLava | The Y level from which downwards the air (caves) is turned into lava. If not present, a default of 10 is used. |
Since setting up a good generator is one of the most important thing to do for a world to be interesting, here's an example configuration that is known to generate a nice-looking world:
[Generator]
; use DistortedVoronoi generator with 128-block cells:
BiomeGen=DistortedVoronoi
DistortedVoronoiCellSize=128
; use the Biomal height generator:
HeightGen=Biomal
; use the Biomal terrain composition:
CompositionGen=Biomal
; Get some interesting structures:
Structures=Trees,WormNestCaves,Ravines,OreNests
; Want mushrooms, grass and flowers? Lilypads?
; Also, for snowy and icy biomes, make them actually winter-themed:
Finishers=SprinkleFoliage,Snow,Ice,Lilypads,BottomLava
If you want to have the same terrain as MineCraft in the "superflat" setting, use this configuration:
; Generate constant plains biome:
BiomeGen=Constant
ConstantBiome=Plains
; Generate the same height everywhere, 5 blocks:
HeightGen=Flat
FlatHeight=5
; Generate a classic composition, but don't generate water above the terrain:
CompositionGen=Classic
ClassicSeaLevel=0
ClassicBeachHeight=-1
; Do not generate any structures:
Structures=
; Do not generate any tall grass, mushrooms, flowers, anything:
Finishers=
This section provides parameters for the WaterSprings and LavaSprings finishers of the world generator. They both share the same set of parameters.
Variable | Meaning |
---|---|
Chance | Chance of a spring occuring in a chunk. 0 .. 100, zero meaning none and 100 meaning "in every chunk" |
HeightDistribution | The height distribution of the springs' occurence. See below. |
The height distribution tells MCServer how often a spring occurs at each height. The distribution is described using a special format of a string. It is a semicolon-separated list of XY points, each point being a comma-separated tuple of numbers. The first number is the height, the second number is the probability for that height. For heights that are not specified, their probability is linearly interpolated from the closest two heights. The points need to be sorted by their height values.
Default values depend on the fluid and on the world type:
Variable | Fluid | World type | Default |
---|---|---|---|
HeightDistribution | water | Overworld | 0, 0; 10, 10; 11, 75; 16, 83; 20, 83; 24, 78; 32, 62; 40, 40; 44, 15; 48, 7; 56, 2; 64, 1; 255, 0 |
Chance | water | Overworld | 24 |
HeightDistribution | lava | Overworld | 0, 0; 10, 5; 11, 45; 48, 2; 64, 1; 255, 0 |
Chance | lava | Overworld | 9 |
HeightDistribution | water | Nether | 0, 1; 255, 1 |
Chance | water | Nether | 0 |
HeightDistribution | lava | Nether | 0, 0; 30, 0; 31, 50; 120, 50; 127, 0 |
Chance | lava | Nether | 15 |
HeightDistribution | any | End | 0, 1; 255, 1 |
Chance | any | End | 0 |
The following image shows the empirically calculated height distributions used by vanilla MineCraft. {{ http://mc-server.xoft.cz/img/vanilla_springs_huge.png | Vanilla MineCraft height distribution for springs }}
Parameters in the Physics section govern the physics simulation in the world. Therefore, each world can have its specific physics behavior. This is especially useful for overworld / nether, since the two have different fluid parameters in the vanilla MC.
Variable | Meaning |
---|---|
WaterSimulator | The simulator to be used for water physics. Can be "Floody" (default), "Noop" or "Vaporize". Further parameters in the [WaterSimulator] section. |
LavaSimulator | The simulator to be used for lava physics. Can be "Floody" (default), "Noop" or "Vaporize". Further parameters in the [LavaSimulator] section. |
DeepSnow | If set to nonzero, enables deep snow cover. Zero means normal snow is used instead. |
SandInstantFall | If set to nonzero, the sand simulator will not create a falling sand entity and instead the sand will be immediately "teleported" to its final destination, or broken into pickups on the way. Good for overloaded servers. |
The Floody simulator spreads the fluid anywhere it can. It is similar to the vanilla simulator, but where vanilla produces a stream flowing towards a hole, Floody spreads in all directions.
The Noop simulator doesn't do any simulation at all. When placed from a bucket, a liquid just stays as it is. This is the simulator that puts the least strain on the server.
The Vaporize simulator vaporizes any fluid immediately. It is meant to be used for water in the Nether.
These two sections share the same set of variables, each setting the parameters for the particular fluid physics simulator. Some variables are used only for a specific simulator, the other simulators ignore them.
Variable | Simulator | Description |
---|---|---|
Falloff | Floody | How fast the fluid level decreases, in steps per block. Source blocks are 8 steps "high", the decreasing step value shows in the fluid level decreasing. Defaults to 1 for water, 2 for lava. |
NumNeighborsForSource | Floody | If at least this many neighboring blocks are sources, the block turns into a source, too. Set to -1 to disable. Defaults to 2 for water, -1 for lava. |
TickDelay | Floody | How many ticks must pass before the fluid spreads further. The higher the number, the slower the spread. Defaults to 5 for water (4 spreads per second, 4 m/sec) and 30 for lava (1 spread every 1.5 seconds, 0.66 m/sec) |
Fire simulator can be adjusted to have just the right flame for you. You can set how long a fire burns when it's next to a fuel and when it's without any fuel neighbor; how likely a block next to a fire is to catch fire. There's even a settable chance that a fuel block, when consumed by a fire next to it, will be converted into a fire block instead of an air block.
Fire burns in 15 stages, before it finally burns out. The times settable in the simulator tell it how long it takes to step through one stage, so effectively if you want a fire to burn for X milliseconds, set the time to X / 15. Note that the lowest possible setting is 50 milliseconds (1 game tick), so a fire will always burn for at least 3/4 of a second.
Variable | Range | Default | Description |
---|---|---|---|
BurnStepTimeFuel | 50 .. +inf | 500 | Number of milliseconds that a fire burns when next to a fuel, before transitioning to a next stage. |
BurnStepTimeNonfuel | 50 .. +inf | 100 | Number of milliseconds that a fire burns when NOT next to a fuel, before transitioning to a next stage. |
Flammability | 0 .. 100000 | 50 | Chance that one of the fire block's neighbors will catch on fire. |
ReplaceFuelChance | 0 .. 100000 | 50000 | Chance that a fuel block, when consumed by fire, will get replaced by a fire block instead of an air block. |