> For the complete documentation index, see [llms.txt](https://edseries-plugins.gitbook.io/p/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://edseries-plugins.gitbook.io/p/pinnablockselector/getting-started/configuration.md).

# Configuration

`plugins/PinnaBlockSelector/config.yml`. `/blockselector reload` reloads it, `messages.yml` and the block list (open selector menus are closed so they reopen with the new settings). The menus are PinnaPrison files: edit them and run `/pinnaprison reload`.

| Option                                     | Default                                                      | Meaning                                                                                                                     |
| ------------------------------------------ | ------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------- |
| `max-blocks`                               | `4`                                                          | how many blocks a player may choose (1-64); add more choice slots to the menu above 4                                       |
| `mine.selected-weight`                     | `100`                                                        | total weight the chosen blocks share                                                                                        |
| `mine.position-weights`                    | `[]`                                                         | split of that weight, block #1 first (`[]` = evenly); blocks past the list use its last value                               |
| `mine.extra-blocks`                        | `BEACON: 1`                                                  | blocks added to every custom mine with their weight (`block-types` keys)                                                    |
| `mine.regen-on-apply`                      | `true`                                                       | refill the mine right away after Apply (`false` = at the next reset)                                                        |
| `apply-cooldown`                           | `5`                                                          | seconds between two applies (0 = none)                                                                                      |
| `cooldown-bypass-permission`               | `pinnablockselector.bypass`                                  | skips the cooldown                                                                                                          |
| `unlock-permission`                        | `pinnablockselector.unlock`                                  | players with it have the Block Selector (`''` = off)                                                                        |
| `purchase.enabled`                         | `true`                                                       | the in-game purchase menu                                                                                                   |
| `purchase.currency`                        | `credits`                                                    | any PinnaPrison currency id                                                                                                 |
| `purchase.price`                           | `2000`                                                       | the price (decimals allowed)                                                                                                |
| `selector.remember-category`               | `true`                                                       | open the menu on the category the player looked at last                                                                     |
| `selector.keep-unsaved-changes`            | `false`                                                      | keep changes that weren't applied when the menu closes                                                                      |
| `selector.unsaved-reminder`                | `true`                                                       | tell players who close the menu with changes they didn't apply                                                              |
| `season-reset.clear-choices`               | `false`                                                      | clear the choices on a PinnaPrison data restore ([Season Resets](/p/pinnablockselector/features/season-reset.md))           |
| `season-reset.remove-unlocks`              | `false`                                                      | remove bought / given unlocks on a data restore                                                                             |
| `blocks.include` / `blocks.exclude`        |                                                              | the block list ([Categories](/p/pinnablockselector/features/categories.md))                                                 |
| `categories`                               | 8 categories                                                 | the filter / tabs ([Categories](/p/pinnablockselector/features/categories.md))                                              |
| `gui.id` / `gui.buy-id` / `gui.folder`     | `blockselector` / `blockselector-buy` / `pinnablockselector` | the PinnaPrison menu ids and their folder under `PinnaPrison/guis/`                                                         |
| `storage.type`                             | `yaml`                                                       | `yaml` (data/players.yml) or `mysql`; needs a restart ([Storage & MySQL](/p/pinnablockselector/getting-started/storage.md)) |
| `storage.mysql.host` / `port` / `database` | `localhost` / `3306` / `minecraft`                           | the MySQL / MariaDB server                                                                                                  |
| `storage.mysql.username` / `password`      | `root` / `''`                                                | its login                                                                                                                   |
| `storage.mysql.table-prefix`               | `pbs_`                                                       | the table is `<prefix>players` (letters, digits and `_`)                                                                    |
| `storage.mysql.use-ssl`                    | `false`                                                      | encrypted connection                                                                                                        |
| `storage.mysql.properties`                 | `useUnicode=true&characterEncoding=utf8&serverTimezone=UTC`  | extra JDBC URL parameters                                                                                                   |

## Sounds

`'NAME [volume] [pitch]'`: a Bukkit sound name (`ENTITY_PLAYER_LEVELUP`) or a sound key (`minecraft:entity.player.levelup`, or a resource pack's `namespace:sound`). `''` = silent. Unknown names are reported in the console.

| Key                   | Played when                                                    |
| --------------------- | -------------------------------------------------------------- |
| `select` / `deselect` | a block is added / removed                                     |
| `category`            | the category changes                                           |
| `clear`               | Clear Choice is pressed                                        |
| `apply`               | a choice is applied                                            |
| `denied`              | something is refused (full, locked, cooldown, can't afford...) |
| `unlock`              | the Block Selector is unlocked                                 |

Menu open sounds and per-item click sounds are set in the menu files (`open-sound`, `click-sound`).
