Skip to main content
Runway is a powerful Minecraft Paper plugin that enables MiniMessage formatting support across your entire server, allowing you to use modern, rich text formatting in messages, menus, titles, items, MOTD, and tablist from any plugin.

What is Runway?

Runway works at the protocol level by intercepting and modifying outgoing packets sent by plugins before they reach players. This unique approach means you can add beautiful MiniMessage formatting to messages from any plugin without requiring those plugins to support MiniMessage natively.
MiniMessage is a modern text formatting system that uses tags like <gradient>, <rainbow>, <click>, and more to create rich, interactive text in Minecraft.

Key features

Runway provides comprehensive formatting support across your server:

System messages

Parse chat messages and plugin messages with MiniMessage formatting

Titles and subtitles

Display formatted titles and subtitles with gradients, colors, and effects

Tablist

Customize your tablist with rich formatting

Inventory GUIs

Format inventory titles and item names/lores in menus

Items

Add MiniMessage formatting to item names and lore

Scoreboards

Format scoreboard text using teams

Additional features

  • Placeholder support: Integrate PlaceholderAPI and MiniPlaceholders with the [p] prefix
  • Custom placeholders: Define your own static placeholders in the configuration
  • Action bar messages: Send messages to the action bar using the [actionbar] prefix
  • Flexible prefix system: Require the [mm] prefix for selective formatting, or disable it to format everything
  • Italic control: Automatically disable italics in item names and lores for cleaner appearance
  • Legacy color handling: Option to ignore legacy color codes by converting them to safe characters

How it works

Runway uses PacketEvents to intercept outgoing packets at the protocol level:
  1. When a plugin sends a message, title, item, or other content to a player, it’s sent as a packet
  2. Runway intercepts these packets before they reach the player
  3. The plugin checks if the packet contains the [mm] prefix (if required)
  4. Runway parses the content with MiniMessage and any configured placeholders
  5. The modified packet is sent to the player with full formatting applied
This protocol-level approach means Runway works with any plugin, regardless of whether it was designed with MiniMessage support.
You can configure which types of packets Runway listens to in the config.yml file, giving you fine-grained control over where formatting is applied.

Requirements

Server requirements

To run Runway, you need:
  • Paper 1.20.6 or higher (versions below 1.20.6 are untested)
  • Java 21
Runway requires Paper specifically. It will not work on Spigot, Bukkit, or other server implementations that don’t support the Paper API.

Optional dependencies

Runway can integrate with these optional plugins:
  • PlaceholderAPI: Enable dynamic placeholders in your formatted messages
  • MiniPlaceholders: Use MiniPlaceholders for additional placeholder support
Both placeholder plugins can be used simultaneously, and Runway will automatically detect and integrate with them when available.

Folia support

Runway is fully compatible with Folia, Paper’s experimental multithreaded server implementation.

Next steps

Installation

Get started by installing Runway on your server

Quick start

Learn how to use the [mm] prefix and parse your first formatted message

Build docs developers (and LLMs) love