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

# Configuration

Jails and Jails+ config.yml keys, grouped by the job they do.

Files live in `plugins/Jails/` or `plugins/JailsPlus/`. Edit `config.yml`, then run `/jails reload`. Jails+ writes punishment history to `jail_history.yml`, storing the 50 most recent records per player.

Restriction keys use `false` to block an action and `true` to allow it, except `mute-vc`, which is `true` to mute.

## Messages and language

| Key                  | Editions | Default                    | What it does                                                                                                                            |
| -------------------- | -------- | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `prefix`             | Both     | `[Jails]` or `[JailsPlus]` | Text before plugin messages. Use Minecraft color codes.                                                                                 |
| `language`           | Both     | `en`                       | Language file under `lang/`. Built-in values: `en`, `es`, `ru`, `fr`, `de`, `pt`, `pl`. Jails+ also loads a custom file if you add one. |
| `check-updates`      | Both     | `true`                     | Check for a new version on startup.                                                                                                     |
| `enable-jailed-role` | Both     | `true`                     | Add a tag next to a jailed player's chat name.                                                                                          |
| `jailed-role`        | Both     | a red `[Jailed]` tag       | The chat tag text.                                                                                                                      |

## Broadcasts and confirmations

| Key                           | Editions | Default | What it does                             |
| ----------------------------- | -------- | ------- | ---------------------------------------- |
| `general.broadcast-on-jail`   | Both     | `true`  | Broadcast when a player is jailed.       |
| `general.broadcast-on-unjail` | Both     | `true`  | Broadcast when a player is released.     |
| `general.broadcast-on-escape` | Plus     | `true`  | Broadcast when a prisoner leaves a flag. |
| `general.broadcast-on-bail`   | Plus     | `false` | Broadcast when someone pays bail.        |
| `general.unjail-confirmation` | Both     | `true`  | Ask staff to confirm `/jails unjail`.    |

In Jails+, staff can pass `-s` to `/jails jail`, `/jails tempjail`, `/jails ipjail`, or `/jails unjail` to suppress that specific broadcast without changing these settings.

## Prisoner rules

These sit under `jail-restrictions`.

| Key              | Editions | Default | What it does                     |
| ---------------- | -------- | ------- | -------------------------------- |
| `block-break`    | Both     | `false` | Allow block break.               |
| `block-place`    | Both     | `false` | Allow block place.               |
| `attack`         | Both     | `false` | Allow attacks.                   |
| `vehicle-ride`   | Both     | `false` | Allow boats and minecarts.       |
| `entity-ride`    | Both     | `false` | Allow horses and similar mounts. |
| `block-mount`    | Both     | `false` | Allow sitting on blocks.         |
| `ender-pearl`    | Both     | `false` | Allow ender pearls.              |
| `items`          | Plus     | `false` | Allow item use.                  |
| `allow-movement` | Both     | `true`  | Allow walking.                   |
| `chat`           | Free     | `false` | Allow chat.                      |
| `allow-chat`     | Plus     | `false` | Allow chat.                      |
| `mute-vc`        | Plus     | `false` | Mute Simple Voice Chat.          |

The plugin does not block chorus fruit.

## Blocked commands

Free Jails uses a single list under `blocked-commands`. The default list is `tpa`, `home`, `spawn`, `team`, `rtp`, `tpr`, and `warp`.

Jails+ has two modes under `blocked-commands`:

* `block-all-commands: false` uses `manual-list` as a blacklist. That is the default, with the same commands as free.
* `block-all-commands: true` blocks every command except `allowed-commands`.

Jails+ also cancels plugin teleports that would take a prisoner out of the jail. Free Jails does not.

## Handcuffs

Under `handcuff-settings` in both editions:

| Key                     | Default | What it does                                                                       |
| ----------------------- | ------- | ---------------------------------------------------------------------------------- |
| `slow-movement`         | `true`  | Lower walk speed.                                                                  |
| `handcuff-speed`        | `0.05`  | Walk speed while cuffed. Vanilla walk speed is `0.1`. Do not set this above `0.1`. |
| `blindness`             | `true`  | Apply darkness.                                                                    |
| `disable-items`         | `true`  | Block item use.                                                                    |
| `disable-block-place`   | `true`  | Block placing.                                                                     |
| `disable-block-break`   | `true`  | Block breaking.                                                                    |
| `disable-pvp`           | `true`  | Block attacks.                                                                     |
| `broadcast-on-handcuff` | `true`  | Broadcast the handcuff.                                                            |

## Escape, time, and inventory (Jails+)

| Key                                    | Default       | What it does                                                                                    |
| -------------------------------------- | ------------- | ----------------------------------------------------------------------------------------------- |
| `jail-settings.punish-on-escape`       | `true`        | Punish a prisoner who leaves every flag.                                                        |
| `jail-settings.escape-punishment`      | `KILL`        | `KILL`, `TELEPORT_BACK`, `BAN`, or `UNJAIL`.                                                    |
| `jail-settings.ban-duration`           | `1d`          | Ban length when the punishment is `BAN`.                                                        |
| `jail-settings.count-offline`          | `true`        | Keep counting time while the player is offline. Set `false` to pause the timer on quit.         |
| `jail-settings.afk-prevention.enabled` | `true`        | Show an AFK check when `count-offline` is `false`.                                              |
| `jail-settings.keep-inventory`         | `false`       | Keep the player's items. If `false`, the plugin stores the inventory and can give `jail-items`. |
| `jail-settings.change-skin`            | `true`        | Change the skin through SkinsRestorer.                                                          |
| `general.def-bail-amount`              | `10000`       | Default bail amount. Vault takes the money.                                                     |
| `general.wand-tool`                    | `golden_hoe`  | Flag selection wand.                                                                            |
| `general.teleport-when-unjailed`       | `true`        | Teleport the player on release.                                                                 |
| `general.default-unjail-location.type` | `WORLD_SPAWN` | `WORLD_SPAWN`, `ORIGINAL_LOCATION`, or `CUSTOM`.                                                |

`command-hooks` under `jail-command-hooks` and `unjail-command-hooks` run as console. Use `%player%` for the name.

Discord settings live in `discord.yml`. The integration is a Discord bot, not a webhook. Put the bot token in that file.

{% hint style="warning" %}
`general.bail_command` and `general.refund_command` are unused. Bail goes through Vault.
{% endhint %}
