This guide focuses on practical setup and safe operation of VelocityHotReloader in production-like environments.
VelocityHotReloader stores data in your Velocity plugin data folder:
plugins/velocityhotreloader/messages.json: customizable MiniMessage-based text output.plugins/velocityhotreloader/.pluginCommandsCache.json: generated command ownership cache used by command metadata lookups.
The plugin currently exposes message configuration only. There is no separate config.yml.
messages.json is copied from defaults on first startup, then merged/migrated on reload.
Recommended workflow:
- Edit only keys you want to change.
- Keep
config-versionintact. - Run
/vhr reloadafter changes. - Validate command output from both console and player context.
Assign permission nodes based on operator role:
velocityhotreloader.helpvelocityhotreloader.reloadvelocityhotreloader.restartvelocityhotreloader.loadpluginvelocityhotreloader.unloadpluginvelocityhotreloader.reloadpluginvelocityhotreloader.watchpluginvelocityhotreloader.plugininfovelocityhotreloader.commandinfovelocityhotreloader.pluginsvelocityhotreloader.plugins.version
unloadplugin,reloadplugin, andwatchpluginenforce dependency safety by default.- Use
--force/-fonly when you intentionally want to bypass dependency checks. - VelocityHotReloader prevents self-reload through
reloadplugin; use/vhr restartinstead.
- If a plugin is reported as missing, ensure the jar exists in Velocity's
plugins/directory. - If command ownership data looks stale, restart VelocityHotReloader (
/vhr restart). - If watcher behavior looks noisy, confirm only one watch task is active per plugin and avoid bulk file sync bursts.