> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sentrystudios.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration & Formatting

> Best practices for editing configuration files, applying colors, and using modern typography.

A major part of managing any modern Minecraft server is editing `.yml` configurations to perfectly match your server's aesthetic. All Sentry Studios resources—as well as most modern plugins across the ecosystem—utilize standardized formatting parsers.

This guide covers everything you need to know to prevent configuration errors and create stunning visual layouts.

***

## YAML Best Practices

Configurations are entirely written in YAML (`.yml`). YAML is extremely sensitive to formatting. A single misplaced character can prevent a plugin from loading entirely.

<CardGroup cols={2}>
  <Card title="Use Spaces, Not Tabs" icon="keyboard" iconType="duotone">
    YAML strictly forbids the use of tabs for indentation. Always use the `Spacebar` (typically 2 spaces per indentation level).
  </Card>

  <Card title="Quote Your Strings" icon="quote-left" iconType="duotone">
    If your text contains special characters (like `:`, `'`, `"`, or `&`), wrap the entire message in quotes. Example: `message: "&cError: Invalid!"`
  </Card>
</CardGroup>

<Tip>
  If your server console shows a "YAML Parsing Error," run your configuration file through a [YAML Validator](https://yamlchecker.com/) to easily spot the missing space or unclosed quote.
</Tip>

***

## Colors & Gradients

Our plugins natively support modern color parsers. You aren't limited to the standard 16 Minecraft legacy colors; you can utilize the entire RGB spectrum.

<Tabs>
  <Tab title="Legacy Color Codes">
    Standard Minecraft color codes are fully supported using the `&` symbol.

    ```yaml theme={null}
    prefix: "&8[&bSentry&8]"
    message: "&cYou do not have permission!"
    ```
  </Tab>

  <Tab title="Hex Colors">
    For precision branding, use standard 6-character Hex codes prefixed with `&#`.

    ```yaml theme={null}
    message: "&#FF5555This is a custom red!"
    title: "&#00AAFFSentry Studios"
    ```
  </Tab>

  <Tab title="Modern Gradients">
    Many resources support gradient generation to smoothly transition text from one color to another. This is often done using MiniMessage formats like `<gradient:#ff0000:#00ff00>Text</gradient>`.
  </Tab>
</Tabs>

***

## Typography & Small Caps

A massive trend in modern server design is the use of custom typography to make graphical interfaces and chat messages feel "premium."

One of the most popular methods is utilizing **Small Caps**. Since Minecraft doesn't have a native Small Caps font, this is achieved by replacing standard characters with specialized unicode characters (e.g., converting `STORE` into `sᴛᴏʀᴇ`).

<Steps>
  <Step title="Using Small Caps">
    While some plugins have built-in tags for this, the most universally compatible method across *all* plugins is to generate the text using an online text converter and paste it directly into your `.yml` file.
  </Step>

  <Step title="Clean UI Design">
    We highly recommend using Small Caps for GUI titles, item lore headers, and scoreboard titles to give your server a clean, modern aesthetic without clutter.
  </Step>

  <Step title="Unicode Compatibility">
    Ensure your server software is configured to support UTF-8 encoding. If your small caps show up as weird question marks (`?`) in-game, you need to add `-Dfile.encoding=UTF-8` to your server startup script flags.
  </Step>
</Steps>

***

## Dynamic Placeholders

Whenever you want to display changing data—like a player's balance, their latency, or their rank—you use a **Placeholder**.

Almost all modern plugins, including ours, hook into [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) (PAPI).

* Placeholders are always wrapped in `%` symbols (e.g., `%player_name%` or `%vault_eco_balance%`).
* Before a placeholder will work, you must download its respective expansion. For example, to use a Sentry stat placeholder, you might run `/papi ecloud download Sentry` and then `/papi reload`.
* **Troubleshooting:** If a placeholder shows up exactly as you typed it in-game (e.g., literally prints `%player_name%` in chat), it means the expansion is missing, not installed properly, or PAPI hasn't been reloaded.
