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

# Placeholders

These placeholders are substituted in GUI item names, lore, materials, glow and requirements. They are rendered per-player every time a menu opens.

### Player & state

| Placeholder | Description                                      |
| ----------- | ------------------------------------------------ |
| `{player}`  | Player name                                      |
| `{uuid}`    | Player UUID                                      |
| `{active}`  | `true`/`false` — whether their fighter is active |

### Time

| Placeholder      | Description                                                       |
| ---------------- | ----------------------------------------------------------------- |
| `{time_balance}` | Formatted Time Balance (or the `text.time-none` label when empty) |
| `{daily_limit}`  | Formatted daily limit (including upgrade levels)                  |
| `{daily_reset}`  | Formatted time until the daily usage resets                       |

### Target

| Placeholder         | Description                                                                    |
| ------------------- | ------------------------------------------------------------------------------ |
| `{target_unlocked}` | `true`/`false` — whether the Target upgrade is owned                           |
| `{target_mode}`     | Display name of the current target mode                                        |
| `{target_list}`     | Multi-line list of all modes, formatted with `list-selected`/`list-unselected` |

### Upgrades

| Placeholder      | Description                                           |
| ---------------- | ----------------------------------------------------- |
| `{speed_level}`  | Current Speed upgrade level                           |
| `{speed_max}`    | Max Speed level                                       |
| `{speed_cost}`   | Next Speed level cost (or `text.cost-max` when maxed) |
| `{daily_level}`  | Current Daily Limit upgrade level                     |
| `{daily_max}`    | Max Daily Limit level                                 |
| `{daily_cost}`   | Next Daily Limit cost (or `text.cost-max` when maxed) |
| `{target_level}` | Current Target upgrade level                          |
| `{target_max}`   | Max Target level                                      |
| `{target_cost}`  | Target unlock cost (or `text.cost-max` when maxed)    |
| `{currency}`     | Display name of the configured EdDungeons currency    |

{% hint style="info" %}
Chat messages in `messages.yml` additionally support **PlaceholderAPI** placeholders and their own per-message placeholders — see [Messages](/p/edautofighter/essential/messages.md).
{% endhint %}

### Duration format

All time values are rendered with the `text.duration` unit labels from `config.yml`, e.g. `5h 34m`, `1m 5s`, or `0s` for zero.

## PlaceholderAPI

If **PlaceholderAPI** is installed, the plugin registers the `edautofighter` expansion automatically — no `/papi ecloud download` needed. Use these anywhere PAPI works (scoreboards, holograms, chat, other plugins' menus). The names mirror the GUI placeholders above, so the same value is shown in both.

Every time placeholder also has a `_seconds` variant that returns the raw number of seconds (e.g. `%edautofighter_time_balance_seconds%`), useful for other plugins' conditions and math.

| Placeholder                       | Description                                                       |
| --------------------------------- | ----------------------------------------------------------------- |
| `%edautofighter_active%`          | `true`/`false` — whether the player's fighter is active           |
| `%edautofighter_time_balance%`    | Formatted Time Balance (or the `text.time-none` label when empty) |
| `%edautofighter_daily_limit%`     | Formatted daily limit (including upgrade levels)                  |
| `%edautofighter_daily_used%`      | Formatted time used inside the current daily window               |
| `%edautofighter_daily_remaining%` | Formatted time left in the current daily window                   |
| `%edautofighter_daily_reset%`     | Formatted time until the daily usage resets                       |
| `%edautofighter_speed_level%`     | Current Speed upgrade level                                       |
| `%edautofighter_speed_max%`       | Max Speed level                                                   |
| `%edautofighter_speed_cost%`      | Next Speed level cost (or `text.cost-max` when maxed)             |
| `%edautofighter_daily_level%`     | Current Daily Limit upgrade level                                 |
| `%edautofighter_daily_max%`       | Max Daily Limit level                                             |
| `%edautofighter_daily_cost%`      | Next Daily Limit cost (or `text.cost-max` when maxed)             |
| `%edautofighter_target_level%`    | Current Target upgrade level                                      |
| `%edautofighter_target_max%`      | Max Target level                                                  |
| `%edautofighter_target_cost%`     | Target unlock cost (or `text.cost-max` when maxed)                |
| `%edautofighter_target_unlocked%` | `true`/`false` — whether the Target upgrade is owned              |
| `%edautofighter_target_mode%`     | Display name of the current target mode                           |

Values come from the cached player data, so they are safe to use on scoreboards that refresh every tick. Players whose data has not loaded yet resolve to the same defaults the GUI shows (zero time, level 0, default target mode).
