-
Notifications
You must be signed in to change notification settings - Fork 0
Default Format
Jonathan edited this page Oct 27, 2017
·
15 revisions
Default format of KWCommands. This format may change between versions, we will keep a changelog here.
Key | Data type | Description |
---|---|---|
name | string | Name of the command |
description | string | Description of command (what it does) |
alias? | string[] | Aliases to command |
arguments? | object[] | Arguments of command (see below) |
requirements? | object[] | Requirements of command (see below) |
requiredInfo? | object[] | Required information ids (see below) |
handler?¹ | string | Qualified name of command handler |
subcommands? | object[] or string[] | Sub commands, either this format or resources (since 1.1.4) |
Key | Data type | Description |
---|---|---|
type¹ | string | Qualified name of argument type |
id | string | Argument identification |
name? | string | Argument name (set to id if not specified) |
description? | string | Argument description (since 1.1.5) |
optional? | boolean | Whether the argument is optional or not (default: false) |
requirements? | object[] | Argument requirements (see below) |
requiredInfo? | object[] | Required information ids (see below) |
validator?¹ | string | Qualified name of validator of argument input |
transformer?¹ | string | Qualified name of transformer of argument input to object |
possibilities?¹ | string | Qualified name of possibilities function of argument input |
handler?¹ | string | Qualified name of handler of argument value |
Key | Data type | Description |
---|---|---|
info | object | Required information id (see below) |
tester¹ | string | Qualified name of requirements tester |
data | string | Required data |
Key | Data type | Description |
---|---|---|
id | object | Information id (see below) |
useProviders? | boolean | Whether provided information satisfies this requirement |
Key | Data type | Description |
---|---|---|
tags | string[] | Tags used to identify information |
type¹ | string | Qualified name of information id |
-
¹
- Qualified names are resolved to class, usingTypeResolver
. -
?
- Optional
{
"name": "register",
"description": "Registers the user",
"handler": "my.test.RegisterCommandHandler",
"arguments": [
{
"id": "name",
"type": "String"
},
{
"id": "email",
"type": "String",
"validator": "my.test.EmailValidator"
}
],
"requiredInfo": [
{
"id": { "tags": ["player"], "type": "my.test.Player" }
}
],
"requirements": [
{
"id": { "tags": ["player"], "type": "my.test.Player" },
"tester": "my.test.ReqTester",
"data": "perm.register"
}
]
}