Skip to main content
Kits Crates Plus wiki

Wiki

Kits Crates Plus Wiki

Public setup, commands, permissions, kit/crate authoring, previews, placed blocks, and troubleshooting for Kits Crates Plus.

Getting Started

Files, Config, Messages, and Generated Data

Understand which files own runtime settings, chat output, per-kit menu data, and actual kit or crate logic.

Kits Crates Plus is much easier to run if you treat the file set as separate lanes instead of one big YAML pile.

Core files and what they own

config.yml

Use this for the plugin-wide runtime:

  • engine limits like engine.maxDepth
  • text formatting mode
  • example bootstrap policy
  • first-join kit behavior
  • crate reveal defaults
  • crate preview defaults
  • placed-crate block behavior
  • /kits menu layout and theme selection

messages.yml

Use this for the global chat layer:

  • the Kits+ prefix
  • prefix hover text and click URL
  • default kit and crate messages
  • prompt copy
  • GUI feedback copy

This is where the normal default kit receive message lives.

data/kit-menu.yml

Use this for per-kit presentation and per-kit overrides:

  • custom /kits display name
  • custom /kits description
  • custom /kits icon
  • per-kit crate reveal override when a kit is opened as a crate
  • per-kit receive-message settings
  • per-kit receive-message prefix toggle

That means this file now matters for more than just the /kits menu.

theme-packs.yml

Use this for reusable /kits menu themes that can be applied through /kcp.

kits/*.yml

Each file is a real kit definition.

This is where the actual reward logic lives for kits:

  • inventory kits
  • container kits
  • cooldown
  • one-time state
  • permission
  • item layout or reward pool

crates/*.yml

Each file is a real crate definition.

This is where the actual reward logic lives for crates:

  • tier
  • permission
  • root reward pool
  • crate-specific animation settings

Files you should edit for different goals

I want to change who can use a kit

Change the kit file in kits/*.yml or the permission through the kit settings GUI.

I want to change who can use a crate

Change the crate file in crates/*.yml or the permission through the crate settings GUI.

I want to change the default text every player sees

Edit messages.yml.

I want one specific kit to send a different message

Use the Kit Settings -> Receive Message flow, which stores the override in data/kit-menu.yml.

I want to change how kits look in /kits

Use data/kit-menu.yml and the /kcp menu theme path.

Important generated-data behavior

Example content does not have to keep respawning

The plugin supports a one-time bootstrap flow so deleted examples can stay deleted.

MiniMessage fallback is configurable

config.yml controls whether MiniMessage formatting is enabled globally or whether the plugin should strip MiniMessage tags and fall back to legacy color behavior.

First-join kits are global runtime, not per-file magic

firstJoinKit.* in config.yml controls whether one kit is auto-granted to new players.

Good next pages