♣ ChatControl Pro™ - Format and Filter Your Chat [1.7.10 - 1.15.2]

SpigotMC Plugin ♣ ChatControl Pro™ - Format and Filter Your Chat [1.7.10 - 1.15.2] 8.6.1

You must be signed in and/or upgrade to VIP to download this resource
Tested Minecraft Versions:
1.7, 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15
Languages Supported:
English, Chinese, Czech, German, Spanish, French, Hungarian, Italian, Dutch, Polish, Portugese, Russian, Slovak, Turkish, Vietnamese
Original resource: Click to spigot




If you enjoyed this plugin you might also be interested in Confiscate.
Also check out CoreArena - a totally new Monster Arena plugin!

ChatControl is the most comprehensive and configurable solution that will pimp your server's grade to a new level! It was originally made to prevent spam, ads, swear words or bots from ruining your server, but it has evolved far beyond a chat controlling plugin.

Fully supporting powerful regular expressions allows to significantly reduce amount of spam, caps, ads, swearing and even bots on your server.

While beginners will appreciate ability to create rules in-game and richly commented configuration files with examples, advanced users engage the power of regular expressions, and can write their own JavaScript scripts to create own variables or events. JSON is fully supported in messages.
But it offers so much more!​


Notice: You can disable every feature and hide each message. ChatControl has almost ZERO hard-coded features that cannot be changed. Everything is customizable.

Five Layered the Best Anti-Spam Ever Released
  • 1. Prevent TOO FAST messages and commands.
  • 2. Block SIMILAR messages and commands.
  • 3. Blocks different but REPETITIVE messages (hello, t, hello, t).
  • 4. ADAPTIVE Anti-Spam (7.8.0+) limits the amount of messages and commands in a time frame dynamically!
  • 5. PARROT ANTI-COPY (7.9.0+) prevents repeating messages from other players!
An image showing the new adaptive anti-spam, one among five (!) anti-spam layers we offer to absolutely eliminate any kind of misbehaviour:

  • Supports non-English servers and diacritical marks (äôšć).
  • Whitelist with regular expressions support.
  • Disable 'disconnect.spam' kicking by permission.
  • Supports Warn&Point system.
Beautiful Chat Formatter
Turn the default boring chat into a high grade beautiful chat that interacts with the player itself.
  • Supports ranged chat - speak to a certain distance, or override and speak globally.
    • Per world chat.
    • Linked chat in several worlds.
  • Spy mode and admin chat for staff.
  • BungeeCords, DiscordSRV and PlaceholderAPI support.
  • Unlimited possibilities with thousands of placeholders and Javascript conditions you can make some parts of a message (dis)appear dynamically!
  • Color and decoration menu! Select the desired color and decoration any time, independently of your permission plugin.
An image showing the Color & Decoration menu, where you can easily choose your chat color and decoration. The setting is written to a disk file so it remembers you next time you log-in, unless you reset it. Notice: If you hate this feature you can completely cut it off. It will never show up.

Admin Chat for Your Staff
  • Easy access: /chc ach (using this article you can create alias like /a)
  • BungeeCords, DiscordSRV and PlaceholderAPI support.
Bungee Chat for All of Your Servers
  • Easy access: /chc g (using this article you can create alias like /g)
  • DiscordSRV (both ways) and PlaceholderAPI support.
Chat Channels and Party Chat
  • Create unlimited amount of chatting rooms.
  • JSON and interactive elements are fully supported.
  • Save or log the messages.
  • Ranged channel - speak only to a certain distance.
  • Spy mode for administrators.
  • Party chat via for example Towny or Factions.
  • BungeeCords support.
  • Automatically put players into channel (or make them spy a channel) when they join.
  • DiscordSRV support both ways.
Clearing and Muting the Chat
  • Commands to clear the chat or the console.
  • Mute the chat globally, preventing spam messages f.x. from bot attacks.
Announcing Important Messages
  • Broadcast important messages manually with the "/chc a" command to everyone on the server.
  • Plays a sound to players (configurable).
  • Bungeecord is supported.
Join, Quit & Death Messages
  • Customize join/quit/kick and death messages.
  • Supports advanced conditions for different messages per world, per permission, game-mode, killer, or a JavaScript condition and much more!
  • An option to only show quit message if player is logged using AuthMe.
