QtCraft API C++ classes QML types Handbook

QcTerrainDefinitions Struct

The registry's terrain, biome, feature, ore and pool definitions resolved to block ids for the terrain generator. More...

Header: #include <worldgen/terrain/QcTerrainDefinitions.h>

Public Types

struct Biome
struct ColdEdges
struct Feature
struct Ore
struct Pool
struct VegetationPatches
enum VegetationLayer { Grass, Flowers, VegetationLayers }

Public Variables

bool anyOverhangs
bool anyRare
bool anyRidges
bool anyTerraces
QcBlockId bedrock
int bedrockLayers
QList<QcTerrainDefinitions::Biome> biomes
QcBlockId caveLiquid
QcTerrainDefinitions::ColdEdges coldEdges
double deltaShare
bool deltas
QList<QcTerrainDefinitions::Feature> features
double maxGiantChance
std::array<double, VegetationLayers> maxPatchChance
QSet<QcBlockId> naturalGround
QList<QcTerrainDefinitions::Ore> ores
QList<QcTerrainDefinitions::Pool> pools
bool rivers
int seaLevel
QcBlockId stone
QStringList warnings
QcBlockId water

Static Public Members

const int giantCell

Detailed Description

Unresolvable references are noted in warnings and replaced by sensible fallbacks; omitted optional blocks (empty names) fall back silently.

Member Type Documentation

enum QcTerrainDefinitions::VegetationLayer

Layers of a biome's vegetation in this order.

ConstantValueDescription
QcTerrainDefinitions::Grass0The grass layer.
QcTerrainDefinitions::Flowers1The flower layer.
QcTerrainDefinitions::VegetationLayers2The number of layers.

Member Variable Documentation

bool QcTerrainDefinitions::anyOverhangs

Whether any biome has overhangs.

bool QcTerrainDefinitions::anyRare

Some biome has a rarity (decision E-821); without one the world's rarity map is not computed.

QcBlockId QcTerrainDefinitions::bedrock

The bottom block (the stone without one).

int QcTerrainDefinitions::bedrockLayers

The bottom layer is bedrock; the layers above it get thinner up to this many layers.

QList<QcTerrainDefinitions::Biome> QcTerrainDefinitions::biomes

The biomes in the order of the content (a stone fallback without any).

QcBlockId QcTerrainDefinitions::caveLiquid

The liquid that fills the caves deep down; air keeps them dry.

QcTerrainDefinitions::ColdEdges QcTerrainDefinitions::coldEdges

Freezing by temperature and mixed ground at biome borders.

double QcTerrainDefinitions::deltaShare

The share of the wide river mouths that get a delta (terrain setting deltaShare).

bool QcTerrainDefinitions::deltas

Wide rivers end in deltas (terrain setting deltas with rivers, decision E-850).

QList<QcTerrainDefinitions::Feature> QcTerrainDefinitions::features

The features of the content, then the scattered plants of the biomes' vegetation.

const int QcTerrainDefinitions::giantCell

Giant trees stand at most one per cell of this many blocks along x and z (decision E-822).

double QcTerrainDefinitions::maxGiantChance

Highest chance of any biome that a giant cell holds a giant tree (cells above it are skipped at once).

std::array<double, VegetationLayers> QcTerrainDefinitions::maxPatchChance

Highest patch chance of any biome per vegetation layer (cells above it are skipped at once).

QSet<QcBlockId> QcTerrainDefinitions::naturalGround

Solid blocks the terrain itself is made of (stone and every biome's ground layers, no features, liquids or ice): where a player may spawn.

QList<QcTerrainDefinitions::Ore> QcTerrainDefinitions::ores

The ores.

QList<QcTerrainDefinitions::Pool> QcTerrainDefinitions::pools

The pools, in caves and on the surface.

bool QcTerrainDefinitions::rivers

Rivers run through the land (terrain setting rivers, decision E-840).

int QcTerrainDefinitions::seaLevel

The sea level: the sea is filled with water up to the block below it (the water surface), the first air above the sea.

QcBlockId QcTerrainDefinitions::stone

The rock of the terrain.

QStringList QcTerrainDefinitions::warnings

What could not be resolved and was replaced by a fallback.

QcBlockId QcTerrainDefinitions::water

The water of the sea, lakes and rivers.