Kits (rpg-kits)¶
Status: Working — YAML-driven starter and reward kits with one-time or cooldown claim modes, RPG/vanilla item support, and DataStore-backed claim state.
Kit YAML¶
Files under plugins/rpg-kits/kits/<file>.yml. Each top-level key is a kit:
starter:
DisplayName: "&aStarter Kit"
Description:
- "&7Everything a new adventurer needs."
- "&8One-time only."
Items:
- { Item: iron_sword, Amount: 1 }
- { Item: bread, Amount: 16 }
OneTime: true
Cooldown: 0 # ignored when OneTime: true
daily:
DisplayName: "&6Daily Rations"
Description:
- "&7A small daily food supply."
Items:
- { Item: cooked_beef, Amount: 8 }
- { Item: golden_apple, Amount: 1 }
OneTime: false
Cooldown: 86400 # 24 hours in seconds
Permission: "rpg.kit.daily" # optional; anyone with rpg.kits.use if omitted
Item IDs: can be any RPG custom item ID (looked up via RpgServices.items()) or a vanilla Minecraft material name (e.g. diamond_sword, oak_log). Unresolvable IDs are skipped with a warning.
Claim modes¶
| Field | Behaviour |
|---|---|
OneTime: true |
Player may claim once, ever. Resets require /kitreset. |
OneTime: false + Cooldown: N |
Player may claim every N seconds. Tracked per-player. |
OneTime: false + Cooldown: 0 |
Claimable any number of times with no limit. |
Commands¶
| Command | Permission | Description |
|---|---|---|
/kit |
rpg.kits.use |
List available kits (shows claim status / cooldown) |
/kit <name> |
rpg.kits.use |
Claim a kit |
/givenkit <player> <kit> |
rpg.kits.admin |
Force-give a kit, bypassing claim checks |
/kitreset <player> [kit] |
rpg.kits.admin |
Clear claim history for one kit or all kits |
Permissions¶
| Node | Default | Description |
|---|---|---|
rpg.kits.use |
true |
Claim kits via /kit |
rpg.kits.admin |
op |
/givenkit, /kitreset |
rpg.kits.reload |
op |
Reload kit files |
| (kit-specific) | — | Optional per-kit permission node set via Permission: in YAML |
Storage¶
Claim state is stored in DataStore repository kit_claims, keyed by player UUID. Each entry holds:
- claimed — list of one-time claimed kit IDs.
- cooldowns — map of kit ID → next-available epoch-ms (for cooldown kits).