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

# Plugin Configuration

The main configuration file (`config.yml`) controls the overall behavior of VulkanMenu.

## Configuration File Location

The configuration file is located at:

```
plugins/VulkanMenu/config.yml
```

## Configuration Options

### Update Checker

Controls whether the plugin checks for updates and notifies administrators.

```yaml
update-checker:
  enabled: true        # Enable/disable update checking
  notification: true   # Show update notifications to admins
```

### Live Reload

Controls the live configuration reload feature which automatically reloads menus when their files are modified.

```yaml
# If set to true, the live reload feature will be enabled by default.
live-reload-enabled: false
```

{% hint style="info" %}
Live reload can be toggled in-game using `/vmenu live toggle` command.
{% endhint %}

### Messages

All plugin messages can be customized. Messages support MiniMessage format and PlaceholderAPI.

```yaml
messages:
  # Reload messages
  reloading: "<gray>Reloading <aqua>VulkanMenu</aqua> configuration..."
  reload-success: "<green>Configuration reloaded successfully!"
  reload-failed: "<red>Failed to reload configuration! Check the console for errors."
  
  # Menu reload messages
  reloading-menu: "<gray>Reloading menu <aqua><menu></aqua>..."
  reload-menu-success: "<green>Menu <aqua><menu></aqua> reloaded successfully!"
  reload-menu-failed: "<red>Failed to reload menu <aqua><menu></aqua>! Check the console for errors."
  
  # Dump messages
  dumping-menu: "<gray>Dumping menu <aqua><menu></aqua>..."
  dump-menu-success: "<green>Menu <aqua><menu></aqua> dumped successfully to <aqua><url></aqua>!"
  dump-menu-failed: "<red>Failed to dump menu <aqua><menu></aqua>! Check the console for errors."
  
  # Menu list messages
  menu-list-header: "<gray>Available menus:"
  menu-list-item: " <gray>- <aqua><menu></aqua>"
  
  # Live reload messages
  live-reload-status: "<gray>Live reload is <aqua><status></aqua>."
  live-reload-toggle: "<gray>Live reload has been <aqua><status></aqua>."
  
  # Miscellaneous messages
  menu-not-found: "<red>Menu <aqua><menu></aqua> not found!"
  enabled: "<green>enabled"
  disabled: "<red>disabled"
  player-only-command: "<red>This command can only be executed by a player!"
```

### Message Placeholders

The following placeholders are available in messages:

* `<menu>` - The menu name/ID
* `<player>` - The player name
* `<status>` - Status (enabled/disabled)
* `<url>` - URL (for dump command)

## Default Configuration

Here's the complete default configuration:

```yaml
update-checker:
  enabled: true
  notification: true

# If set to true, the live reload feature will be enabled by default.
live-reload-enabled: false

messages:
  # Reload
  reloading: "<gray>Reloading <aqua>VulkanMenu</aqua> configuration..."
  reload-success: "<green>Configuration reloaded successfully!"
  reload-failed: "<red>Failed to reload configuration! Check the console for errors."
  # Menu reload
  reloading-menu: "<gray>Reloading menu <aqua><menu></aqua>..."
  reload-menu-success: "<green>Menu <aqua><menu></aqua> reloaded successfully!"
  reload-menu-failed: "<red>Failed to reload menu <aqua><menu></aqua>! Check the console for errors."
  # Dump
  dumping-menu: "<gray>Dumping menu <aqua><menu></aqua>..."
  dump-menu-success: "<green>Menu <aqua><menu></aqua> dumped successfully to <aqua><url></aqua>!"
  dump-menu-failed: "<red>Failed to dump menu <aqua><menu></aqua>! Check the console for errors."
  # Menu list
  menu-list-header: "<gray>Available menus:"
  menu-list-item: " <gray>- <aqua><menu></aqua>"
  # Live reload
  live-reload-status: "<gray>Live reload is <aqua><status></aqua>."
  live-reload-toggle: "<gray>Live reload has been <aqua><status></aqua>."
  # Misc
  menu-not-found: "<red>Menu <aqua><menu></aqua> not found!"
  enabled: "<green>enabled"
  disabled: "<red>disabled"
  player-only-command: "<red>This command can only be executed by a player!"
```

## Live Configuration Reload

When live reload is enabled, VulkanMenu automatically detects changes to menu configuration files and reloads them without requiring a manual reload command. This feature is particularly useful during development and testing.

### How it works:

1. The plugin monitors the `plugins/VulkanMenu/menus/` directory for file changes
2. When a `.yml` file is modified, the menu is automatically reloaded
3. Players with the menu open will see the changes immediately
4. If there are errors in the configuration, they will be logged to the console

### Performance considerations:

* Live reload uses file system watchers which have minimal performance impact
* Only modified files are reloaded, not the entire configuration
* Recommended for development/testing environments

## Troubleshooting

### Messages not displaying correctly

* Ensure you're using valid MiniMessage format
* Check that PlaceholderAPI is installed if using placeholders
* Verify color codes are properly formatted

### Live reload not working

* Check that `live-reload-enabled` is set to `true`
* Ensure you have proper file permissions
* Check console for any error messages
* Try toggling live reload with `/vmenu live toggle`

### Update checker issues

* Ensure the server has internet connectivity
* Check firewall settings if updates aren't detected
* Disable the update checker if not needed
