
What ships by default
Nine kits are declared inconfig.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./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
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
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
config.yml.
World and region rules
Uselocations.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.