QtCraft API C++ classes QML types Handbook

QcCommandMacroDefinition Struct

A command made of other commands, defined in data (commands/*.json, decision E-248): mods have no C++ access, so this is how they add commands. More...

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

Public Variables

QString description
QStringList lines
QString name
bool operatorOnly
int requiredArguments
QString usage

Static Public Members

const int maxLineLength
const int maxLines
const int maxTextLength

Detailed Description

Each line runs as the caller with the caller's rights; $1..$9 take the words after the macro's name, $* all of them. Macros cannot call macros and cannot replace the game's commands. Server side only, not synchronised.

Member Variable Documentation

QStringList QcCommandMacroDefinition::lines

Command lines (JSON "run"), each starting with '/'.

const int QcCommandMacroDefinition::maxLineLength

The longest command line, in characters.

const int QcCommandMacroDefinition::maxLines

The most command lines a macro may run.

const int QcCommandMacroDefinition::maxTextLength

The length, in characters, usage and description are cut to.

QString QcCommandMacroDefinition::name

The command name players type: lower-case letters, digits and '_'.

bool QcCommandMacroDefinition::operatorOnly

Who may call it at all (JSON "permission": "operator", the default, or "player"); every line is checked again for the caller.

int QcCommandMacroDefinition::requiredArguments

Highest $n the lines use: calls with fewer words answer with the usage.