config.yml
plugins/EasyMenu/config.yml manages global plugin settings, thread pools, caching limits, and default presentation behaviors.
Default Configuration File
plugins/EasyMenu/config.yml
# Language setting (en_us, ja_jp, ru_ru)
language: "en_us"
# Debug mode (verbose console logging)
debug: false
# Startup behavior
load-on-startup: true # Load menu definitions on server startup
precache-submenus: true # Pre-cache submenu definitions on startup
# Async worker settings
async:
worker-threads: 2
# Cache settings
cache:
submenu-expiry-seconds: 300 # Submenu cache expiry in seconds
submenu-max-size: 100 # Maximum cached submenus
cleanup-interval-seconds: 60 # Cache cleanup cycle interval in seconds
resolved-path-max-size: 200 # Maximum cached resolved menu paths
# Submenu search
submenu:
search-depth: 3 # Directory traversal depth inside sub/
# Runtime presentation
runtime:
default-presentation: inventory # Default UI format (inventory, native-preferred, auto, etc.)
# Diagnostics
diagnostics:
log-warnings-on-load: true # Log warnings during reload parsing
# Input settings
input:
default-timeout-seconds: 60 # Default timeout for input collection
# Cooldown settings
cooldown:
cleanup-interval-seconds: 60 # Cleanup interval for expired cooldown records
Dynamic Reload Coverage
Almost all settings take effect immediately when running /menu reload without server restarts:
| Configuration Key | Refreshed on /menu reload |
|---|---|
language | Refreshed immediately (reloads message files) |
debug | Refreshed immediately |
precache-submenus | Refreshed immediately |
async.worker-threads | Refreshed immediately (replaces thread pool) |
cache.* | Refreshed immediately |
submenu.search-depth | Refreshed immediately |
runtime.default-presentation | Refreshed immediately |
diagnostics.log-warnings-on-load | Refreshed immediately |
input.default-timeout-seconds | Refreshed immediately |
cooldown.cleanup-interval-seconds | Refreshed immediately (reschedules periodic task) |
load-on-startup | Startup only (ignored during reload) |