
Wiki
Kits Crates Plus Wiki
Public setup, commands, permissions, kit/crate authoring, previews, placed blocks, and troubleshooting for Kits Crates Plus.
Getting Started
Start here for install, generated files, commands, and the permission rules that decide whether the plugin actually works for players.
Reward Design
Use the shared reward engine intentionally instead of treating kits and crates like disconnected systems.
Runtime and Support
Check the real reasons a reward system looks broken on live servers before you blame the whole plugin.
This page covers the kit side of the plugin: building kits, controlling how they look in /kits, and deciding what players see when they receive one.
Main kit lanes
Claim a kit
/kit <id>Admin give a kit
/kit <id> <player|all>Open the player-side menu
/kits
/kit menuCreate or edit kits
/kit create <id> [inventory|CONTAINER]
/kit edit <id>Inventory kits versus container kits
Inventory kits
Use these when exact slots matter.
You can snapshot or edit:
- main inventory
- hotbar
- armor
- offhand
- container tokens placed into inventory slots
Container kits
Use these when the kit should behave like a reward pool instead of a fixed loadout.
This is the right lane for:
- weighted bonuses
- nested containers inside a kit
- command and effect rewards mixed with items
What the Kit Settings menu controls
The Kit Settings menu is the real control panel for a kit.
It currently covers:
- cooldown
- permission
- one-time claim
- first-join auto-grant
- preview override for kit-as-crate preview flows
- display name
- description
- menu icon
- receive message
/kits menu presentation
The /kits menu is not just a static list.
It can be themed and customized through:
data/kit-menu.ymltheme-packs.yml/kcp
Per-kit menu presentation includes:
- custom display name
- custom description
- custom icon
- crate reveal override when that kit is opened as a crate
First-join kits
The plugin supports a global first-join auto-kit.
Config lane:
config.yml -> firstJoinKit.*Main fields:
firstJoinKit.enabledfirstJoinKit.kitIdfirstJoinKit.delayTicks
This can also be controlled from the kit settings flow when you want one kit to become the first-join grant.
Per-kit receive messages
Kits now support a per-kit receive-message override.
That means one kit can:
- use the default Kits+ receive message
- use a custom receive message
- send no receive message at all
- keep or remove the Kits+ prefix separately
This is especially useful for starter kits and onboarding kits where the default message may be too noisy.
Where to change it
Open:
/kit edit <id>
-> Kit Settings
-> Receive MessageWhat can be changed
- message enabled or disabled
- prefix enabled or disabled
- custom message body
- reset back to the default global message
Formatting support
Custom receive messages support:
- MiniMessage
- legacy
&color codes - placeholders like
%id%,%kit_name%,%player%, and%uuid%
The default global receive message still lives in messages.yml, but one kit can override it cleanly through data/kit-menu.yml.
Good production pattern
A clean live setup often looks like this:
starterkit as first-join auto-grant/kitsmenu for timed rank kits- one-time kits for onboarding or migration rewards
- custom receive message disabled or softened for the starter kit
- louder branded message kept for rarer or more important kits

