> For the complete documentation index, see [llms.txt](https://obey.gitbook.io/wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://obey.gitbook.io/wiki/kits/placeholders.md).

# Placeholders

PlaceholderAPI placeholders available in CrownKits.

CrownKits integrates with [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) and provides placeholders for player kit cooldowns, status, and player settings.

***

## General Placeholders

| Placeholder                      | Description                                                        | Example Output |
| -------------------------------- | ------------------------------------------------------------------ | -------------- |
| `%crownkits_respawn_kit_toggle%` | Returns the player's respawn kit toggle state (`true` or `false`). | `true`         |

***

## Kit Cooldown & Status Placeholders

Replace `<kit>` with the name of any configured kit (e.g. `%crownkits_cooldown_starter%` or `%crownkits_cooldown_pvp%`). Kit names are case-insensitive.

| Placeholder                                | Return Type | Description                                                                                                                                                       | Example Output                                              |
| ------------------------------------------ | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- |
| `%crownkits_cooldown_<kit>%`               | String      | Returns the formatted remaining cooldown, or the ready status message (`kit-status-ready`) if not on cooldown or if the player has `bypass.cooldowns` permission. | `15m 30s` / `#7dff7dʀᴇᴀᴅʏ`                                  |
| `%crownkits_cooldown_seconds_<kit>%`       | Integer     | Returns the remaining cooldown in whole seconds (`0` when ready).                                                                                                 | `930` / `0`                                                 |
| `%crownkits_cooldown_total_<kit>%`         | String      | Returns the total configured cooldown duration for the player (based on their highest permission tier), formatted according to `cooldown-format`.                 | `30m 00s`                                                   |
| `%crownkits_cooldown_total_seconds_<kit>%` | Integer     | Returns the player's total configured cooldown in whole seconds.                                                                                                  | `1800`                                                      |
| `%crownkits_is_on_cooldown_<kit>%`         | Boolean     | Returns `true` if the kit is currently on cooldown for the player, otherwise `false`.                                                                             | `true` / `false`                                            |
| `%crownkits_can_claim_<kit>%`              | Boolean     | Returns `true` if the player has permission and the kit is ready to claim; otherwise `false`.                                                                     | `true` / `false`                                            |
| `%crownkits_has_permission_<kit>%`         | Boolean     | Returns `true` if the player has permission for the kit; otherwise `false`.                                                                                       | `true` / `false`                                            |
| `%crownkits_status_<kit>%`                 | String      | Returns the translated status text: ready, cooldown, or no-permission (from `messages.yml`).                                                                      | `#7dff7dʀᴇᴀᴅʏ` / `#ff7d7dᴄᴏᴏʟᴅᴏᴡɴ` / `#ff7d7dɴᴏ ᴘᴇʀᴍɪꜱꜱɪᴏɴ` |

***

## Internal Message Placeholders

In `messages.yml` and `config.yml`, the following contextual tags are automatically resolved when messages are sent to players or displayed in GUIs:

| Tag                       | Context           | Description                                              |
| ------------------------- | ----------------- | -------------------------------------------------------- |
| `%kit%`                   | Kit actions       | Name or display name of the kit.                         |
| `%displayname%`           | Titles / Shulkers | Display name of the kit.                                 |
| `%remain%` / `%cooldown%` | Cooldowns         | Remaining time formatted according to `cooldown-format`. |
| `%price%`                 | Purchase          | Off-cooldown purchase price formatted as currency.       |
| `%missing%`               | Purchase          | Insufficient funds amount.                               |
| `%player%`                | Admin / Vouchers  | Target player name.                                      |
| `%status%`                | GUI lore          | Ready, cooldown, or no-permission status indicator.      |
| `%description%`           | GUI lore          | Injects lines from `kit-description-<kitName>`.          |
| `%type%`, `%input%`       | Kit Editor        | Editor property name and new value.                      |
