Permissions, Colours, Links, and Sounds
This page covers the extra behavior that makes commands feel polished in production.
Permissions
permission
If a command has a permission node, only sources with that permission can use it.
Example:
commands:
alert:
type: "broadcast"
command: /alert [message:greedy_string]
message: "<red>%message%"
permission: "velocitycommands.alert"
enabled: trueIf a player without that permission runs the command, they receive:
You do not have permission to use this command.If permission is missing
If the field is blank or omitted, the command is usable by anyone who can run player commands on the proxy.
Broadcast view permissions
view_permission
This only applies to broadcast commands.
Example:
view_permission: "velocitycommands.staff.view"If this is set, only players with that permission receive the broadcast.
This is ideal for:
- staff channels
- admin alerts
- moderation broadcasts
- internal notices
Colours and text formatting
The plugin supports two formatting modes.
MiniMessage mode
Enabled when:
settings:
useLegacyColours: falseExample:
message: "<gold>Hello <white>%player_name%"You can also use gradients and other MiniMessage formatting.
Legacy color mode
Enabled when:
settings:
useLegacyColours: trueExample:
message: "&6Hello &f%player_name%"Line breaks
The sample config uses <br> and multi-line block strings.
Example:
message: "<white>Category: <gray>%category%<br><white>Message: <gray>%message%"And also:
message: |
<gold>Header</gold>
<gray>Line 1</gray>
<gray>Line 2</gray>Use whichever is easier for your editing workflow.
Automatic clickable links
Before sending a message, the plugin scans the final output for URLs and turns them into clickable links.
This works with:
- full URLs like
https://example.com - plain domains like
example.com
Example:
message: "<aqua>Read more: docs.example.com/setup"Players can click it in chat.
Sounds
sound
If set, the plugin tries to play the sound to the command executor after the command runs.
Example:
sound: "ui.toast.in"The sound key is normalized to lowercase by the plugin.
Important sound note
If the sound name does not exist, the plugin logs an error instead of crashing the command.
That makes sounds safe to test, but you should still verify that the key is valid for your target Minecraft version.