Private Messages
  • Secretly message other players or console.
  • Reply to the last received message.
  • Supports interactive JSON formatting and notify sound.
  • Social spy for administrators to watch conversations.
  • BungeeCords support.
  • /ignore command to ignore unwanted messages or private messages
  • /togglepm command to disable receiving private messages
  • /me command!
  • Conversation mode! Start your message with @ + receiver's name, and you will be put in a private conversation automatically.
Bonus: Minecraft 1.12 and higher supports toast
notification for private messages:

Automatic Message Broadcaster
  • Advanced timed message broadcaster with parameters, global and per world messages.
  • Three modes (chronological, random, random with cache).
  • Set both prefix and suffix (can be multi-line).
  • JSON support.
Rules (supplies anti-swear, anti-ad, etc...)
Create your own rules using regular expressions to deal with certain messages (or parts of them! Rules include almost 20 operators, including ignoring players or modifying messages. Use handlers to manage multiple rules and prevent repetitive code.

You Can Use Rules To
  • Curse/swear word filtering. (Almost 50 curse words are blocked by default!)
  • IP/URL advertisements blocking
  • Filter spam, repetitive characters
  • Block unicode / non-english messages
  • Correct typo/slang
  • Command aliases
  • Utility commands/messages
  • Fun message replacements
  • Send commands to BungeeCords
  • ...rules are entirely up to you, and the possibilities are endless!
TIP: Use inbuilt command to easily add new rules! See Commands section.
TIP2: Operators support regex capturing groups, allowing you to reuse parts of the caught message.

Standard Rules. Support chat, commands, signs, books and items edited on anvil.

Packet Rules: Catch and modify any plugin or server message. Rewrite or cancel them. Option to rewrite one message differently over multiple worlds.

Chat Ignorer: Let players choose which messages (caught be a rule) they want/do not want to see. This can be used for example to allow players decide if they will see swear words, and hide them for those who do not wish to see them. Please review the following article on the Wiki for more information.

Lower Bot Attacks
  • Set a DELAY between logging in again.
  • Block chat and commands until the player has moved.
  • Only show quit message if player was logged in using AuthMe.
  • Prevent VULGAR or ILLEGAL nicknames.
  • Prevent running commands from books.
Prevent CAPS
  • Advanced configuration including white-list, message length, PERCENTAGE, caps in a row.
  • Ignore player names.
  • Supports Warn&Point system.
Console Filter
  • Remove unwanted messages from the console.
  • Prevent placing multiple signs with same text.
  • Check signs for rules.
TIP: To allocate a player into a group, give them "chatcontrol.group.<group>" permission (replace <group> with the group name).
  • Create infinite amount of groups where players with specified permission will have different settings, e.g. join/quit/kick messages, chat/command delay, etc.
Warn & Point System
An excessive warning point system with actions to be executed when players reach certain amount of points. Includes a reset task which will subtract some points upon certain time (configurable). An option to repeat last action until the reset task gets scheduled and smart warnings to prevent multiple messages to be sent to the player.

Create infinite amount of warning sets specifying points level to trigger and actions to execute. Give points to different warning sets independently from different parts of the plugin.

  • Save chat communication to file.
  • An option to also specify which commands will be saved and a white-list of excluded players.
Miscellaneous Features:
  • Measure plugin's operations and print a warning if they take too long.
  • Verbosing rules. If a message is caught by a rule, log it in the console.
  • User-friendly debug allowing you to understand how plugin sees what you have configured and thus enabling you to fix own errors easily.

Bonus 1: Tagging and Sound Notify
  • Tag players with specified character (e.g. "Hey @kangarko!") and make the tag colorful.
  • Alert players when they receive a private message (/tell, /msg, /r) or any other defined command. Customizable sound, volume and pitch.
  • Alert only players AFK (via Essentials) or to alert players only prefixed with specified character (e.g. "@").
Bonus 2: Packet Features
NOTICE: Requires ProtocolLib.
  • Tab-Complete Manager. Prevent revealing your server configuration by disabling tab completion. An option to disable only in commands, to only allow if the message contains a white-space or to set a minimum message length.
  • Packet Rules. Catch and control every message, also from internal server messages (from Spigot) or any other plugin you have. (see Packet Rules)
Bonus 3: JavaScript Variables
It is impossible to hook into all plugins and fetch their properties, because there are thousands of different plugins out there. That is why I decided to create a new, unique variable system which allows you can create your own variables!

This is a exclusive feature in ChatControl, that allows you to get any variable from any other plugin or even server itself, such as player's ping (without NMS access) or other properties. You use JavaScript to fetch any variable to your likings, and, possibly, modify it.
There are example files shipped in the documentation, so it should be easy to learn from the examples.

Bonus 4: Correct Player's Grammar
  • Automatically insert a dot at the end of a sentence.
  • Capitalize chat messages.
  • Lowercase accidentally misspelled second letter (example: TRee becomes Tree).
  • Configurable message length.
  • Respects domains and ip-adresses.
Bonus 5: Newcomer's Features
  • We offer special settings for your new players! You specify how much time spent on the server must a player have in order to be categorized as newcomer or not.
  • Newcomers (can) have the following limitations:
    • Custom message when they log-in.
    • Disabled sending chat messages (whitelist supported).
    • Disabled sending commands (whitelist supported).
    • Disabled seeing messages from other players!
    • Worlds in which the newcomer feature function, so you can disable all limitations instantly when your players go to a different world.



More in-game preview running on a production server:
Interactive chat uses JSON elements and can display different texts when hovering on the chat elements, such as player's rank or their name. Fully configurable and intuitive.

Announcement command helps You to keep order on the server and broadcast important messages. With configurable sound notify.

Clearing the chat is one of the many chat-utility features. Console can also be cleared.

The inbuilt easy rules creator, with provides step by step simple yet effective rule creation within 15 seconds.

Advanced users can benefit from creating custom variables using JavaScript. This allows to do basically everything, even executing actions not related to the plugin at all.


BungeeCords is supported!
The only thing you need to do is to allow it in settings.yml by settings 'BungeeCords.Enabled' to 'true' and installingBungeeControlBridge on your network.

NOTICE: Please do not put ChatControl on a bungee server, it is a Bukkit plugin. The only thing you need to put on the bungee is BungeeControlBridge.

BungeeCords features:
  • Alert messages from rules and handlers over all servers.
  • Admin chat with '/chc ach' and global chat with '/chc global'.
  • Execute commands on bungee with the 'then bungeeconsole' operator in rules and handlers. Supports multiple commands.
  • Chat channels.
  • Private messages including '/tell' and '/reply'.
  • Join, quit, kick and death messages.
  • Messages when player joins or leaves the network, or switches between servers.
ChatControl speaks your language!
Currently available localizations
English, German. Slovak and Czech + exclusive cases support (pády), Spanish, Chinese, Dutch, Hungarian, Russian, Portuguese, Italian, Polish, Turkish and many more! (See the top of this page)

TIP: To customize a localization, please see this article in the Documentation.

If you make a localization, it would be appreciated if you send it to me via a PM. Thanks!

JSON messages are fully supported. Everywhere.
The message automatically loses JSON when sent to console. Colour codes with & are still supported in JSON messages. SeeDocumentation for tutorials.

The possibilities are endless
Engage the power of regular expressions, Java's Reflections or JavaScript to create unlimited amount of rules, variables or events.

Developer API
Developers can take advantage of ChatControl's API to manipulate and edit channel-related features. Click here for the full documentation.

Smart Configuration
Settings file and localization warn you and repair themselves from incorrect values (e.g. a text instead of a number) and will be automatically upgraded when you install a new version.

NOTICE: When configuration updates, all YAML comments (#) are lost. This is due to how Bukkit handles the saving. If you need reference values and comments, open the plugin JAR file and see the latest versions of the files.

Reliable and Stable
ChatControl has been around here since 2013, the features has been tested on a production server and are thus stable and reliable.

Lightweight & Safe
ChatControl has efficient and optimized threads and memory usage. Updater runs asynchronously to prevent server freeze, and regular expressions are prevented into running an infinite loop and freezing the server.


Java 8
Minecraft 1.4.7
or newer *

* BungeeChatAPI required for Minecraft 1.7.10 or older. Packet features may not be available in Minecraft 1.6.4 and older.

You are allowed to buy this plugin only if you have:
Finished reading this page and understood its content. Do not make a blind purchase.
2) Acknowledged known cave acts and bugs. Please respect that the plugin is not perfect. Although it will work by drag & dropmethod, the settings are just examples and you are highly encouraged to review them and adjust to your needs, and on a regular basis.
3) Agreed with Terms of Service.
Thank you. I wish you the best experience using this plugin.
First release
Last update
5.00 star(s) 1 ratings

More resources from Yanyu_Shangchi

Share this resource

Latest updates

  1. 8.6.1

    Fix | Solved our JavaScript engine not being loaded for Minecraft 1.15.2, causing some issues...
  2. 8.5.4

    Fixes New Crash Exploit
  3. 8.3.4