
ChatColorPlus
A lightweight Minecraft plugin that adds customizable chat colors and formatting with permission-based access.
Список изменений
ChatColor2 v1.16.2
Bug-fix release focused on gradient, ✨, and hex custom colours not appearing in chat on modern Paper/Folia servers.
Verified on: Folia 1.21.2 (Build 26.1.2)
Fixed
Modern chat compatibility
- Fixed gradient, ✨, and hex colours disappearing from chat on modern Paper/Folia servers.
- ChatColor now uses Paper's AsyncChatEvent instead of the legacy chat event.
- Prevents other chat plugins (such as EssentialsX) from stripping modern colour formatting before ChatColor processes it.
Colour restoration
- Added a final chat renderer that restores colours if another plugin removes all formatting.
- Messages that already contain formatting are left untouched to avoid double-colouring.
Synchronous chat handling
- Fixed colours being skipped when chat was fired synchronously.
- "ChatColorEvent" now correctly matches the actual thread context instead of always being marked asynchronous.
- Event dispatch failures no longer prevent colours from being applied.
Reload stability
- Fixed a "NullPointerException" after "/chatcolor reload" when selecting colours in the GUI.
- Player configuration files are now managed separately from plugin configuration.
- Player data survives reloads and is reloaded lazily when needed.
Data loading
- Fixed several crash paths caused by player data not being fully loaded.
- Saving player data, opening the GUI, and reading or writing colours now safely handle unloaded data.
- Applies to both YAML and SQL storage backends.
Storage failures
- Storage errors can no longer prevent chat colours from being applied.
- Default-colour and inaccessible-colour checks are isolated.
- Console warnings are shown only once instead of repeatedly printing stack traces.
Deleted colours
- Fixed deleted custom colours causing chat messages to be prefixed with the literal text "null".
Added
"/chatcolor debug"
Requires OP or the "chatcolor.admin" permission.
Provides a diagnostic report including:
- Stored player colour
- Resolved colour
- Colourised preview
- Legacy hex mode status
- Active chat event type
- Every plugin listening to both chat events and their priorities
Also enables per-message console logging showing:
- The colour ChatColor applies
- The final rendered chat message
Use this command first if colours are not appearing, as it identifies conflicting plugins directly.
"use-modern-chat-event"
New configuration option:
use-modern-chat-event: true
- Default: "true"
- Set to "false" to use the legacy chat event.
- Requires a server restart.
- Servers without Paper's modern chat API (such as Spigot) automatically fall back to the legacy event.
API Changes
- "ChatColorEvent#getChatEvent()" now returns "null" when the modern chat event is enabled, since there is no legacy "AsyncPlayerChatEvent".
- Plugins using "ChatColorEvent" should either:
- Null-check "getChatEvent()", or
- Set "use-modern-chat-event: false".
Notes
- No manual configuration changes are required.
- The new "use-modern-chat-event" option is automatically added to existing "config.yml" files when updating.
