EssentialsC / Kit Configuration

Kit Configuration

Define kits, claim rules, and item contents through kits.yml.

Overview

Kits are defined under the kits key in /plugins/EssentialsC/kits.yml. Each entry is loaded into a permission, a cooldown, a claim limit, and a list of items, then handed off to the kit GUI and the /kit command at the same time.

Changes to kits.yml are picked up with /kits reload. There's no need to restart the server.

A permission of the form essentialsc.kit.<name> is generated automatically for every kit. You don't need to declare it anywhere else.

Server Settings

These live in config.yml under kits and control the kit system itself rather than individual kits:

Key Description Default
kits.enabled Fully disables the kit system and unregisters /kit and /kits. Requires a restart. true
kits.mode How players browse kits: gui opens the kit inventory, command lists them in chat. gui
kits.sounds Play sounds when opening, claiming, turning pages, or closing the kit GUI. true
kits.strip-item-names Remove the custom item names set in kits.yml when a kit is claimed, so players receive vanilla-named items. GUI previews are not affected. true

Kit Options

These fields sit directly under each kit's name.

Field Type Default
display-name String, MiniMessage kit name
description String or list of strings, MiniMessage empty
cooldown Seconds 0 (none)
one-time Boolean false
first-join Boolean false
max-claims Integer 0 (unlimited)
network-sync Boolean false
gui-slot Integer -1 (auto)
gui-icon Material none
page Integer 1
items List empty

Claim Rules

one-time, max-claims, and cooldown are checked in that order, after the kit permission. A one-time kit is blocked once claimed, max-claims stops the kit once the limit is hit regardless of time, and only a remaining cooldown blocks a claim when both pass.

Players with essentialsc.kits.cooldown.bypass skip every cooldown. Grant essentialsc.kits.cooldown.bypass.<kit> instead to bypass a single kit's cooldown only.

Item Options

Each entry under items describes one stack a player receives on claim.

Field Type Default
type Material required
amount Integer 1
name String, MiniMessage material name
lore List of strings, MiniMessage empty
enchantments Map empty
unbreakable Boolean false
flags List of ItemFlag empty
custom-model-data Integer 0
nbt Map empty
potion-type PotionType potions only
amount is clamped to the material's max stack size on load. Asking for 99 arrows is fine, asking for 99 diamond swords gives one.

Example

A starter kit with a one-day cooldown and a ten claim cap.

kits.yml
kits:
  starter:
    display-name: "<#2791F5>Starter Kit"
    description: "Basic items"
    cooldown: 86400
    one-time: false
    first-join: true
    max-claims: 10
    gui-slot: 10
    gui-icon: "CHEST"
    items:
      - type: STONE_SWORD
        amount: 1
        name: "<b><#2791F5>Kit Starter"
        lore: []
        enchantments: {}
        unbreakable: false
        flags: []
        custom-model-data: 0
        nbt: {}

Permissions

Permission Grants
essentialsc.kit.<name> Claim that specific kit
essentialsc.kits.admin Claim every kit, reload kits.yml, use /kit debug
essentialsc.kits.cooldown.bypass Skip cooldowns on every kit
essentialsc.kits.cooldown.bypass.<name> Skip the cooldown on one kit
essentialsc.kit.notifications Toggle kit availability notifications

Commands

Command Description
/kit Opens the kit GUI, or lists kits in chat if GUI mode is off
/kit claim <kit> Claims a kit by name
/kit cooldown <kit> Shows remaining cooldown for a kit
/kit notifications Toggles kit availability notifications
/kit debug <kit> Admin only. Prints a kit's loaded configuration
/kits Lists all kits with claim status
/kits reload Admin only. Reloads kits.yml without a restart
/kits help Shows kit command help