
MiniMessageBridge Global Legacy-to-MiniMessage Translation Layer

Transform every plugin's colors without touching a single config file
What is MiniMessageBridge?
MiniMessageBridge is a high-performance packet interceptor that globally translates legacy Minecraft color codes (§ and &) into modern MiniMessage format in real-time.
The Problem: Old plugins use ugly §c&l formatting that looks terrible on modern servers. You want vibrant hex colors, gradients, and hover effects, but those plugins don't support MiniMessage.
The Solution: MiniMessageBridge sits between your plugins and your players. It intercepts every outgoing chat packet, detects legacy formatting, and instantly translates it to your custom MiniMessage definitions.
Plugin sends: §c§lHello World
Player sees: Hello World
(Hot pink bold text)
Features
- Zero Configuration Required - Works out of the box with sensible defaults
- Packet-Level Interception - Modifies output at the protocol level, affects ALL plugins
- Universal Compatibility - Works with hardcoded messages from any plugin
- High Performance - Caffeine caching with 5000 entry LRU cache
- Runtime Configurable - Reload configs without restart
- Modern Paper Support - Fully compatible with Paper 1.20+ Adventure API
- Advanced MiniMessage - Support for gradients, ✨s, hover events, click events
- Selective Interception - Choose which packet types to modify
- Debug Mode - Detailed logging for troubleshooting
- bStats Integration - Anonymous usage statistics
How It Works

1. Detection Plugin sends a message using legacy codes:
§cError: Invalid command
2. Interception ProtocolLib catches the outgoing SYSTEM_CHAT packet before it reaches the player
3. Serialization The packet's Adventure Component is converted back to legacy format to detect formatting codes
4. Translation Legacy codes are matched against your config mappings and converted to MiniMessage tags
5. Rendering MiniMessage deserializes the tags into a modern Adventure Component with hex colors
6. Delivery The modified packet is sent to the player with beautiful modern formatting
Installation
Requirements:
- Paper 1.20+ (or forks like Purpur, Pufferfish)
- ProtocolLib 5.1.0+
- Java 17+
Steps:
- Download ProtocolLib and place it in your plugins/ folder
- Download MiniMessageBridge and place it in your plugins/ folder
- Start your server
- Edit plugins/MiniMessageBridge/config.yml to customize your color scheme
- Run /mmb reload or restart to apply changes
Default Config Structure:
legacy-mappings:
"&c": "<#ff3860>" # Map &c to hot pink
"&a": "<#00ff41>" # Map &a to neon green
"§c": "<#ff3860>" # Also map section symbol variant
format-mappings:
"&l": "<bold>" # Bold formatting
"&r": "<reset>" # Reset all formatting
settings:
enable-cache: true # Enable translation caching
debug: false # Debug logging
packet-interception:
system-chat: true # Intercept server messages
action-bar: true # Intercept action bar
Advanced Example - Gradients:
legacy-mappings:
"&c": "<gradient:#ff3860:#ff0000>" # Red gradient
"&a": "<✨>" # ✨ cycling
"&6": "<hover:show_text:'<gold>Click!'><gold>" # Hover text
Performance
- Translation cache eliminates re-parsing of identical messages
- Concurrent data structures for thread safety
- Average overhead: <0.1ms per message
- Memory usage: ~10MB for 5000 cached entries
- Zero impact when processing modern MiniMessage plugins (bypass mode)
Support
