> For the complete documentation index, see [llms.txt](https://esmp-fun.gitbook.io/plugins/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://esmp-fun.gitbook.io/plugins/markdown-guide/writing-pages/settings-on-a-page.md).

# Other plugins' settings

A page can show another plugin's settings as controls, so staff can change them without opening a single file. The other plugin doesn't need to know: its `config.yml` is just a file.

<figure><img src="https://1037515809-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F37kaU8TF94yOlMmCwXdl%2Fuploads%2Fgit-blob-7b7ef13d8a7a5bb4d1e76e4299f830c65b6681e3%2Fguide-settings-native.png?alt=media" alt="A tick box, a slider, a text box and a choice under a page"><figcaption><p>Four settings from another plugin's config.yml, under the page.</p></figcaption></figure>

## Step 1 - Find the settings

In game, run:

```
/guide settings
```

for the plugins that have a `config.yml`, then

```
/guide settings ShopPlugin
```

for that plugin's settings, each with a tag ready to paste into a page.

## Step 2 - Put them on a page

```markdown
{{shopplugin:shop:enabled:toggle}}
{{shopplugin:shop:tax-percent:slider:0:20}}
{{shopplugin:messages:welcome:text}}
{{shopplugin:mode:select:easy,normal,hard}}
```

Each tag is the plugin's folder name, the path to the setting, then the kind of control:

| Kind     | Control             | Extra                                       |
| -------- | ------------------- | ------------------------------------------- |
| `toggle` | A tick box          |                                             |
| `slider` | A slider            | The lowest and highest value: `slider:0:20` |
| `select` | A list to pick from | The choices: `select:easy,normal,hard`      |
| `text`   | A text box          |                                             |

## Step 3 - Change and save

Change what you like, then press **Save**. Nothing is written until then. One backup of the file is kept as `config.yml.bak`, and only the value on that one line changes: comments, blank lines and quotes in the file stay exactly as they were.

The plugin is then asked to read its settings again. Some plugins only read them when the server starts; their changes need a restart.

{% hint style="warning" %}
Changing settings needs the `mdguide.edit` permission, which operators have. Players without it still see the settings, but can't change them.
{% endhint %}

## Drawn into the page

By default the controls are Minecraft's own, under the page text. Put this at the top of the page to draw them into the page, where you wrote the tags:

```markdown
---
controls: inline
---
```

<figure><img src="https://1037515809-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F37kaU8TF94yOlMmCwXdl%2Fuploads%2Fgit-blob-3b7591b54b454d1c9c84dfcc18a871f60c14031b%2Fguide-settings-drawn.png?alt=media" alt="The same four settings drawn into the page"><figcaption><p>The same settings, drawn into the page.</p></figcaption></figure>

Drawn controls look better and sit beside the text, but they are clicked rather than dragged or typed into: arrows step a number, a click on the bar jumps to a value, and text opens a small box to type in.

A tag that isn't right (no such plugin folder, or no such setting) stays on the page as written, and the console says what was wrong. Settings are never added to a file that didn't have them.
