QtCraft API C++ classes QML types Handbook

QcAdvancementParser Namespace

Parses an advancement (advancements/<name>.json, decision E-923). More...

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

Functions

QString frameName(QcAdvancementFrame frame)
QcResult<QcAdvancementDefinition> parseAdvancement(const QJsonObject &json, const QString &packNamespace)
QString triggerName(QcAdvancementTrigger trigger)
std::optional<QcAdvancementTrigger> triggerOf(const QString &text)

Detailed Description

All input is untrusted. {"name": …, "disabled": true} alone switches off an advancement of an earlier pack.

Function Documentation

QString QcAdvancementParser::frameName(QcAdvancementFrame frame)

Returns the JSON name of frame: "task", "goal" or "challenge".

QcResult<QcAdvancementDefinition> QcAdvancementParser::parseAdvancement(const QJsonObject &json, const QString &packNamespace)

Returns the advancement described by json, with unqualified names in packNamespace, or the first problem found.

QString QcAdvancementParser::triggerName(QcAdvancementTrigger trigger)

Returns the JSON name of trigger, the inverse of triggerOf().

std::optional<QcAdvancementTrigger> QcAdvancementParser::triggerOf(const QString &text)

Returns the trigger named text ("item_obtained", "block_broken", …); none for an unknown name.