> For the complete documentation index, see [llms.txt](https://docs.spoof.dev/asteroid/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.spoof.dev/asteroid/usage/placeholders.md).

# Placeholders

Asteroid has two kinds of placeholders: internal ones that work inside its own config, and PlaceholderAPI ones that other plugins can read.

## Internal placeholders

These work inside `config.yml` values, command lists, and the scheduler. Asteroid handles them itself.

| Placeholder       | Meaning                                          | Example                                            |
| ----------------- | ------------------------------------------------ | -------------------------------------------------- |
| `{random[x,y]}`   | A random whole number from x to y                | `{random[30,90]}` might give 30, 55, or 90         |
| `{random[x,y,z]}` | A random number from x to y, multiples of z only | `{random[100,1000,50]}` gives 100, 150, up to 1000 |
| `%player%`        | The fake player's name, inside command lists     | `eco give %player% 500`                            |

## PlaceholderAPI placeholders

These require the PlaceholderAPI plugin. Other plugins (tab list, scoreboard) can then display Asteroid values.

### Asteroid count placeholders

Provided by Asteroid's own expansion. They are deprecated and may be removed later, so avoid building anything critical on them. Enable them with `spoof.asteroidPlaceholders: true` and reload.

| Placeholder              | Shows                             |
| ------------------------ | --------------------------------- |
| `%asteroid_realplayers%` | The number of real players online |
| `%asteroid_fakeplayers%` | The number of fake players online |

### Network placeholders

When the proxy feature is enabled, fake players are counted in the proxy's global totals, so standard network placeholders reflect the combined real plus fake count, for example `%bungee_total%` and `%online_players%`. These come from your proxy and its placeholder setup; Asteroid just makes sure fakes are included.

## Testing placeholders

```
/asteroid papi check <placeholder>
/asteroid papi fix <placeholder>
```

Use `check` to see what a placeholder returns, and `fix` to try to repair one that is not resolving.
