QtCraft API C++ classes QML types Handbook

QcVillageStyleDefinition Struct

A village style (villages/*.json, decision E-403): the biomes it is built in, the pieces its villages are built from, their roads, fields and street plans, how its blocks are swapped and who lives there. More...

Header: #include <common/content/villages/QcVillageDefinitions.h>

Public Types

enum class Ground { Land, Water }

Public Variables

QStringList biomes
QList<QcVillageRoad> branchRoads
QString centre
QList<QcWeightedBlockName> crops
bool fallback
QString foundationBlock
std::optional<QcVillageGolemPatch> golem
QcVillageStyleDefinition::Ground ground
QString lamp
QList<QcVillageLayout> layouts
QcVillagerLook look
QString name
QHash<QString, QString> palette
QList<QcVillagePiece> pieces
QString rareCentre
double rareCentreChance
int registered
QList<QcVillageResident> residents
QList<QcVillageRoad> roads
QcVillageStilts stilts
QString villager
QcVillageWetland wetland

Static Public Members

const int maxBiomes
const int maxCrops
const int maxLayouts
const int maxPaletteEntries
const int maxPieces
const int maxResidents
const int maxRoads

Detailed Description

Member Type Documentation

enum class QcVillageStyleDefinition::Ground

Where the villages of the style stand: on flat land, or over water on stilts (decision E-407).

ConstantValueDescription
QcVillageStyleDefinition::Ground::Land0on the ground (\c {"ground": "land"}, the default)
QcVillageStyleDefinition::Ground::Water1over water on stilts (\c {"ground": "water"})

Member Variable Documentation

QString QcVillageStyleDefinition::centre

The meeting point in the middle (a well with the bell); its centre lies on the village centre.

QList<QcWeightedBlockName> QcVillageStyleDefinition::crops

Crops planted in the crop cells of the pieces (decision E-406): every crop cell takes the block of one of these, by weight, the same along a row of a field, ripe or growing; empty: the pieces' crops as written.

QString QcVillageStyleDefinition::foundationBlock

Fills the ground under a piece where the terrain lies lower than its floor.

std::optional<QcVillageGolemPatch> QcVillageStyleDefinition::golem

Its golems over the settings' (QcVillageCatalog::golemOfStyle; an empty mob: none).

QcVillageStyleDefinition::Ground QcVillageStyleDefinition::ground

Where its villages stand ("ground").

QString QcVillageStyleDefinition::lamp

Stands at the road sides every lampSpacing blocks (a lamp post); empty: no lamps.

QList<QcVillageLayout> QcVillageStyleDefinition::layouts

Street plans, one chosen per village by weight (decision E-408); never empty after parsing (QcVillageLayoutParser::defaultLayouts() without the field).

QcVillagerLook QcVillageStyleDefinition::look

What its villagers wear (decision E-411); unset: the default look of their species.

const int QcVillageStyleDefinition::maxBiomes

Most biomes of a style.

const int QcVillageStyleDefinition::maxCrops

Most crops of a style.

const int QcVillageStyleDefinition::maxLayouts

Most street plans of a style.

const int QcVillageStyleDefinition::maxPaletteEntries

Most entries of palette.

const int QcVillageStyleDefinition::maxPieces

Most kinds of building of a style.

const int QcVillageStyleDefinition::maxResidents

Most entries of residents.

const int QcVillageStyleDefinition::maxRoads

Most surfaces of each road rank.

QString QcVillageStyleDefinition::name

Content name of the style ("name").

QHash<QString, QString> QcVillageStyleDefinition::palette

Block name -> block name, applied to every piece of the style (states keep their properties where the new block has them), so a mod can add a style from the same houses.

QList<QcVillagePiece> QcVillageStyleDefinition::pieces

The kinds of building ("pieces"), 1 to maxPieces.

int QcVillageStyleDefinition::registered

When the style was last registered (QcVillageCatalog::registerStyle counts up): of two styles naming a biome or being the fallback, the later registered one keeps it (QcVillageContent::resolveStyles, decision E-421).

QList<QcVillageResident> QcVillageStyleDefinition::residents

Other creatures living in its villages ("residents").

QcVillageStilts QcVillageStyleDefinition::stilts

Posts and stairs of a style over water; unused on land.

QString QcVillageStyleDefinition::villager

The creature kind living in its villages (a mob with "villager"); empty: the settings'.

QcVillageWetland QcVillageStyleDefinition::wetland

The shaped ground of a style over water; unused on land.