QuickChat - Folia support and Redis icon

QuickChat - Folia support and Redis -----

Modern chat plugin with formats, placeholders, private messages, colors, and full customization.




We've fixed a Redis issue caused by the new version of Folia; it should now work correctly.

"And version detection was improved. "
----------, Jun 18, 2026

We've fixed a Redis issue caused by the new version of Folia; it should now work correctly.
----------, Jun 18, 2026

We've made changes to how the config.yml file is read to ensure that changes are always applied correctly.

Remember that QuickChat is compatible with any plugin that interacts with the chat. Just make sure to set the event-priority to “HIGHEST”; this ensures that QuickChat is always processed last.
----------, May 25, 2026

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:

  • enabled
  • name
  • volume
  • pitch
Legacy & Modern Compatibility
We analyzed and fixed compatibility issues between old and modern Minecraft sound names.

The plugin now properly supports:

  • ORB_PICKUP
  • ENTITY_EXPERIENCE_ORB_PICKUP
  • BLOCK_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:

  • true
  • false
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:
  • info
  • status
  • reload
  • clear
  • help
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.

----------, May 22, 2026

We have fixed an issue with Discord SRV
----------, May 6, 2026

We have fixed an issue with Discord SRV
----------, May 6, 2026

Color display issue: Fixed a bug where colors in tooltips were displayed incorrectly. They now render correctly, and HEX colors are displayed as intended.

Version detection: Adjusted the server validation to run only after the server has fully loaded, preventing silent failures in modern versions of Paper.
----------, May 4, 2026

Quickchat - Optimization Notes (Changelog)

New Features

  • Redis Broadcast: The /say command is now sent across the entire network connected via Redis.
  • Native 1.21+ Support: Hex color detection has been rewritten. The plugin now natively supports 1.21, 1.22, and future versions without requiring additional patches.
⚙️ Optimizations (20k+ Users Performance)

  • Pre-Merged Format Cache: Eliminated the creation of HashMaps per second during chat peaks. Format retrieval is now instantaneous (O(1)).
  • Static Regex: Hex color pattern compilation was removed from the main message flow, significantly reducing CPU usage.
  • Zero I/O (No Disk Reads): Private message (PM) sounds and formats are now cached in memory. No more reading from config.yml for every sent/received message.
Critical Fixes (Stability)

  • Thread Safety: PM managers (/reply, /spy) and the ignore system (/ignore) were rewritten using thread-safe collections (ConcurrentHashMap). This removes main-thread blocking and chat interruptions.
  • O(1) Lookups: Checking if a user is ignored has been optimized from a slow list to a constant-time Set lookup.
  • Memory Leaks: Fixed an issue where SQLite left open connections (PreparedStatements) in memory during server shutdown.
  • Bugfix: Fixed an issue where an admin using /say (Redis Broadcast) would send the message to all servers except the one it was executed from.
----------, May 4, 2026

