
QuickChat - Folia support and Redis
Modern chat plugin with formats, placeholders, private messages, colors, and full customization.
QuickChat - Folia support and Redis 16.6
Список изменений
Network & Synchronization Update
Today we implemented a major advancement in network communication, synchronization, and administrative control within the plugin. Below is the complete overview of everything added and improved:
1. Cross-Server Mentions Synchronization (Redis)
Raw Message Transmission
We modified the Redis protocol (RedisMessageData) to include the rawMessage (original message) hidden inside the public chat JSON before applying colors, gradients, or visual formatting.
Detection on the Destination Server
When a server receives the packet from Redis, it now silently processes the rawMessage using MentionsManager to properly detect mentions.
Cross-Server Alerts
If a player is mentioned from another server in the network, they will now receive:
- Visual ActionBar alert
- Notification sound
fully synchronized across servers.
Respect for Local Configuration
Mentions fully respect each server's local configuration. Example:
- If Server B has
mentions.enabled: false - then no mention coming from Server A will trigger alerts there.
Self-Mention Prevention
We blocked the possibility of players receiving their own cross-server mention notifications.
Duplicate Prevention
A HashSet<UUID> was implemented to ensure players never receive duplicate sounds or alerts for the same synchronized message.
2. Sound Support & Compatibility Improvements
New Structured Sound Configuration
Sound settings for both PMs and mentions now support a structured configuration format:
enablednamevolumepitch
Legacy & Modern Compatibility
We analyzed and fixed compatibility issues between old and modern Minecraft sound names.
The plugin now properly supports:
ORB_PICKUPENTITY_EXPERIENCE_ORB_PICKUPBLOCK_NOTE_BLOCK_PLING
as well as custom Resource Pack sounds such as:
custom.soundname
3. Critical Cross-Server Mentions Bugfix
During a technical audit, we detected and patched a critical issue inside RedisSubscriber.
Detected Problem
When Redis received a Legacy format (plain text without JSON):
- chat messages were processed correctly,
- but execution terminated prematurely (
return), - preventing mentions from being processed entirely.
Applied Fix
The mentions processing system was integrated directly into the Legacy fallback path:
sendPublicChatLegacy
ensuring mentions now work correctly even with old message formats.
4. Native PlaceholderAPI Expansion
We developed and injected a native PlaceholderExpansion directly into the plugin to expose real-time player settings and states.
This allows seamless integration with:
- Scoreboards
- TAB plugins
- Holograms
- Menus
- any PlaceholderAPI-compatible system
Available Placeholders
Fast Boolean States
%quickchat_chat_enabled%%quickchat_msg_enabled%
Returns:
truefalse
Ideal for conditions and logic checks in external plugins.
Visual Status Placeholders
%quickchat_chat_status%%quickchat_msg_status%
These directly fetch the formatted texts configured in player_settings.yml, for example:
&aEnabled&cDisabled
ready to be displayed in GUIs, scoreboards, or menus.
5. New Subcommands & Administrative Tools
The base /qchat command has been significantly expanded with advanced administration, debugging, and monitoring tools.
Forced Preference Management
New commands:
/qchat chattoggle [player]/qchat msgtoggle [player]
These allow:
- Console
- Administrators
- Staff members
to modify any player's chat or private message visibility preferences across the network.
Useful for:
- player assistance,
- moderation,
- or soft punishments.
Anti-Popup Suite
New system:
/qchat antipopup
Available subcommands:
infostatusreloadclearhelp
This suite allows administrators to monitor and hot-reload the packet interception system related to:
- Secure Chat Reporting
- client popups
- packet interception
without restarting the server.
