Skip to main content
Runway provides a set of commands for managing the plugin and testing MiniMessage formatting.

Command Reference

/runway reload

Reloads all Runway configuration files and reinitializes placeholder resolvers.
command
string
required
/runway reload
permission
string
default:"runway.reload"
Required permission to execute this command
What gets reloaded:
  • config.yml settings
  • placeholders.yml custom placeholders
  • Placeholder hook connections (PlaceholderAPI/MiniPlaceholders)
  • All listener configurations
Example usage:
/runway reload
Expected output:
Runway » Configuration was reloaded successfully!
The command also plays a bell sound (block.note_block.bell) to the executor upon successful reload.
After modifying any configuration files, you must run /runway reload for changes to take effect. The plugin does not auto-reload configuration.

/runway parse

Parses and previews MiniMessage text formatting in real-time. This is useful for testing your MiniMessage syntax before using it in other plugins.
command
string
required
/runway parse <text>
text
string
required
The text to parse with MiniMessage formatting. Can include any valid MiniMessage tags.
permission
string
default:"none"
No permission required - available to all players
How it works: The command automatically adds the [mm] prefix to your text (see ProcessHandler.java:51), then processes it through Runway’s full formatting pipeline including:
  • MiniMessage tag parsing
  • Custom placeholder resolution
  • PlaceholderAPI/MiniPlaceholders (if enabled)
Example usage:
/runway parse <gradient:red:blue>Hello World!</gradient>
/runway parse <rainbow>This is a rainbow message
/runway parse <hover:show_text:'<green>Tooltip'>Hover me!</hover>
/runway parse You have <yellow>%player_level%</yellow> levels
Expected output:
Runway » Parsed text: [formatted result]
The command plays different sounds based on the result:
  • Success: entity.experience_orb.pickup (level up sound)
  • Failure: block.note_block.bass (error sound)
Error handling:
If you don’t provide any text:
/runway parse
Output: Runway » Not enough arguments. Please use a valid argument!
If your text contains legacy color codes (§):
/runway parse §cThis won't work
Output: Runway » Failed to parse the text. Make sure it can be parsed!
Runway blocks legacy color codes in the parse command to prevent conflicts. Use MiniMessage color tags instead: <red>, <blue>, etc.

Permission Nodes

PermissionDefaultDescription
runway.reloadopAllows reloading Runway configuration
/runway parseeveryoneNo permission required for testing MiniMessage
The permission nodes are defined in RunwayCommand.java:29. Server administrators can assign runway.reload to specific roles or players using your permission plugin.

Command Implementation Details

For developers interested in the implementation:
  • Commands are registered using the Triumph CMD framework (RunwayCommand.java:15)
  • The reload command calls ConfigManager.reload() and ProcessHandler.reloadPlaceholders() (RunwayCommand.java:31-32)
  • The parse command uses @Join(" ") to concatenate all arguments (RunwayCommand.java:38)
  • All feedback messages are configurable in lang.yml
  • Sound effects are played using Bukkit’s native sound system (RunwayCommand.java:34, 41, 47, 53)

Best Practices

Test Before Deploy

Always use /runway parse to test your MiniMessage syntax before adding it to plugin configs.

Reload After Changes

Remember to run /runway reload after editing config files. Changes won’t apply automatically.

Check Permissions

Ensure administrators have the runway.reload permission for configuration management.

Listen for Feedback

Sound effects provide immediate feedback about command success or failure.

Build docs developers (and LLMs) love