"one-way" - Unidirectional isolation. Messages FROM the isolated world stay INSIDE it (other worlds don't see them). Messages FROM normal worlds CAN be seen by players in isolated worlds. Private messages (/msg) are NOT blocked in this mode. Ideal for arenas where you want players to stay informed but keep their own chat private. isolation-mode: "one-way"

We recommend deleting and regenerating world-isolation.yml
----------, Apr 30, 2026

"one-way" - Unidirectional isolation. Messages FROM the isolated world stay INSIDE it (other worlds don't see them). Messages FROM normal worlds CAN be seen by players in isolated worlds. Private messages (/msg) are NOT blocked in this mode. Ideal for arenas where you want players to stay informed but keep their own chat private. isolation-mode: "one-way"

We recommend deleting and regenerating world-isolation.yml
----------, Apr 30, 2026

QuickChat - Features Overview

Redis Cross-Server (Global Synchronization)
Config:
Code (Text):
redis.yml
QuickChat includes Redis support to connect all your servers (Lobby, Survival, Skyblock, etc.) in real-time, creating a unified chat system across your entire network.

Features

  • Global Private Messaging
    Use
    Code (Text):
    /msg
    and
    Code (Text):
    /r
    across all servers.
  • Global Tab Complete
    Auto-complete player names from the entire network.
  • StaffChat Across Servers
    Staff members can communicate from any server.
  • Global Public Chat (Optional)
    Sync chat between all servers.
  • Server Tags
    Show the origin server in messages.
    Example:
    Code (Text):
    [Skyblock] Player -> You: Hello

Notes

  • Fully asynchronous system
  • Automatic Redis reconnection if connection is lost
  • No impact on main server thread

World Isolation System
Config:
Code (Text):
world-isolation.yml
Designed for servers running multiple worlds (e.g. Survival + PvP arenas).

Features

  • Per-World Chat Isolation
    Players only see messages from their current world.
  • Example
    If
    Code (Text):
    arena_pvp
    is isolated:
    • Players inside only see messages from that world
    • No messages from Survival
    • Survival players don’t see arena chat
  • Private Message Control
    Option to block
    Code (Text):
    /msg
    between isolated worlds and global worlds.

Use Cases

  • PvP arenas
  • Minigames
  • Competitive environments

⚠ Important

Do NOT use Redis Cross-Server and World Isolation together on the same server.

They serve opposite purposes.

Recommendation:
Disable Redis in
Code (Text):
redis.yml
if you want full isolation.
----------, Apr 28, 2026

Command: /mutechat
Silences or enables the global server chat.

Main Permission:
quickchat.admin.mutechat
Description: Allows muting and unmuting the global chat.
⚙ Default: OP (operators)

Bypass Permission:
quickchat.bypass.mutechat
Description: Allows a player to send messages even if the global chat is muted.
⚙ Default: OP (operators)

Command: /chatsettings
Opens the player's personal settings menu.

Permission:
quickchat.chatsettings
Description: Allows opening the personal configuration menu (global chat and private messages).

Bypass Permission:
quickchat.bypass.mutechat

⚙ Configuration:
This permission can be configured in:
chat-mute/player_settings.yml

  • Default: quickchat.chatsettings
  • If left empty (""): the command will be accessible to all players.
----------, Mar 31, 2026

We have implemented an option for those using plugins that rely on Paper's chat event instead of Spigot's (# Use Paper's AsyncChatEvent instead of Spigot's AsyncPlayerChatEvent).

You can enable it in the "event-priority" section inside the config.yml file.

If you prefer, you can also add the option manually:


use-paper-event: false

Make sure it is placed under event-priority:.

Example:

event-priority:
use-paper-event: true

This is useful if you don’t want to create a new config file. With this option, full support for Paper is provided.
----------, Mar 23, 2026

We have implemented a StaffChat system, completely isolated from DiscordSRV, meaning messages will be fully private for staff members who have the following permission: quickchat.staffchat.

The command to use this channel is /staffchat.

Additionally, we have implemented a BossBar announcement system, which you can use to display information such as your server IP or store.

We recommend reloading the config.yml and messages.yml files.
----------, Mar 22, 2026

With this, we conclude the MySQL integration, which is now fully stable. Additionally, a startup error that occurred in some versions of Minecraft has been fixed. The update is completely optional, although it is always recommended.
----------, Mar 21, 2026

We currently support SQLite and MySQL for storing data such as colors, styles, and ignored players.
I have tested everything and it appears to work 100% correctly. However, if you find any issues, please don’t hesitate to report them.

config.yml ------- the options were added in config.yml


# ╔══════════════════╗
# ║ STORAGE SYSTEM ║
# ╚══════════════════╝
storage:
# Choose the data storage system (chosen colors and ignored users)
# Available options:
# YAML - Multiple .yml files (simple, for small servers) “100% optimized.”
# SQLITE - Single file with asynchronous cache (ideal for +1000 users)
# MYSQL - Remote database (ideal for multi-server networks / BungeeCord) Compatible with MariaDB.
type: "YAML"

# MySQL configuration (only used if type is "MYSQL")
mysql:
host: "localhost"
port: 3306
database: "quickchat"
username: "root"
password: ""
# Connection pool size (recommended: CPU cores * 2)
pool-size: 10
----------, Mar 13, 2026

We have fixed an issue in the advanced color system. The system responsible for handling hexadecimal colors was not linked to the quickchat.colors permission, which allowed users without that permission to write using hexadecimal colors in chat.

This issue has now been fully resolved, and the permission is correctly enforced in both the advanced color system (hex) and the legacy color system.
----------, Mar 5, 2026

We have fixed an issue with the mention system. When using a color from the color menu and mentioning a player, the notification was not being sent correctly. This issue has now been resolved, and mentions will notify properly.
----------, Mar 3, 2026

We have fixed a typographical error in the chatcolors.yml file.

You must add an “R” to the following entry:

no-colors-pemission: ➝ no-colors-permission:

With this change, the message will work correctly after updating the file.

Additionally, we have added a new permission for styles:

quickchat.styles.all

This permission allows you to grant access to all styles in the color menu without needing to assign them one by one.
----------, Feb 23, 2026

Guys, remember that Quickchat is free and comprehensive, so a review wouldn't hurt. Thank yo u.

This update concludes the item display in the chat. Everything now works correctly and has been optimized, meaning that the feature is now in stable version and no longer experimental.
----------, Feb 19, 2026

We have implemented a feature that allows displaying the item held in the player’s hand directly in the chat.

For now, this feature is considered experimental, but it works correctly across all Minecraft versions. We label it as experimental because it may still need some visual improvements.

At the moment, it displays the item exactly as the player sees it, including its name, lore, and all related metadata.

Additionally, we added a custom enchantment ordering, since Minecraft clients may alter the vanilla enchantment order in certain cases.

" quickchat.item" Permission


Paste this at the end of the config.yml file if you don’t want to reload the file.

# ╔═══════════════════════╗
# ║ CHAT ITEM ║
# ╚═══════════════════════╝
chat-item:
# The placeholder to trigger the item display
# Enchantment order to be displayed in chat
# Damage, combat additions, utility, and protection
placeholder: "[item]"

# Format of the item in chat
# {amount} - Amount of items (only shown if > 1)
# {name} - Display name of the item
format: "&8[&3{amount}x {name}&8]"

# Message when holding nothing
empty-message: "&cYou have nothing in your hand."
----------, Feb 11, 2026

Sorry for the delay, everyone. I’ve added an improvement to the plugin messages — you can now customize every aspect of them in any language you want.

I apologize for not adding this earlier; today, while testing the plugin, I realized it was missing and thought, “oh, this should be here.”

Just upload the plugin, reload the server, and a YAML file will be generated with all the plugin’s messages.
----------, Feb 5, 2026

[QuickChat] Update Log
- Updated ChatColors menu.
- Added support for text styles in chat colors.
- New available styles:
• Bold (&l)
• Italic (&o)
• Underline (&n)
• Strikethrough (&m)
• Magic (&k)
- Each style includes:
• Custom icon and slot
• Toggle system with status display
• Individual permission per style
------------------------------------------------------------------------------------


styles:
bold:
name: "&lBold"
style: "&l"
permission: "quickchat.styles.bold"
material: "ANVIL"
data: 0
slot: 40
lore:
- "&7Click to toggle &lBold&7 style."
- "&7Status: %status%"

italic:
name: "&oItalic"
style: "&o"
permission: "quickchat.styles.italic"
material: "BOOK"
data: 0
slot: 39
lore:
- "&7Click to toggle &oItalic&7 style."
- "&7Status: %status%"

underline:
name: "&nUnderline"
style: "&n"
permission: "quickchat.styles.underline"
material: "PAPER"
data: 0
slot: 38
lore:
- "&7Click to toggle &nUnderline&7 style."
- "&7Status: %status%"

strikethrough:
name: "&mStrikethrough"
style: "&m"
permission: "quickchat.styles.strikethrough"
material: "TNT"
data: 0
slot: 41
lore:
- "&7Click to toggle &mStrikethrough&7 style."
- "&7Status: %status%"

magic:
name: "&kMagic"
style: "&k"
permission: "quickchat.styles.magic"
material: "ENDER_EYE"
data: 0
slot: 42
lore:
- "&7Click to toggle &kMagic&7 style."
- "&7Status: %status%"
----------, Feb 2, 2026

I have fixed a minor aesthetic issue related to colors.
Advanced formats such as <gradient>, <rainbow>, and <pattern> now work correctly.

No file editing is required — you only need to update the .jar file.
----------, Jan 27, 2026

An internal error has been fixed. You don't need to change anything, just update the .jar file without any problems.
----------, Jan 27, 2026

I recommend reloading the file config.yml, or simply pasting the function below the ANTI-POPUP SYSTEM function.
Remember: it must be placed at the very end, below, and not inside the ANTI-POPUP function.



# We have implemented a mention system for players.

# ╔═══════════════════════╗
# ║ MENTION SYSTEM ║
# ╚═══════════════════════╝
# Settings for player mentions using @PlayerName

mentions:
enabled: true

# Symbol used to trigger mentions (default: @)
# Note:
# - If you add a symbol, you will not be able to tab-complete player names,
# which can become annoying.
# - It is recommended to leave this empty.
# - Mentions will NOT work if you have a default color set in the /colors menu.
# This is only a recommendation.
symbol: ""

# Mention format in chat
# Use %player_name% as the placeholder for the mentioned player
# Examples:
# "&a&l@%player_name%"
# "&b&l[%player_name%]"
format: "&a&l@%player_name%"

# Message displayed in the action bar to the mentioned player
actionbar: "&e&lYou were mentioned by %player_name%!"

# Sound played when a player is mentioned
sound:
enabled: true
name: "BLOCK_NOTE_BLOCK_PLING"
volume: 1.0
pitch: 2.0


# ╔═══════════════════════╗
# ║ DISCORDSRV SUPPORT ║
# ╚═══════════════════════╝
# We have also added compatibility with the DiscordSRV plugin.
# Mentions will now work correctly when your in-game chat
# is linked to a Discord channel.
----------, Jan 27, 2026

️ System Improvements
Ignore System Reorganization: All settings and data have been moved to a new folder, ignore_player/, for better organization.

Data: ignore_player/ignored_players.yml
Messages: ignore_player/ignore_message.yml
----------, Jan 25, 2026

The issue with prefix colors has been fixed. Previously, the system required the LuckPerms group to have a Display Name defined in order to detect the color from the prefix. If the group did not have a Display Name, the prefix was completely ignored.

The logic has now been updated to work as follows:

Priority 1:
The system looks for the color directly in the prefix variable
(for example, &b[Vip1] → detects &b).

Priority 2 (Fallback):
Only if no color is found in the prefix, it will attempt to detect the color from the group name.
----------, Jan 25, 2026

"You don't need to change anything."

The issue with prefix colors has been fixed. Previously, the system required the LuckPerms group to have a Display Name defined in order to detect the color from the prefix. If the group did not have a Display Name, the prefix was completely ignored.

The logic has now been updated to work as follows:

Priority 1:
The system looks for the color directly in the prefix variable
(for example, &b[Vip1] → detects &b).

Priority 2 (Fallback):
Only if no color is found in the prefix, it will attempt to detect the color from the group name.
----------, Jan 25, 2026

Chat Color Menu Improvements
The color menu has been improved. You can now create advanced variants, such as color gradients, with a higher level of customization.
New pages have also been added to support more colors. Simply change the Page: value in the menu and the color will be automatically added to a new page.

Permission Fix
An issue related to permissions has been fixed.

⚠️ Important Recommendation
It is recommended to delete the colors folder and regenerate it.
If you prefer to keep it, make sure to replace the old values with the new ones to avoid compatibility issues.

Final Note
I apologize for the frequent updates. Please remember that QuickChat maintains support for all Minecraft versions, which requires a lot of work and dedication.
If you find the plugin useful, I would greatly appreciate a positive review.
----------, Jan 23, 2026

We have completely restructured the permission system to make it more logical and easier to manage:

Permission Description
"quickchat.menucolors" Required to open the color menu (/chatcolor).
"quickchat.menucolors.all" Grants access to all colors in the menu automatically.
"quickchat.menucolors.<color>" Grants access to a specific color (e.g. quickchat.menucolors.red).
Note: Legacy permissions such as chatcolors.color.* have been replaced.
----------, Jan 22, 2026

Chat Color System (GUI):
New /chatcolors command that opens an interactive menu.
Players can choose their preferred chat color.

Build:
Compiled with Java 8 to ensure compatibility with both old and modern servers.
----------, Jan 22, 2026

[LOGS] Text Formatting Update

➤ New color and format tags

  • Modern tag usage:
    <red>Hello <bold>World
    <blue>Blue text

  • <reset> clears all active formatting.

  • Short aliases available:
    <b> bold · <i> italic · <u> underline
➤ Advanced gradients (improvement)

  • Support for multiple colors in a single gradient.

  • Colors by name or HEX.

  • Examples:
    • <gradient:red:blue:gold>Multicolor Text</gradient>

    • <gradient:#ff0000:#00ff00:#0000ff>RGB Gradient</gradient>
✔️ More flexible, clean, and powerful formatting system.
----------, Jan 13, 2026

The anti-popup section has been modernized to include advanced controls and improved stability for newer versions of Minecraft.
----------, Jan 10, 2026

The plugin's performance has been improved to deliver superior performance.
----------, Nov 11, 2025

We have implemented Folia support in Quickchat.
----------, Oct 25, 2025

Issues have been resolved that prevented AntiPopup from launching in higher versions.
----------, Sep 20, 2025

Issues have been resolved that prevented AntiPopup from launching in higher versions.
----------, Sep 20, 2025

Issues have been resolved that prevented AntiPopup from launching in higher versions.
----------, Sep 20, 2025

Players will no longer see annoying reporting popups, and the reporting system will be completely disabled, just like the original AntiPopup plugin but without any external dependencies.
----------, Aug 27, 2025

This is the Pro version of my plugin. I've made it available for free because, honestly, I'm not interested in making money from it.
This version includes HoverInfo, which makes everything look much nicer.
----------, Jul 10, 2025

Now QuickChat has been reprogrammed from scratch, so the configuration has changed. We hope you enjoy this new version of the add-on!
----------, May 7, 2025

Resource Information
Author:
----------
Total Downloads: 591
First Release: Feb 27, 2024
Last Update: Jun 18, 2026
Category: ---------------
All-Time Rating:
5 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings