Overview
Listeners allow you to control which parts of the game UI support MiniMessage formatting. Disabling unused listeners can improve performance by reducing unnecessary packet processing.All listeners are configured in the
listeners section of config.yml.Listener Types
System Messages
Controls parsing of system messages, also known as plugin messages.
- Chat messages sent by plugins
- Command feedback messages
- Plugin notifications
- Most server-sent text messages
- You want MiniMessage support in chat plugins
- You’re using plugins that send formatted messages
- Most common use case for Runway
- You don’t use any plugins that send chat messages
- You have a dedicated chat plugin with built-in MiniMessage support
Tablist
Controls parsing of tablist headers and footers.
- Header text (displayed above player list)
- Footer text (displayed below player list)
- Custom tablist plugins can use MiniMessage formatting
- You use a tablist plugin (e.g., TAB, AnimatedNames)
- You want gradient headers/footers
- You display server information in the tablist
- You don’t modify the default tablist
- Your tablist plugin has native MiniMessage support
Player names in the tablist are controlled by the scoreboard listener, not the tablist listener.
Titles
Controls parsing of titles and subtitles.
- Title (main large text)
- Subtitle (smaller text below title)
- Action bar messages
- You display welcome messages as titles
- You use titles for announcements or events
- You want gradient or animated titles
- You never send titles to players
- Your title plugin already supports MiniMessage
Scoreboards
Controls parsing of scoreboards (team-based).
- Player name prefixes and suffixes
- Team display names
- Sidebar scoreboards
- You use a scoreboard plugin without native MiniMessage support
- You want formatted player name tags
- You display information in the sidebar
- You use a modern scoreboard plugin with MiniMessage support
- You experience conflicts or visual glitches
- Default setting for stability
If you experience issues with player names or scoreboards, try disabling this listener first.
Inventory
Inventory listeners control parsing in GUI menus and items.Inventory Titles
Controls parsing of inventory menu titles (chest GUIs, etc.).
- Chest menus
- Hopper menus
- Dropper/dispenser menus
- Any custom inventory opened by plugins
- You use GUI plugins (shops, warps, menus)
- You want gradient inventory titles
- Most GUI plugins benefit from this
- You don’t use any GUI plugins
- Your GUI plugin has native MiniMessage support
Inventory Items
Controls parsing of item names and lore in open inventories.
- Item display names
- Item lore (description)
- Items in GUI menus
- You want formatted items in shop GUIs
- Your plugins create items with MiniMessage in menus
- You display information through item lore
- You only need regular item formatting (see items listener)
- Performance optimization for servers with many GUI interactions
Items
Controls parsing of item names and lore in player inventories.
- Custom item names
- Item lore
- Items given by plugins
- Renamed items
- You give custom items to players
- You use item-based plugins (custom items, crates, cosmetics)
- You want gradient or formatted item names
- You use vanilla items only
- Your custom item plugin has native MiniMessage support
The
disable-italics config option affects items by automatically removing the italic formatting that Minecraft applies by default.Performance Considerations
Impact Levels
Listeners have varying performance impacts:| Listener | Impact | Recommendation |
|---|---|---|
| System Messages | Low | Keep enabled |
| Tablist | Low | Keep enabled if used |
| Titles | Very Low | Keep enabled |
| Scoreboards | Medium | Disable if not needed |
| Inventory (Title) | Low | Keep enabled |
| Inventory (Items) | Medium | Keep enabled if used |
| Items | Low-Medium | Keep enabled if used |
Optimization Tips
Disable listeners you don’t use. Each disabled listener reduces packet processing overhead.
- Audit your plugins: Check which listeners your plugins actually use
- Test individually: Disable one listener at a time to measure impact
- Monitor performance: Use tools like Spark to profile packet handling
- Start conservative: Begin with fewer listeners enabled, add as needed
Recommended Configurations
Minimal (Performance-focused)
Standard (Balanced)
Full (Maximum Compatibility)
Troubleshooting
Messages Not Formatting
- Check if the relevant listener is enabled
- Verify the
[mm]prefix is included (ifrequire-prefix.minimessage: true) - Ensure the MiniMessage syntax is correct
- Reload the plugin:
/runway reload
Visual Glitches or Conflicts
- Try disabling the
scoreboardslistener first - Check for plugin conflicts (other MiniMessage/formatting plugins)
- Review server logs for errors
- Disable
inventory.itemsif you see item rendering issues
Performance Issues
- Disable unused listeners one by one
- Monitor server TPS during peak hours
- Check if
scoreboardsorinventory.itemsare causing issues - Consider using plugins with native MiniMessage support