Prizes
Prizes are individual things that can be given to a player, such as commands or items. The available types are:
- CommandPrize: executes a command
- ItemPrize: gives an item
- MoneyPrize: gives money
CommandPrize
A prize which executes a command when given. If the command node is present,
the prize is matched to this type.
<id> = {
//name, lore, icon
command = {
command = "/<command>"
source = "server"/"player"
online = true/false
}
}
If only the command needs to be specified, prefer setting it directly which
will use the default values for the other properties.
<id> = {
//name, lore, icon
command = "/<command>"
}
If name/lore/icon are also unspecified, prefer using an inline
reference instead of defining a new prize.
Properties
| Name | Type | Description | Default |
| — | — | — | – |
| name | Text | The prize name, inherited from Component | This prize’s capitalized id, or the command if an inline reference |
| lore | List | The prize lore, inherited from Component | The command, or an empty list if an inline reference |
| icon | Item | The prize icon, inherited from Component | A filled_map with the above name/lore |
| |
| command | String | The command, supporting placeholders for either ${player} (if online = true) or ${user} (if online = false) and ${value} | Required |
| source | "server"/"player" | The source executing the command | "server" |
| online | Boolean | Whether the user must be online to receive this prize. If false, the source must be "server" (since offline users can’t execute commands) | true if the source is "player", else false |
| |
| value | String | The reference value, which replaces the ${value} placeholder in the command | Required when ${value} is used, otherwise is not allowed |
Referencing
The reference value for a command prize is a value placeholder, which replaces
${value} in the command and is required when ${value} is used (otherwise is
not allowed). Commands can also be defined inline using an object.
prizes = [
["<command-prize-id>"] //no ${value}
["<command-prize-id>", "<value>"]
{
command = ...
}
]
If only the command needs to be specified, prefer using an inline reference
instead of defining a new prize.
prizes = [
["/<command>"]
]
Examples
Greets the user with a friendly message.
greet = {
name = "Greet"
lore = ["\"Greets the user\""]
command = "/say Hello, ${user}"
}
prizes = [
["greet"]
]
Displays a /me action executed by the player
me = {
name = "Me"
lore = ["* ${value}"]
command = {
command = "/me ${value}"
source = "player"
}
}
prizes = [
["me", "rolls nat 20"]
]
Says a message from the server.
By
v0.1.0, crates and rewards will have built-in broadcasts/messages which should be preferred over using commands.
prizes = [
["/say The Server Speaks!"]
]
ItemPrize
A prize which gives an item when given. If the item node is present, the prize
is matched to this type.
<id> = {
//name, lore, icon
item = {
type = "<item-type>"
name = "name"
lore = ["line1", "line2", ...]
enchantments = [
["<enchantment-type>", <level>]
...
]
nbt = {
<data>
}
}
}
If only the type needs to be specified, prefer setting it directly which will
use the default values for the other properties.
<id> = {
//name, lore, icon
item = "<item-type>"
}
If name/lore/icon are also unspecified, prefer using an inline
reference instead of defining a new prize.
Properties
| Name | Type | Description | Default |
|---|---|---|---|
name | Text | The prize name, inherited from Component | This prize’s capitalized id, or the item’s name for simple items |
lore | List | The prize lore, inherited from Component | An empty list |
icon | Item | The prize icon, inherited from Component | The item with the above name/lore if not specified |
type | String | The item type, in the form <namespace>:<id> with an optional /<data> suffix | Required |
name | Text | The item name, which applies to the item given to the user | The item type (default item name) |
lore | List | The item lore, which applies to the item given to the user | An empty list |
enchantments | List<EnchantmentType, Integer> | The item enchantments, which is a list of ["<enchantment-type>", level] pairs | An empty list |
nbt | Object | The item nbt, which is arbitrary data (use with caution) | An empty map |
quantity | Integer | The reference value, which is the quantity of the item given | Required |
Referencing
The reference value for an item prize is the quantity, which is required.
Items can also be defined inline using an object.
prizes = [
["<item-prize-id>", <quantity>]
{
item = "item-type" | { ... }
quantity = <quantity>
}
]
If only the type and quantity need to be specified, prefer using an inline
reference instead of defining a new prize.
prizes = [
["<item-type>", <quantity>]
]
Examples
Gives an apple to the user. The prize itself also has a custom display name and lore, which is used in text/menus but does not apply to the item given.
apple = {
name = "&cApple"
lore = ["&7An apple a day keeps the doctor away"]
item = "minecraft:apple"
}
prizes = [
["apple", 1]
]
Gives the player a powerful sword.
monado = {
item = {
type = "minecraft:diamond_sword"
name = "&bMonado"
lore = ["&f\"Today, we use our power to fell a god...\""]
enchantments = [
["minecraft:sharpness", 10]
["minecraft:fortune", 1]
]
}
}
prizes = [
["monado", 1]
]
Just a normal cookie.
prizes = [
["minecaft:cookie", 3]
]
MoneyPrize
A prize which gives an amount of a currency when given, naturally requiring an
economy plugin. If the money node is present, the prize is matched to this
type.
<id> = {
//name, lore, icon
money = {
currency = "<currency-type>"
}
}
If only the currency needs to be specified, prefer setting it directly which
will use the default values for the other properties.
<id> = {
//name, lore, icon
money = "<currency-type>"
}
If name/lore/icon are also unspecified, prefer using an inline
reference instead of defining a new prize.
Properties
| Name | Type | Description | Default |
| – | — | — | — |
| name | Text | The prize name, inherited from Component | The currency’s format |
| lore | List | The prize lore, inherited from Component | An empty list |
| icon | Item | The prize icon, inherited from Component | A sunflower with the above name/lore if not specified |
| |
| currency | String | The currency type, in the form <namespace>:<id> | Required |
| |
| amount | Integer/Decimal | The reference value, which is the amount of money given | Required |
Referencing
The reference value for a money prize is the quantity, which is required.
Currencies can also be defined inline using an object.
prizes = [
["<money-prize-id>", <amount>]
{
money = "currency-type" | { ... }
amount = <quantity>
}
]
If only the currency and quantity need to be specified, prefer using an
inline reference instead of defining a new prize.
prizes = [
["$", <quantity>] //default currency
["$<currency-type>", <quantity>]
]
Examples
Gives a number of tokens to the user. This requires an appropriate currency to be defined with the server’s economy plugin.
tokens = {
name = "&eTokens"
lore = ["&6Usable in the Arcade!"]
money = {
currency = "<economy-plugin>:tokens" //varies by plugin
}
}
prizes = [
["tokens", 100]
]
Gives the player an amount of money using the default currency.
prizes = [
["$", 250.0]
]