Skip to main content
The public kits menu

What ships by default

Nine kits are declared in config.yml: crystal, mace, netherite, pot, uhc, sword, axe, ffa and cart. They are declared, not filled. A declared kit with no contents shows in the menu with a red [UNASSIGNED] tag. Fill them all at once:
A kit whose icon material does not exist on the server is skipped entirely rather than shown empty. The mace kit is hidden when the server API has no MACE material.
On an existing install, /perplayerkit autosetup add-kits adds missing starter definitions and fills unsaved content. Custom entries are preserved. The menu uses pages when more than 27 kits are declared.

Add a public kit

1

Add the entry to config.yml

config.yml
The key (gapple) is the kit id. Commands take the id, not the display name: /savepublickit gapple, never "Gapple Fight".
2

Restart the server

Contents cannot be saved until the kit exists in the config.
3

Hold exactly what the kit should contain

Armor slots and off-hand included. The kit is a .
4

Save it

Requires perplayerkit.admin. In /publickit, an admin can also shift-click a kit to open its editor.
5

Check it

Run /publickit and load the kit.

The two config fields

Load a public kit

/pk and /premadekit open the same menu. Clicking a kit replaces the player’s inventory. An unassigned kit cannot load. Rekit-on-kill references to missing contents log a warning and fall back to the remembered kit.

Restrict who can use them

perplayerkit.publickit controls access; perplayerkit.use includes it. To hide public kits from a group without touching its other kit permissions:

What else uses public kits

Copy public kits to another server

The export holds every public kit and its config entry; importing adds the missing entries to the other server’s config.yml.

World and region rules

Use locations.public-kits to choose where this feature works. This controls manual browsing and loading. Automatic rekit has separate feature rules. See Worlds and regions for configuration and troubleshooting.