🌈 ChatColor: Modern MiniMessage RGB & Gradients
The definitive chat personalization suite for Minecraft 1.20+, powered by MiniMessage for perfect RGB and Gradient rendering.
ChatColor is a high-performance formatting plugin built for Paper, Spigot, and Purpur. By leveraging the power of MiniMessage, it allows players to express themselves with crisp RGB gradients, dynamic patterns, and custom HEX values—all controlled through a sleek, inventory-based Admin GUI.
🛡️ Support the Project via CloudExa Hosting
Support our development by using our affiliate link! Use our special coupon code for 10% OFF your hosting.
✨ Why Choose ChatColor?
- 🎨 24+ Solid Colors — From standard Minecraft colors to custom hex values like Hot Pink, Coral, Mint, and Lavender.
- 🌅 12 Gradient Presets — Multi-stop gradients including Sunset, Ocean, Cosmic, Rose Gold, Lava, and more.
- 🔥 6 Pattern Presets — Character-cycling color patterns like Rainbow, Fire, Ice, Galaxy, Toxic, and Cherry.
- 🛠️ Custom Color Creation — Create your own custom colors with simple commands.
- 🖥️ Interactive GUI — Full inventory-based color selector with a main menu and category pages.
- ⌨️ Command Support — Set, reset, and manage colors entirely from the command line.
- 🔒 Per-Entry Permissions — Grant or restrict individual colors, gradients, and patterns per player/group, registered with the server at runtime so LuckPerms wildcards actually work.
- 🤝 Drop-In Compatibility — Colors are applied from a chat renderer that runs after every other listener, so EssentialsChat and friends can't strip them.
- 🩺 Built-In Diagnostics —
/color debugtraces the whole chat pipeline into the console. - 🧵 Folia Ready — Region-thread safe, with Folia-aware scheduling throughout.
- 💾 Persistent Data — Player color selections are saved to disk and restored on rejoin.
- 🔌 PlaceholderAPI Support — Expose player color data as placeholders for use in other plugins.
- 🛠️ Developer API — Clean
ChatColorAPIclass for third-party plugin integration. - ⚡ Hot Reload — Reload all configuration files at runtime without restarting.
- 📊 Metrics — Anonymized usage statistics via bStats and FastStats.
📖 Need Help? > Looking for the full command list, permission nodes, or API documentation?
👉 Visit the Official Wiki Here
Optimized for Minecraft 1.20+ | MiniMessage Chat | RGB Gradients | Custom Hex Colors
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 | ||||
| 11h ago | 1 |
- PlaceholderAPI support (papi-output) for chat formatting and placeholders.
- Recommended default configuration for LuckPerms Chat Formatter (LPC) setup.
Fixed
- An issue where LPC 4.x dropped or failed to send chat messages.
Removed
- Nothing
- Automatic documentation sync with https://busybeedev.net/docs/chatcolor/intro.
Fixed
- An issue where modified game clients sending raw color symbols (§) caused chat formatting to break or show raw code text.
Removed
- Nothing
- The option to hide player permissions in the menu interface
- A clear notification message when a player attempts to open a menu without the required permissions
- Support for HeadDatabase (HDB) custom heads in menus, if installed
Fixed
- None
Removed
- None
- Added support for the /colors command alias.
Fixed
- Improved stability and reliability when handling dynamic placeholders.
Removed
- Removed the /cc command alias.
• Support for custom hex colors (like #FF5733) in the /color set command!
• Hex color code suggestions while typing the command.
Fix
• Corrected color display issues when changing chat styles.
Remove
• None
- Automatic preservation of your custom game settings when installing new updates
- Automatic background cleanup of old settings backups
Fixed
- Issue where updating the game could reset saved player preferences and options
Removed
- Obsolete settings files and outdated configuration backups
/color debugcommand to test and troubleshoot chat color settings.- Updated player and staff documentation regarding chat features and permissions. [Click Here](https://busybeedev.net/docs/chatcolor/introduction) to view new updated docs.
Fixed
- Chat message formatting stability and detection issues.
Removed
- None
chat-hookoption in config.yml to configure chat event integration (AUTO, MODERN, LEGACY).- Improved player display name support across chat configurations.
Fixed
- Chat event handling reliability and event listener registration.
- Data saving and loading synchronization to ensure thread safety and stability.
- Configuration loading performance and internal data handling.
Removed
- None
Special Thanks to tinseltuner (Docker) for bringing the issue to my attention.
- safeSetItem method for improved slot validation in GUI item setting logic
Fixed
- Exception handling in ColorUtil to catch Throwable instead of generic Exception
- Legacy text parsing in ColorUtil for improved compatibility
Removed
- Nothing
- Enhanced MiniMessage support in
ColorUtilfor smoother tag parsing (gradients, rainbow, hover/click events) and safer fallback handling for invalid tags. - Expanded HEX color support in
ColorUtilwith broader pattern recognition (&#RRGGBB,#RRGGBB, and<color:#RRGGBB>).
## Fixed
- Overhauled legacy text handling in
ColorUtilto properly process&and§codes and prevent formatting leaks across wrapped chat messages. - Fixed bug in
ChatListenerwhere message color processing could unintentionally override player prefixes or group ranks. - Resolved double-parsing issues during chat events by streamlining format assembly logic.
## Removed
- Removed redundant legacy formatting passes in
ChatListenerto optimize chat event processing speed and reduce server overhead.
Added
- Nothing
Fixed
- Console filter cleanup when the plugin disables (prevents shutdown errors)
Removed
- Nothing
### ✨ Enhancements & Fixes
- 🎨 Improved Color & Placeholder Application:** Refactored internal formatting logic to ensure smoother, glitch-free color application and more reliable placeholder processing.
- ⚡ Priority Detection Overhaul:** Rewrote color priority evaluation for a more consistent experience across rank and permission setups.
- 🔌 Enhanced Plugin Compatibility:**
- Improved integrations and smooth operation alongside **EssentialsChat**.
- Upgraded **PlaceholderAPI** handling for reliable expansion parsing and seamless text injection.
### ⚠️ Placeholder Changes
> **Notice for Server Admins:** Placeholder syntax or names have been updated in this release. Please review the updated documentation at [busybeedev.net/docs/chatcolor/papi](https://busybeedev.net/docs/chatcolor/papi) to adjust your configurations.
### 🎨 Chat & Visual Updates
- Vibrant New Colors & Gradients:** We've massively upgraded our text coloring system! You'll now see smoother color gradients, dynamic text patterns, and much more consistent formatting across chat and menus.
- Smarter Color Handling:** Improved how the system handles default colors. This eliminates weird formatting glitches and ensures text looks exactly how it should, even when mixing custom colors.
- For Server Owners & Devs:** We've expanded the
ChatColorAPIwith brand new tools and improved the documentation, making it easier than ever to customize server text and build colorful add-ons!
### 🛠️ Performance & Stability
- Smoother Menus & Inventories:** We've overhauled the background code that handles custom menus (
FastInvManager). By modernizing the logic, opening custom containers and clicking through interfaces is now faster, more stable, and less likely to cause lag or micro-stutters.
- Configurable Element Toggles:** Added new toggle options inside
config.ymlto completely control the visibility and loading of **standard colors**, **gradients**, and **patterns**. - Dynamic Content Loading:** Rewrote the color engine to conditionally load elements depending on your active config settings, reducing unnecessary memory allocation.
- FIXES & IMPROVEMENTS
- Automatic Config Self-Healing:** Implemented a failsafe mechanism that automatically re-adds any missing keys or sections to
config.ymlwithout overriding your existing settings. - Enhanced Performance:** Optimizing configuration checks ensures smoother server startup times when parsing active formatting modules.
- EssentialsC Compatibility: Full formatting integration added for servers running EssentialsC.
- Event-Priority Controls: Added a new
event-priorityoption to the configuration file, allowing you to fine-tune how ChatColors interacts with other chat-altering plugins. - Late-Bind Config Option: Introduced a
late-bindtoggle to delay plugin initialization, ensuring perfect compatibility with late-loading chat management suites. - Beta:** Emojis from Nexo should work.
🐛 FIXES & IMPROVEMENTS
- Enhanced Debugging: The plugin now explicitly logs the active listener priority on startup, making it much easier to isolate chat conflicts.
- Updated FastStats for better reporting on errors.
- Documentation Overhaul: The official wiki has been fully updated! Check out the improved command details, permission tables, and config setup at https://busybeedev.net/docs/chatcolor/introduction
- Smart Chat & Event Priority Handling:**
- Updated
config.ymlto recommend the **MONITOR** event priority, significantly improving out-of-the-box compatibility with EssentialsX. - Implemented automatic priority adjustment logic to seamlessly handle EssentialsChat compatibility without breaking formatting.
- Internal refactoring:** Introduced a new internal helper method (
isFastInv) to streamline how the plugin detects custom menus. - Enhanced Stability:** Improved safety checks to prevent rare null-pointer exceptions when players interact with non-plugin inventories.
- Code Clean-up:** Optimized inventory type handling, making future menu updates faster and easier to implement.
### 📝 Note for Server Admins
> If you are upgrading from an older version, your old
gui.yml and players.yml have automatically been migrated to the new /configs/ folder. You can safely delete any orphaned colors.yml or patterns.yml files in the root plugin directory!### 🌟 New Features & Enhancements
- Next-Gen Server Support:** Full compatibility added for **Folia** (multi-threaded servers) and **Canvas**. Expect seamless, lag-free color formatting no matter what engine your server runs on.
- Overhauled Color Systems:** We’ve introduced a new custom asset system. Managing your **Gradients** and **Patterns** is now entirely separated, meaning more unique and stable chat colors are coming your way soon.
### 🛠️ Menu & GUI Refurbishing
- Snappier Menus:** The entire Graphical User Interface (GUI) has been rewritten from scratch. Color menus will load instantly with zero click delay.
- Unified Localizations:** Menus now adapt much cleaner to server-wide chat styles and translations. No more broken color tags or raw text bleeding into menu titles.
### 📊 Performance Monitoring & Analytics
- Dedicated Metrics Managers:** Added
BStatsManagerandFastStatsManagerto handle extended data tracking, giving you more robust, real-time insights into server performance and health. - Framework Integration:** Fully integrated the **BStats** and **FastStats** metrics frameworks for enhanced backend monitoring.
## 🌟 What's New?
- MiniMessage Tag Support:** Added full support for modern MiniMessage formatting tags!
- Note: Players will need the new
chatcolor.minimessagepermission node to use these tags in chat.* - Console Cleanup Feature:** Added a new
clean-consoleoption in yourconfig.yml. When enabled, it dynamically strips legacy color codes from logger outputs, keeping your server console crisp and readable. - Smart Integration Detector:** Added an
IntegrationCheckerthat automatically scans for active **DiscordSRV** and **LPC** plugins on startup, printing helpful setup and configuration guidance straight to your console.
## 🛠️ Enhancements & Fixes
- Refactored Color Utilities:** Built a much sturdier backend handler to bridge legacy color codes and modern MiniMessage components. Includes under-the-hood automatic conversion utilities (
translateLegacyToMiniMessage) and stricter text safety checks. - Streamlined PlaceholderAPI Integration:** Completely reworked our placeholders for better stability and formatting logic.
- Reorganized the placeholder structures for better clarity.
- Added a dedicated
%color_legacy%placeholder. - Improved stability when handling null or empty message inputs.
- Paper Server Optimization:** Modified the
ChatListenerto bypass redundant last-message tracking on Paper-based servers, saving processing overhead. - Compatibility Recommendation:** Added a configuration comment recommending that server owners set their event-priority to
HIGHESTfor seamless operation alongside LPC or DiscordSRV. - Stability Fix:** Fixed a critical initialization bug caused by a missing structural brace in the main initialization logic, ensuring smooth reloads and clean server starts.
- Default Color Logic:** Implemented automatic default color application via
ConfigManagerfor messages and display names when no custom selection is made.
### 🐛 FIXES
- Formatting Cleanup:** Resolved an issue where non-legacy colors would incorrectly append
</color>tags to messages. - Legacy Handling:** Replaced outdated serialization methods with a unified legacy serializer and added
stripLegacysupport to keep chat clean.
### ⚡ PERFORMANCE
- Color Engine Overhaul:** Centralized all color tag applications within
ColorUtilfor significantly better consistency and reduced overhead. - Pattern Precision:** Improved the
PatternApplierto handle complex string formatting more efficiently.
Big thank you to [fernsehheft](https://github.com/fernsehheft) for helping with this update. You can view his commit [here. ](https://github.com/BusyBee-Development/ChatColor/commit/0ebd26d5465cb53ff542c1978aeaf1ff175884de)
- Data Saving:** Fixed a critical issue where player color data would occasionally fail to save during server shutdowns.
- Menu Logic:** Resolved a minor glitch where the GUI would flicker when switching between gradient pages.
### ⚡ PERFORMANCE
- Cache Management:** Optimized player data caching to reduce memory overhead on high-population servers.
- UI Framework Migration:** Completely replaced the legacy GUI system with **FastInv**, making all in-game menus snappier and more reliable.
- MiniMessage Native:** Full support for modern Adventure components, gradients, and hex styling.
- Live Preview:** Players can now see a real-time preview of their selected color before applying.
### 🔧 CHANGES
- Command Streamlining:** Refined
/colorssubcommands and logic for better usability. - Target Update:** The plugin now natively targets the **Minecraft 1.21 API**.
- Folia Support:** Verified and optimized for Folia’s regional threading model.
- Hex Precision:** Added support for exact HEX code input via command for staff and donors.
### 🐛 FIXES
- PAPI Integration:** Fixed a bug where certain placeholders would return raw MiniMessage tags instead of formatted text.
- Initialization:** Resolved an error occurring when the plugin loaded on legacy Java versions.
- Config Safety:** Added a failsafe to prevent the plugin from disabling if
config.ymlcontains minor formatting errors.
### 🔧 CHANGES
- Wiki:** Fully updated the documentation website with new command and permission guides.
- Migration Tool:** Added an automated system to migrate old v3.x data to the new 2026 data format.
- Modern GUI Layout:** Completely redesigned the initial inventory layout for a better "out of the box" feel.
### ⚡ PERFORMANCE
- Event Handling:** Optimized the chat listener to ensure zero-latency impact on high-speed chat environments.
- RGB Engine:** Introduced the core RGB and Gradient engine.
- Java 17:** Upgraded the minimum required runtime to Java 17.
- Permission Logic:** Implemented granular permissions for every individual color and gradient.
This is the last update from the original plugin developer. I was permitted to continue the plugin with an updated version.
Last Changelog from MattyHD0:
- Updated dependencies
- Added compatibility with +1.21
- Uploaded correct version, download again
https://www.spigotmc.org/resources/chatcolor-%E2%9C%A8-custom-patterns-%E2%9C%85-full-configurable.93186/