QtCraft API C++ classes QML types Handbook

QcTerrainDefinitions::Biome Struct

struct QcTerrainDefinitions::Biome

A biome with its blocks resolved: its climate point, the shape of its land, its ground blocks, its river and delta biomes and what grows in it. More...

Public Functions

bool byClimate() const

Public Variables

double baseHeight
QcBlockId beach
bool delta
int deltaBiome
QList<std::pair<int, double>> features
int frozenDepth
QcBlockId frozenWater
QList<std::pair<int, double>> giants
double heightVariation
double humidity
QString name
int overhang
std::array<QcTerrainDefinitions::VegetationPatches, VegetationLayers> patches
double rarity
double ridges
bool river
int riverBiome
double ruggedness
QcBlockId snow
int snowLine
double spread
QcBlockId steep
int steepSlope
QcBlockId subsurface
int subsurfaceDepth
QcBlockId surface
QList<std::pair<QcBlockId, double>> surfacePatches
double temperature
int terraceHeight
QcBlockId underwater
QList<std::pair<QcBlockId, double>> underwaterPatches

Detailed Description

Member Function Documentation

bool Biome::byClimate() const

Returns whether the climate chooses this biome (not a river or delta biome).

Member Variable Documentation

QcBlockId Biome::beach

The ground where land meets the sea at most a block above the sea level, a delta's banks flush with the water, and in patches the banks of the rivers of this river biome.

bool Biome::delta

A delta biome, which the climate never chooses either (decision E-850).

int Biome::deltaBiome

Land biomes: the index of the delta biome of their river deltas, -1 without one.

QList<std::pair<int, double>> Biome::features

Index into features and density per column; the vegetation layers come last.

int Biome::frozenDepth

Only water at most this many blocks deep takes frozenWater (decision E-850); 0: all.

QcBlockId Biome::frozenWater

The block the top water layer freezes to; the water itself when the biome's water does not freeze.

QList<std::pair<int, double>> Biome::giants

Giant trees (decision E-822): index into features and chance per cell of QcTerrainDefinitions::giantCell blocks, from their density per column; not in features.

QString Biome::name

The biome's content name.

int Biome::overhang

Overhang amplitude in blocks; 0 keeps plain columns.

std::array<QcTerrainDefinitions::VegetationPatches, VegetationLayers> Biome::patches

The patches of each vegetation layer (decision E-814).

double Biome::rarity

How rare the biome is (decision E-821); 0 for an ordinary biome.

double Biome::ridges

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

bool Biome::river

A river biome, which the climate never chooses (decision E-840).

int Biome::riverBiome

Land biomes: the index of the river biome of their rivers, -1 without one.

QcBlockId Biome::snow

The surface block above the snow line.

int Biome::snowLine

The surface at and above about this height (jittered by a few blocks) takes snow; 0: none.

double Biome::spread

How far the biome reaches beyond its neighbours in climate space (decision E-824).

QcBlockId Biome::surface

The top block of its land.

QList<std::pair<QcBlockId, double>> Biome::surfacePatches

Delta biomes: patches of other blocks among surface on their land (decision E-850).

int Biome::terraceHeight

Height of terrace steps in blocks; 0 for none.

QcBlockId Biome::underwater

The ground block under water.

QList<std::pair<QcBlockId, double>> Biome::underwaterPatches

Patches of other blocks among underwater (decision E-840): block and share.