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

# Custom Placeholders

Placeholders you can create your self

> Symbol `{}`

### Simple

```yaml
# {message} will return &8&l[&f&lServer&8&l]&a
message: "&8&l[&f&lServer&8&l]&a"
error_colour: "&7"
```

### Conditional

Create your own custom placeholders that can change depending on a condition.

> Format : `[Condition]:[Value]`

<details>

<summary>Match</summary>

`MATCH:[Value]`

```yaml
condition: "MATCH:<server>"
  options:
    Default: "&f&l<server>"
    TestingServer: '&e&lTest Server'
```

A match condition can be used to match options to a value. The first option to match the value in the list will be returned. If no options match the `Default` the value will be returned.

</details>

<details>

<summary>Permission</summary>

`[PERMISSION]:[Permission]`

```yaml
condition: "PERMISSION:leaf.rank.?"
  options:
    Default: "&f"
    admin: "&a"
```

A permission condition can be used to match permissions when in the context of a user.

The option key will be replaced by the `?` and checked against the player. If the player does not have any of the permissions, it will return the Default value.

{% code title="Example" overflow="wrap" %}

```
If the player has the permission leaf.rank.admin it will return &a
```

{% endcode %}

</details>
