- New |
Sender_PermissionandReceiver_Permissionin formats now support the!prefix to negate a permission check (e.g.!group.bedrockhides the part from receivers who have that permission)- Fix | Migration from legacy ChatControl versions is now idempotent and recoverable, partial states from a previously failed mail table migration no longer block the upgrade and unreadable rows are skipped with a warning instead of aborting the whole migration
- Fix | Messages removed with
[X]no longer leak the original hover or click events from the replacement component- Improve | Resolved rare Paper watchdog edge cases when debugging proxy directory traffic under load
- Fix | Solved a color permission bypass where chained or escaped color codes could survive a single sanitization pass.
- Fix | Solved
proxy.ymlanddatabase.ymlnot saving new values to their files.- Fix | Solved "NoSuchMethodError: setAllowNonScalarKeys" crash on 1.8.8 CraftBukkit servers running an older SnakeYAML.
Please update your BungeeControl and VelocityControl too.
- Improve | Variables and JavaScript are now skipped for messages that don't contain
{, reducing CPU on busy chat channels.- Improve | Better Folia compatibility for entity checks and sync/async reporting.
- Fix | No longer crashes on Arclight servers.
- New | Added
ignore uuidrule operator that masks player UUIDs (canonical dashed and bare 32-hex) before matching, so permissive swear filters can no longer catch fragments inside UUIDs in commands like/whitelist addor/mail send- New | Players writing into a party-bound channel (mcMMO, Towny, Factions, Lands, PlotSquared, BentoBox, Parties, PAF) while not in a party now see a red error instead of silently echoing. Configurable under
channel-sender-not-in-partyinlang/en_US.json(run/chc dumplocfirst to update your locale file)
Note: This is a MASSIVE internal update focused on big networks, increasing performance and stability (big time). It took me many weeks to do, if you appreciate it please consider dropping a review!
Future of ChatControl: We got 300+ votes! Thank you! Most people voted for Minecraft 1.21.11 and Java 21 as the new ceiling, but I understand 1.8.8 still has a small user base go so I won't be dropping it today. But if any of the future releases demand complicated hacks or rewrites, it will break. Same goes for BungeeCord - 80% of you voted to drop support. I decided to push this release with it as a courtesy (please drop a review hehe!), but if a future demands a bigger rewrite/hacks to keep it supported, it will get dropped.
Getting near-instant support: Please use my bot on GitHub to get near-instant answers - the Claude Opus setup there has access to plugin's source code and docs. For example, you can just ask him "how can i configure /helpop to chat in helpop channel" etc. it's surprisingly good and I am still replying everywhere manually and checking everything!
PS: Make sure to update your VelocityControl and BungeeControl too!
Performance test (400 players connected on 1 Folia server, 15-min stress test - note the TPS drop was my computer going poof, ChatControl was running smoothly):
- Major | Reworked proxy sync to be more reliable on large networks. Solves #346, #964, #1107, #1566, #1798, #2054, #2540, #2626, #2756, #3297, #3575, #3591 and #3595.
- Major | Reworked database pooling to use HikariCP for improved performance and reliability. Also solves race on /chc reload on big networks or when too many players were joining at once.
- Misc | Now requires Java 21 or greater.
- Misc | Now uses PacketEvents instead of ProtocolLib (you can remove this plugin if you don't use it for any other integration). Please install PacketEvents jar as a plugin to use our tab and packet features.
- Misc | Updated to Adventure 5.
- New | Added support for Simple Voice Chat and PlasmoVoice so muted players can't chat.
- New | Added support for Nexo. Works automatically like ItemsAdder.
- New | Ignore.Stop_Private_Messages now supports "silent" option, which will not send "You're blocked!" message to the player who DM's someone that is ignoring him. Instead the plugin will pretend the message came through.
- New | Added Spanish localization! Set Locale to es_ES in settings.yml to take effect!
- New | Support auto switching channels on region enter/leave. Configurable in settings.yml.
- Improve | ItemsAdder and Nexo are now supported in format hovers.
- Fix | Solved duplicated chat messages typed rapidly getting out of sync in some cases.
- Fix | Solved console not accepting hex colors in /chc color.
- Fix | Solved removing messages with [X] unreliable across proxy servers.
- Fix | Solved relational variables not being hidden over proxy and not translated in spying.
- Fix | Solved region tools conflicting with my other plugins in certain edge cases.
![]()
Survey results:
![]()
![]()
PLEASE READ IN FULL, THIS IS VERY IMPORTANT:
Our plugins support 10+ years of backward compatibility which is becoming increasingly unstable, buggy and slow to update.
1. I want to keep loving making plugins and make sure they are stable, fast and simple to use (even on large networks and Folia), and I am considering raising the minimum compatibility from currently Java 8 and Minecraft 1.8.8.
2. I am also considering dropping BungeeCord support from ChatControl and Foundation because it has been in decline for a long time. Waterfall (a fork of BungeeCord) from Paper team has announced end of life 2 years ago.
Sunset Legacy Support Vote > https://forms.gle/58ggoV7h8ab19beB6
Dropping BungeeCord Vote > https://forms.gle/z4br1PnaaunPtMNJ6
Voting closes in 48 hours, please vote FOR BOTH as soon as possible.
Many thanks,
kangarko
There's no plugin update in this update post. The jar is the same as in the last version.
