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

# Placeholders

PlaceholderAPI is required. The expansion identifier is `infinityrifts`, persists across PlaceholderAPI reloads, and returns strings synchronously from the in-memory legacy `RiftManager`.

| Syntax                           | Output                          | When no legacy rift exists |
| -------------------------------- | ------------------------------- | -------------------------- |
| `%infinityrifts_active_tier%`    | Configured gateway display name | `None`                     |
| `%infinityrifts_tier%`           | Alias of `active_tier`          | `None`                     |
| `%infinityrifts_mobs_remaining%` | Decimal mob count               | `0`                        |
| `%infinityrifts_current_wave%`   | Decimal wave number             | `0`                        |
| `%infinityrifts_in_rift%`        | `true` or `false`               | `false`                    |

A null player or unknown parameter returns an empty string. No arguments are accepted and no cache/refresh interval is implemented; values are read on each request.

The current command/key/random-gateway implementation primarily uses `GatewayManager`, while this expansion uses `RiftManager`. As a result, placeholders can remain at their fallback values during a normal gateway session. This is an implementation limitation, not a PlaceholderAPI configuration problem.

These are distinct from configuration text replacements such as boss-bar `<wave-time>`, reward `%player%`, or announcement `{world}`; those are processed internally and are not PlaceholderAPI expressions.
