QtCraft API C++ classes QML types Handbook

QcPartFamily Struct

A family of building parts (stairs, slabs, walls, fences, gates) that QcPartGenerator derives from every material of a matching kind: block, item, recipe and names come from this template and the material's base block. More...

Header: #include <common/content/blocks/QcPartFamily.h>

Public Variables

QJsonObject block
double fuelFactor
double hardnessFactor
QStringList kinds
QJsonArray moreRecipes
QString name
QJsonObject recipe
int stonecutterCount
QStringList stonecutterKinds
QString suffix
QList<std::pair<QString, QString>> translations

Static Public Members

const int maxMoreRecipes

Detailed Description

Member Variable Documentation

QJsonObject QcPartFamily::block

Block fields of the part (shape, states, render, connections, ...); name, textures, sound, tool, hardness, drops and fuel come from the base block.

double QcPartFamily::fuelFactor

Factor on the base block's fuel seconds for the part ("fuel").

double QcPartFamily::hardnessFactor

Factor on the base block's hardness for the part ("hardness").

QStringList QcPartFamily::kinds

Material kinds this family applies to ("wood", "stone").

const int QcPartFamily::maxMoreRecipes

Most entries of moreRecipes.

QJsonArray QcPartFamily::moreRecipes

Further shaped recipes of the part ("recipes"), each with a "name" (the recipe is "<part>_<name>") and an optional "result" ("@slab": a vertical slab back into a slab); at most maxMoreRecipes.

QString QcPartFamily::name

Qualified family name ("name").

QJsonObject QcPartFamily::recipe

Shaped recipe ("pattern", "key", "count") as in recipe files; a key mapped to "@" stands for the base block, "@<suffix>" for the material's part of that suffix ("@slab", decision E-755).

int QcPartFamily::stonecutterCount

The stonecutter turns one base block of a material of these kinds into this many parts (decision E-784); 0: it does not cut this family.

QStringList QcPartFamily::stonecutterKinds

Material kinds the stonecutter cuts this family from ("stonecutter", "kinds").

QString QcPartFamily::suffix

The part is called "<material>_<suffix>".

QList<std::pair<QString, QString>> QcPartFamily::translations

Display name format per language; %1 is the material's name in that language.