STYGION Documentation Search the docs

Kits

A starter kit on the first join and /kit with a wait between two — daily for everybody, bigger ones for ranks. New in 0.2.4, off by default.

Keystone 0.1.2 Updated 2 min read
On this page 4 parts
  1. What players do
  2. Writing kits
  3. Permissions
  4. In the editor and over the API

The kits module, kits.toml. Off until you turn it on (enabled = true in kits.toml, or the Settings screen; a restart applies it) — free items change how a server plays.

What players do

#
  • /kit lists the kits they may take and when each is ready again; /kit <name> takes one. Tab offers only theirs.
  • A kit marked first-join arrives by itself on somebody's very first join.
  • The wait is kept per account in the database: leaving and joining, a reload or a restart gives nobody a second kit. It is written down before the items are handed over, so a kit that fails halfway is one kit too few, never one too many.
  • A kit that is not theirs reads exactly like one that does not exist.

Writing kits

#

Three lists:

Code
kits = ["starter once first-join", "daily 24h", "vip 24h groups=vip", "legend 24h groups=legend"]
items = [
  "starter minecraft:stone_sword",
  "starter minecraft:bread 16",
  "daily minecraft:bread 8",
  "vip minecraft:diamond_sword[enchantments={levels:{'minecraft:sharpness':3}}] 1",
]
commands = ["legend crate give {player} 1"]
  • kits — the name, how often (24h, 7d, or once), then optionally first-join and groups=a,b: who may take it besides holding keystone.kit.<name>. Inherited groups count, so a rank that inherits vip gets the VIP kit too.
  • items — the kit, then the item as /give takes it: its id, components in brackets (enchantments, a name, anything a mod adds), how many. The game itself checks the line; one it refuses is said in the server log and the rest still arrive. A full inventory drops the rest at their feet, as /give does.
  • commands — the kit, then a command the console runs, with {player} and {uuid}. For money, a rank for a week, a crate key. {player} is the account's id whenever the name is not a plain one, so a name can never smuggle in a selector such as @a.

Permissions

#
  • keystone.kit — the command (the default group has it from the first start).
  • keystone.kit.<name> — one kit, unless its groups= already lets them.
  • keystone.kit.give — /keystone kits give <player> <kit>: hand a kit over now, whatever its wait, without starting one.

In the editor and over the API

#

The Kits screen shows every kit, how often, for whom and what it holds, with links to the three settings. GET /v1/kits (server.read) answers the same.

Did this page help?

Opens the feedback panel with this page attached. It lands in the same queue as everything else.