> ## Documentation Index
> Fetch the complete documentation index at: https://perplayerkit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create and Manage Public Kits on Your PerPlayerKit Server

> Set up server-wide public kit presets that any player can load with /publickit. Configure icons, names, and control access with permissions.

Public kits are server-defined loadout presets that any eligible player can browse and load on demand — no kit-building required on their end. They are ideal for offering standardized competitive loadouts, new-player starter sets, or seasonal event kits. Unlike personal kits that each player creates themselves, public kits are authored by admins and shared across your entire player base through the `/publickit` command.

## Creating a Public Kit

<Steps>
  <Step title="Equip the items you want to save">
    Fill your inventory — including armor slots, off-hand, and hotbar — with exactly the items you want this public kit to contain. This snapshot of your current inventory becomes the kit.
  </Step>

  <Step title="Run /savepublickit">
    Execute the `/savepublickit` command. This requires the `perplayerkit.admin` permission. Your current inventory is immediately saved as a new public kit entry.
  </Step>

  <Step title="Confirm the kit was saved">
    You will receive a confirmation message and hear a success sound. The new kit is now available for all players with the `perplayerkit.publickit` permission to load via `/publickit`.
  </Step>
</Steps>

## Customizing Public Kit Names and Icons

After saving one or more public kits, customize how they appear in the selection GUI by editing the `publickits` block in `config.yml`. The `name` field sets the label players see, and `icon` sets the representative item displayed in the menu.

```yaml config.yml theme={null}
publickits:
  1:
    name: "Standard"
    icon: "DIAMOND_SWORD"
  2:
    name: "Crystal PvP"
    icon: "END_CRYSTAL"
```

Use any valid Bukkit material name in uppercase for the `icon` field. Reload or restart the plugin after saving the file to apply the changes.

<Note>
  Kit names are displayed in their default color in the GUI. To add custom colors or formatting — such as bold text or gradient effects — wrap the name value in **MiniMessage** tags, for example `"<gold><b>Crystal PvP</b></gold>"`. See the [MiniMessage documentation](https://docs.papermc.io/adventure/minimessage/) for the full syntax reference.
</Note>

## Loading a Public Kit as a Player

Players open the public kit selection menu by running:

```bash theme={null}
/publickit
```

This command also accepts the aliases `/pk` and `/premadekit` — all three open the same GUI showing all available server presets. Players simply click the kit they want to load, and their inventory is replaced with that loadout immediately.

<Tip>
  Players must have the `perplayerkit.publickit` permission to use the `/publickit` command. This permission is included in the `perplayerkit.use` parent permission, so any player with the standard use grant already has access. If you want to restrict public kits to a specific rank or group, assign `perplayerkit.publickit` directly rather than relying on the parent.
</Tip>

## Loading a Public Kit Programmatically

If you are building a custom plugin or integration, you can load public kits on behalf of a player through the PerPlayerKit developer API without requiring them to open the GUI manually. See the [API Usage guide](/api/usage) for details on available methods and setup.
