QtCraft API C++ classes QML types Handbook

QcBiomeDefinition Struct

A biome of the terrain generator: its climate point, the shape of its land, its ground blocks, rivers, deltas, villages, monsters, features and vegetation (a biome file of a pack). More...

Header: #include <common/content/worldgen/QcWorldgenDefinitions.h>

Public Variables

double baseHeight
QString beachBlock
bool delta
QString deltaBiome
QString descriptionKey
QList<QcFeaturePlacement> features
int frozenDepth
QString frozenWaterBlock
double heightVariation
double humidity
QString icon
std::optional<quint32> mapColour
QList<QcSpawnWeight> monsterWeights
QString name
int overhang
double rarity
double ridges
bool river
QString riverBiome
double ruggedness
QString snowBlock
int snowLine
double spread
QString steepBlock
int steepSlope
QString subsurfaceBlock
int subsurfaceDepth
QString surfaceBlock
QList<QcBlockShare> surfacePatches
double temperature
int terraceHeight
QString translationKey
QString underwaterBlock
QList<QcBlockShare> underwaterPatches
QcVegetationDefinition vegetation
bool villages

Detailed Description

Block and biome references are qualified content names resolved by the generator.

Member Variable Documentation

double QcBiomeDefinition::baseHeight

Surface height in blocks for land in this biome ("baseHeight").

QString QcBiomeDefinition::beachBlock

Surface block where land meets the sea, on river banks and on the sand banks of a delta ("beach", default surfaceBlock).

bool QcBiomeDefinition::delta

A delta biome (decision E-850): the climate never chooses it; the arms and islands of a river delta take the delta biome of the land biome around them.

QString QcBiomeDefinition::deltaBiome

The delta biome of the deltas in this land biome (decision E-850); empty: the terrain's deltaBiome.

QString QcBiomeDefinition::descriptionKey

Translation key of the handbook's text about it ("<translation>.description" unless set); a missing text leaves only the facts. Server side only.

QList<QcFeaturePlacement> QcBiomeDefinition::features

The features the biome places, with their densities ("features", at most 64).

int QcBiomeDefinition::frozenDepth

Only water at most this many blocks deep freezes (ice along the banks of a cold delta, decision E-850); 0: all water of the biome.

QString QcBiomeDefinition::frozenWaterBlock

Water surface block in cold biomes (e.g. ice); empty keeps water.

double QcBiomeDefinition::heightVariation

Height variation in blocks around baseHeight ("heightVariation", 0 to 120).

QString QcBiomeDefinition::icon

Item the handbook shows for the biome ("icon", default surfaceBlock; decision E-944).

std::optional<quint32> QcBiomeDefinition::mapColour

The biome's colour on the map preview of a new world (decision E-921), 0xRRGGBB; without one the preview spreads hues over the biomes.

QList<QcSpawnWeight> QcBiomeDefinition::monsterWeights

Monster kinds weighted differently here than by their spawn rules (monsters, decision E-838; QcSpawnWeights). Server side only.

QString QcBiomeDefinition::name

Qualified name ("name").

int QcBiomeDefinition::overhang

Overhangs: a 3D noise of this many blocks reshapes the ground around the surface (ledges, arches, overhanging cliffs); 0 keeps plain columns.

double QcBiomeDefinition::rarity

How rare the biome is, in [0, 1] (decision E-821); 0 for an ordinary biome. The world's rarity is 0 almost everywhere and rises to 1 in scattered spots. A biome with a rarity takes part in the climate choice only inside those spots (its weight is scaled by the world's rarity against its own, so it is exactly 0 elsewhere) and there wins where its temperature, humidity and ruggedness fit best (so a temperate rare biome never replaces a desert).

double QcBiomeDefinition::ridges

Share of the variation in [0, 1] that comes from sharp ridges instead of rolling hills.

bool QcBiomeDefinition::river

A river biome (decision E-840): the climate never chooses it; the water of a river channel takes the river biome of the land biome it runs through. Its climate point only sets the weather.

QString QcBiomeDefinition::riverBiome

The river biome of the rivers through this land biome (decision E-840; frozen rivers in cold biomes); empty: the terrain's riverBiome.

double QcBiomeDefinition::ruggedness

Third climate coordinate in [0, 1]: how rugged the land is. The world's ruggedness is low almost everywhere and high along chains, so a biome with a high value forms mountain ranges across all climates. Counts twice as much as temperature and humidity.

QString QcBiomeDefinition::snowBlock

Surface block above snowLine ("snow", required with a snow line).

int QcBiomeDefinition::snowLine

Surface above about this height (a few blocks of jitter) uses snowBlock ("snowLine"; 0 disables).

double QcBiomeDefinition::spread

How far the biome reaches beyond the midpoint to its neighbours in climate space (decision E-824): subtracted from its squared climate distance, so its share grows while its borders stay straight and it keeps the same neighbours; 0 for an ordinary biome.

QString QcBiomeDefinition::steepBlock

Surface block where the ground drops at least steepSlope blocks to a neighbour (rock on cliffs); empty keeps the normal surface.

int QcBiomeDefinition::steepSlope

Drop in blocks to a neighbour from which steepBlock is used ("steepSlope").

QString QcBiomeDefinition::subsurfaceBlock

Block under the surface ("subsurface", default surfaceBlock).

int QcBiomeDefinition::subsurfaceDepth

Blocks of subsurfaceBlock under the surface before stone ("subsurfaceDepth", 0 to 16).

QString QcBiomeDefinition::surfaceBlock

Top block of the land ("surface", required).

QList<QcBlockShare> QcBiomeDefinition::surfacePatches

Patches of other blocks among surfaceBlock on the land of a delta biome (mud and grass on the islands, decision E-850); shares as above. Other biomes ignore them.

int QcBiomeDefinition::terraceHeight

Height of terrace steps in blocks (0: none). Where a slowly changing mask allows it, the land rises in flat steps with cliffs between them.

QString QcBiomeDefinition::translationKey

Translation key of the biome's name ("translation", default biome.<namespace>.<local name>).

QString QcBiomeDefinition::underwaterBlock

Top block of the ground under the sea level ("underwater", default subsurfaceBlock).

QList<QcBlockShare> QcBiomeDefinition::underwaterPatches

Patches of other blocks among underwaterBlock (gravel and clay in river beds, decision E-840); their shares add up to at most 1.

QcVegetationDefinition QcBiomeDefinition::vegetation

Grass and flowers (decision E-814): placed after the listed features, used by bone meal.

bool QcBiomeDefinition::villages

Villages may be built here (decision E-403), in the style that names the biome or else the fallback style. Server side only.