QtCraft API C++ classes QML types Handbook

QcAdvancementConditions Struct

What an event must show for a criterion to be met; empty fields accept anything. More...

Header: #include <common/content/registry/QcAdvancementDefinition.h>

Public Variables

QString biome
QString block
int count
QString effect
QString entity
QString item
int level
std::optional<int> maxY
std::optional<int> minY
QString structure
QString vehicle
enum class QcAdvancementFrame { Task, Goal, Challenge }
enum class QcAdvancementTrigger { Impossible, ItemObtained, BlockPlaced, BlockBroken, ItemCrafted, …, LevelReached }

Detailed Description

item and block are content names or, with a leading '#', item tags (blocks are matched by their item).

Member Variable Documentation

QString QcAdvancementConditions::biome

A biome name (Location).

QString QcAdvancementConditions::block

A block name or '#' item tag (JSON "block").

int QcAdvancementConditions::count

Items the inventory must hold (ItemObtained).

QString QcAdvancementConditions::effect

A status effect name (EffectGained).

QString QcAdvancementConditions::entity

A creature kind (mob name).

QString QcAdvancementConditions::item

An item name or '#' item tag (JSON "item").

int QcAdvancementConditions::level

The experience level reached at least (LevelReached).

std::optional<int> QcAdvancementConditions::maxY

The highest block height the player may stand at (Location); none for no limit.

std::optional<int> QcAdvancementConditions::minY

The lowest block height the player may stand at (Location); none for no limit.

QString QcAdvancementConditions::structure

"village": inside the area of a village.

QString QcAdvancementConditions::vehicle

"minecart" or "boat".

Related Non-Members

enum class QcAdvancementFrame

How an advancement is framed in the tree and its toast (decision E-923): an ordinary step, a goal that takes longer, or a challenge.

ConstantValueDescription
QcAdvancementConditions::QcAdvancementFrame::Task0An ordinary step ("task", the default).
QcAdvancementConditions::QcAdvancementFrame::Goal1A step that takes longer ("goal").
QcAdvancementConditions::QcAdvancementFrame::Challenge2A challenge ("challenge").

enum class QcAdvancementTrigger

The game events an advancement criterion waits for (decision E-923).

The server's gameplay reports them (QcServerAdvancements::trigger); a mod picks one by name and narrows it with conditions, but cannot add new kinds of events.

ConstantValueDescription
QcAdvancementConditions::QcAdvancementTrigger::Impossible0Never fires; only /advancement grant gives the criterion.
QcAdvancementConditions::QcAdvancementTrigger::ItemObtained1The inventory holds count items matching item (checked whenever the inventory changes).
QcAdvancementConditions::QcAdvancementTrigger::BlockPlaced2The player placed a block matching \c {block}.
QcAdvancementConditions::QcAdvancementTrigger::BlockBroken3The player broke a block matching \c {block}.
QcAdvancementConditions::QcAdvancementTrigger::ItemCrafted4The player crafted an item matching \c {item}.
QcAdvancementConditions::QcAdvancementTrigger::ItemSmelted5An item taken out of a furnace-like machine.
QcAdvancementConditions::QcAdvancementTrigger::EntityKilled6The player killed a creature of kind \c {entity}.
QcAdvancementConditions::QcAdvancementTrigger::EntityBred7Two animals bred by the player got a young of kind \c {entity}.
QcAdvancementConditions::QcAdvancementTrigger::EntityTamed8The player tamed a creature of kind \c {entity}.
QcAdvancementConditions::QcAdvancementTrigger::Location9The player stands in a biome, a structure or a height range (checked about once a second while the player moves).
QcAdvancementConditions::QcAdvancementTrigger::ItemUsedOnBlock10The player used an item matching \c {item} on a block matching \c {block}.
QcAdvancementConditions::QcAdvancementTrigger::ItemUsedOnEntity11The player used an item matching \c {item} on a creature of kind \c {entity}.
QcAdvancementConditions::QcAdvancementTrigger::RideVehicle12The player got into a \c {vehicle} ("minecart" or "boat").
QcAdvancementConditions::QcAdvancementTrigger::VillagerTrade13The player bought an item matching \c {item} from a villager.
QcAdvancementConditions::QcAdvancementTrigger::ItemEnchanted14The player enchanted an item matching \c {item}.
QcAdvancementConditions::QcAdvancementTrigger::EffectGained15The player got the status effect \c {effect}.
QcAdvancementConditions::QcAdvancementTrigger::LevelReached16The player reached at least experience level \c {level}.