3.4 KiB
Lua API: Biome
Example
mod:biome {
id = "desert", -- mandatory
name = "Desert", -- mandatory
params = {
temperature = -0.3,
precipitation = -0.7
},
blocks = {
top = "default:sand",
ground = "default:sand",
deep = "default:stone",
beach = "default:sand",
liquid = "default:water",
portal = "default:portal",
portal_frame = "default:obsidian",
},
trees = {
{
type = "default:tree_cactus",
probability = 0.001,
}
},
flora = {
{
block = "default:deadbush",
spawns_on = "default:sand",
probability = 0.005,
}
},
}
Attributes
blocks
Table containing the blocks used for the terrain.
Example:
blocks = {
top = "default:grass",
ground = "default:dirt",
deep = "default:stone",
beach = "default:sand",
liquid = "default:water",
portal = "default:portal",
portal_frame = "default:obsidian",
}
beach
String ID of the block used around and under liquid
block.
Example:
beach = "default:sand"
deep
String ID of the block used for the lower part of the terrain, below ground
block.
Example:
deep = "default:stone"
ground
String ID of the block used for the upper part of the terrain, under top
block.
Example:
ground = "default:dirt"
liquid
String ID of the block used to make lakes under SEALEVEL
(see EngineConfig.hpp).
Example:
liquid = "default:water"
portal
String ID of the block used to generate portal center.
Example:
portal = "default:portal"
Note: This attribute is temporary and will get removed soon.
portal_frame
String ID of the block used to generate portal frame.
Example:
portal_frame = "default:obsidian"
Note: This attribute is temporary and will get removed soon.
top
String ID of the block used on the top of the terrain.
Example:
top = "default:grass"
flora
Table that defines flora placement.
Example:
flora = {
{
block = "default:tallgrass",
spawns_on = "default:grass",
probability = 0.25
},
{
block = "default:dandelion",
spawns_on = "default:grass",
probability = 0.025
}
}
Possible attributes:
block
: Block used as floraspawn_on
: What the block below must beprobability
: Probability to spawnblock
id
ID of the biome. Mandatory field.
Example:
id = "biome_desert"
IDs are usually of the form mod:biome
but the mod:
prefix is prepended automatically so it's not needed.
name
Label of the biome. Mandatory field.
Example:
name = "Desert"
This label is the name that will appear everywhere in the game.
ores
Table that defines ore placement.
Example:
ores = {
{
block = "default:iron_ore",
probability = 0.0003,
size = 8
}
}
Possible attributes:
block
: Ore block to be usedprobability
: Probability to spawn an ore vein with that blocksize
: Ore vein size
params
Parameters used to generate the biome.
Example:
params = {
temperature = -0.3,
precipitation = -0.7
}
Current valid parameters are:
temperature
precipitation
trees
Table that defines tree placement.
Example:
trees = {
{
type = "default:oak",
probability = 0.01
},
{
type = "default:cactus",
probability = 0.001
}
}
Possible attributes:
type
: String ID of the tree definitionprobability
: Probability to spawn this tree