Skip to main content
This guide will help you create your first formatted messages using Runway. You’ll learn how to use the [mm] prefix, test formatting with commands, and configure basic settings.

Your first formatted message

By default, Runway requires the [mm] prefix to identify messages that should be formatted with MiniMessage. This prefix can appear anywhere in the message.
1

Test with the parse command

The easiest way to see Runway in action is with the /runway parse command:
/runway parse <gradient:red:blue>Hello World!</gradient>
You should see a beautiful gradient from red to blue applied to “Hello World!” in the chat.
The /runway parse command automatically adds the [mm] prefix for you, so you don’t need to include it when testing.
2

Try more MiniMessage tags

Experiment with different MiniMessage formatting tags:
/runway parse <red>Red text <blue>and blue text
3

Use the prefix in plugin messages

Now try using the [mm] prefix with any plugin message. For example, if you have a plugin that broadcasts messages, you can add formatting:
[mm]<gradient:green:aqua>Welcome to the server!</gradient>
The [mm] prefix tells Runway to parse this message with MiniMessage. The prefix is removed from the final output.
The [mm] prefix can appear at the beginning, middle, or end of your message. Runway will find it and remove it before displaying the formatted text.

Using placeholders

If you have PlaceholderAPI or MiniPlaceholders installed, you can use dynamic placeholders in your formatted messages.
1

Enable placeholder support

Open plugins/Runway/config.yml and enable your placeholder plugin:
placeholder-hook:
  placeholderapi: true  # Enable if you have PlaceholderAPI
  miniplaceholders: true  # Enable if you have MiniPlaceholders
Reload the configuration:
/runway reload
You need the runway.reload permission to use the reload command.
2

Use the [p] prefix for placeholders

By default, you need both the [mm] prefix for MiniMessage and the [p] prefix for placeholders:
[mm][p]<gradient:gold:yellow>Welcome, %player_name%!</gradient>
This will:
  1. Parse the MiniMessage gradient
  2. Replace %player_name% with the player’s name using PlaceholderAPI
3

Configure custom placeholders

You can define static custom placeholders in plugins/Runway/placeholders.yml:
custom-placeholders:
  server_name: <gradient:red:blue>MyServer</gradient>
  website: example.com
  discord: discord.gg/example
Use them in messages with the standard MiniMessage placeholder syntax:
[mm]Join <server_name> at <website>!
Custom placeholders support MiniMessage formatting in their values, allowing you to create reusable formatted text snippets.

Configuration options

Customize Runway’s behavior to fit your server’s needs.

Disable prefix requirement

If you want all messages to be formatted without requiring the [mm] prefix:
config.yml
require-prefix:
  minimessage: false  # Format all messages automatically
  placeholders: false  # Parse placeholders in all messages
Disabling the prefix requirement means Runway will attempt to parse all messages. Make sure your existing messages are compatible with MiniMessage syntax, or they may display incorrectly.

Control which content gets formatted

Enable or disable formatting for specific packet types:
config.yml
listeners:
  system-messages: true  # Chat and plugin messages
  tablist: true          # Player list
  titles: true           # Titles and subtitles
  scoreboards: false     # Team-based scoreboards
  inventory:
    title: true          # Menu titles
    items: true          # Item names and lores
  items: true            # Item names and lores

Item formatting options

Control how items are displayed:
config.yml
# Remove italics from item names and lores for cleaner appearance
disable-italics: true
Minecraft adds italics to all item names and lores by default. Setting disable-italics: true gives you cleaner text by automatically adding <italic:false> to item formatting.

Legacy color handling

If you have plugins using old color codes (like §c for red):
config.yml
# Convert legacy § color codes to safe & character
ignore-legacy: true
This prevents legacy colors from interfering with MiniMessage parsing.

Special features

Action bar messages

Send messages to the action bar (above the hotbar) using the [actionbar] prefix:
[mm][actionbar]<gradient:green:aqua>You found a secret!
This works with system messages and will display in the action bar instead of chat.

Escaping MiniMessage tags

If you need to display literal angle brackets without parsing them as tags:
[mm]Use \<gradient> for gradients
The \< will be converted to a literal < in the output.

Commands reference

Runway provides two commands:

/runway parse

Usage: /runway parse <text>Parse and preview MiniMessage formatted text. Available to all players.Example:
/runway parse <rainbow>Hello!</rainbow>

/runway reload

Usage: /runway reloadReload configuration files and custom placeholders.Permission: runway.reload

Common examples

Here are some practical examples you can use right away:
[mm]<gradient:gold:yellow>Welcome to the server, %player_name%!</gradient>

Next steps

Now that you understand the basics, you can:
  • Explore the full MiniMessage documentation to learn about all available tags
  • Configure Runway to work with your existing plugins
  • Create custom placeholders for frequently used formatted text
  • Set up PlaceholderAPI expansions for dynamic content
For support or questions, open an issue on GitHub or contact the developer on Discord: @mrafonso

Build docs developers (and LLMs) love