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, rainbows, 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": "<rainbow>" # Rainbow 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
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta