Skip to content

Permissions

Info

Here you can view all permissions this plugin supports. We recommend using LuckPerms or PermissionsEx (for older Minecraft versions) as a permission plugin, as these have proven stability over the many years of their course.

One of the best parts about ChatControl is that, you can view the required permission directly within the error message when you attempt to execute a command you don't have access to.

Permission error message showing required permissions


Important

Danger

1) If you are an operator or have the "*" permission and would like something not to apply for you, simply give yourself that as a negative permission. For example to stop yourself from automatically joining into channels, give yourself "-chatcontrol.channel.autojoin." permission. If you have LuckPerms, that would be "chatcontrol.channel.autojoin." permission with a value of "false".

2) The magic &k color has "obfuscated" permission name, such as "chatcontrol.color.obfuscated".

Channel Permissions

You can read more about channel auto-join permissions here: Channels Auto-Join.

Color Permissions

For legacy colors use chatcontrol.color.`{color}, for hex colors use chatcontrol.hexcolor.`{color_name} If you see the dumb of the permissions file below, please note that chatcontrol.color.{color} can also have the color replaced with decorations too, not just legacy colors. So you can use:

  • chatcontrol.color.bold
  • chatcontrol.color.obfuscated
  • chatcontrol.color.strikethrough
  • chatcontrol.color.underline
  • chatcontrol.color.italic

For gradients in the /chc color menu, use ``chatcontrol.guigradient.{name}``` where is the lowercased gradient name (e.g.chatcontrol.guigradient.sunset, chatcontrol.guigradient.ocean`).

For the most up-to-date color permission information, see the header comments in the "Colors" section of settings.yml.

Permissions List

To list all permissions ChatControl has to offer, type "/chc perms". We moved our permissions list to the game because it was harder to maintain it here, and we can also show what permissions you have when you run this command in game.

Permissions command output showing list of available permissions

You can also view the required permission directly in the error message when you attempt to execute a command you don't have access to.

Permissions True By Default

Some permissions are given to everyone by default, even non-OPs and basic players. These are:

  • chatcontrol.receive.announcer: See messages you announce via /chc announce command.
  • chatcontrol.soundnotify: Tag players such as "Hey @kangarko" that uses the Sound Notify feature that will make the tag colorful and send a sound to the tagged player.
  • chatcontrol.chat.read: See chat messages.
  • chatcontrol.chat.write: Write chat messages.
  • chatcontrol.use.color.chat: Use chat colors the player has permissions for (see the class dumb below) in chat.
  • chatcontrol.use.color.me: Use chat colors the player has permissions for (see the class dumb below) in /me.
  • chatcontrol.use.color.prefix: Use chat colors the player has permissions for (see the class dumb below) in /tag prefix.
  • chatcontrol.use.color.nick: Use chat colors the player has permissions for (see the class dumb below) in /tag nick.
  • chatcontrol.use.color.suffix: Use chat colors the player has permissions for (see the class dumb below) in /tag suffix.
  • chatcontrol.use.color.private_message: Use chat colors the player has permissions for (see the class dumb below) in /tell.
  • chatcontrol.bypass.spamkick: Do not get kicked by Bukkit for spamming repeatedly (we have a better antispam filter than Bukkit has).

Permissions False By Default

Some permissions are taken away by default, even that OPs won't have them (you have to see how that performs with your permission plugin).

  • chatcontrol.spy.autoenable: We disable players starting to spy everything when they join, by default.
  • chatcontrol.bypass.range.world: Even if you have "chatcontrol.bypass.range" we still prevent you from chatting across the entire world, if your channel has a Range option. That means you need to give yourself this permission explicitly to chat over your entire world and other connected worlds.

Proxy Permissions

Here are some extra permissions for Proxy:

yml
Perm: chatcontrol.silence.join
Info: Hide the join message when the player joins on another server.

Perm: chatcontrol.silence.leave
Info: Hide the leave message when the player leaves from another server.

Perm: chatcontrol.silence.switch
Info: Hide the switch message when the player goes from one server to another.

All Permissions

Two things first

  1. The always up-to-date list is in-game, just run /chc perms.
  2. Some permissions end with a value you fill in, shown below as <...>. Swap it for a real value, or use * to grant the whole group at once (e.g. chatcontrol.command.mute.*).

Commands

Let players use the plugin's commands (default label /chc).

PermissionWhat it does
chatcontrol.command.announce.<type>Broadcast announcements. <type>: chat, title, actionbar, bossbar, toast
chatcontrol.command.bookRead or save books used in rules
chatcontrol.command.clearClear the game chat
chatcontrol.command.clear.consoleClear the console
chatcontrol.command.colorChange your own chat color and style
chatcontrol.command.color.othersChange someone else's chat color and style
chatcontrol.command.debugZip up your settings for a bug report
chatcontrol.command.forwardSend a command to the proxy or another server
chatcontrol.command.ignoreIgnore a player's messages and PMs
chatcontrol.command.ignore.listSee who is ignoring whom
chatcontrol.command.ignore.othersMake another player ignore or unignore
chatcontrol.command.infoPrint debug info about the plugin
chatcontrol.command.listBrowse online players on the server or network
chatcontrol.command.logView recent chat and command history
chatcontrol.command.mailUse the in-game mail system
chatcontrol.command.mail.send.allMail everyone who ever joined
chatcontrol.command.mail.send.onlineMail everyone currently online
chatcontrol.command.meSend a formatted /me message
chatcontrol.command.saySend a formatted /say message (no proxy)
chatcontrol.command.messageEdit join, MOTD and other player messages
chatcontrol.command.migrateMove data between MySQL and data.yml
chatcontrol.command.motdShow the message of the day
chatcontrol.command.motd.othersShow the MOTD to another player
chatcontrol.command.mute.<type>Mute chat. <type>: player, channel, server, proxy
chatcontrol.command.permissionsList all permissions (/chc perms)
chatcontrol.command.pointsManage players' warning points
chatcontrol.command.purgeDelete past messages
chatcontrol.command.realnameLook up a player's real name and nick
chatcontrol.command.regionManage map regions used in rules
chatcontrol.command.reloadReload the plugin config
chatcontrol.command.replyReply to the last person who PM'd you
chatcontrol.command.ruleManage the rules system
chatcontrol.command.scriptRun JavaScript scripts
chatcontrol.command.sendformatSend a message through a specific format
chatcontrol.command.spyTurn spying on players on or off
chatcontrol.command.tag.<type>Set your own tag. <type>: prefix, suffix, nick
chatcontrol.command.tag.adminManage other players' tags
chatcontrol.command.tellSend a private message
chatcontrol.command.testrulesTest a message against your rules
chatcontrol.command.testsaveForce-save player data to the database
chatcontrol.command.tourOpen the plugin intro tour
chatcontrol.command.toggle.<type>Toggle seeing a feature. <type>: mail, announcement, me, pm, death, join, kick, quit, list, soundnotify
chatcontrol.command.toggle.onTurn a toggle on
chatcontrol.command.toggle.offTurn a toggle off
chatcontrol.command.updateRefresh a player's tab-list name

Channels

<channel> = a channel name from settings.yml. <mode> = read or write.

PermissionWhat it does
chatcontrol.channel.autojoin.<channel>.<mode>Auto-join a channel in a mode when you log in
chatcontrol.channel.join.<channel>.<mode>Join a channel with /channel join
chatcontrol.channel.join.othersJoin other players into channels
chatcontrol.channel.leave.<channel>Leave a channel with /channel leave
chatcontrol.channel.leave.othersMake other players leave channels
chatcontrol.channel.listList players in channels
chatcontrol.channel.list.optionsMute or kick players from the channel list
chatcontrol.channel.send.<channel>Send a one-off message to a channel
chatcontrol.channel.sendas.<channel>Send a message to a channel as another player
chatcontrol.channel.setForce-set which channel a player is in

Colors & Formatting

Let players use colors and formatting in what they type.

PermissionWhat it does
chatcontrol.color.<name>Use a & color or style. <name>: red, bold, italic, underline, strikethrough, obfuscated, ...
chatcontrol.hexcolor.<hex>Use a hex color, e.g. ccffdd (no #)
chatcontrol.action.<action>Use clickable/hover MiniMessage tags. <action>: hover, click, insertion, rainbow, font. Can be abused, hand out carefully
chatcontrol.guicolor.<name>Pick a named color in the /chc color menu
chatcontrol.hexguicolor.<hex>Pick a hex color in the /chc color menu
chatcontrol.guigradient.<name>Pick a gradient in the /chc color menu, e.g. sunset
chatcontrol.use.color.<place>Actually apply your colors somewhere. <place>: chat, me, prefix, nick, suffix, private_message

Chat

PermissionWhat it does
chatcontrol.chat.readSee chat messages
chatcontrol.chat.writeWrite chat messages
chatcontrol.chat.linksMake your URLs clickable

Spying

Spy on what players do. <type>: chat, command, private_message, mail, sign, book, anvil.

PermissionWhat it does
chatcontrol.spy.<type>Spy on one type of action
chatcontrol.spy.autoenableStart spying everything automatically on join

Bypasses

Let trusted staff skip filters and limits. Hand these out carefully.

PermissionWhat it skips
chatcontrol.bypass.capsThe anti-caps filter
chatcontrol.bypass.clearKeeps your chat when someone clears chat
chatcontrol.bypass.delay.chatThe cooldown between messages
chatcontrol.bypass.delay.commandThe cooldown between commands
chatcontrol.bypass.grammarAuto-capitalize and add-a-dot grammar fixes
chatcontrol.bypass.logLogging of your messages and commands
chatcontrol.bypass.login.usernamesThe disallowed-nickname block when joining
chatcontrol.bypass.moveThe antibot "move before you chat" check
chatcontrol.bypass.newcomerRules that only apply to newcomers
chatcontrol.bypass.spamkickThe vanilla spam kick when typing fast
chatcontrol.bypass.signduplicationThe antibot sign-duplication check
chatcontrol.bypass.muteChatControl player, channel, server and proxy mutes (chat, commands, signs, books, anvils, join/quit/death messages). Does not bypass mutes from third-party plugins such as AdvancedBan, BanManager, CMI, EssentialsX or LiteBans
chatcontrol.bypass.periodThe repeated-period antispam check
chatcontrol.bypass.rangeChannel range, reach everyone on all worlds (off even for OPs)
chatcontrol.bypass.range.worldChannel range, same world only (off even for OPs)
chatcontrol.bypass.reachLets you message players who ignore you or have PMs off
chatcontrol.bypass.vanishLets you see and message vanished players
chatcontrol.bypass.similarity.chatThe "too similar" check for messages
chatcontrol.bypass.similarity.commandThe "too similar" check for commands
chatcontrol.bypass.tabcompleteTab-complete filtering
chatcontrol.bypass.warnpointsWarning points and their punishments
chatcontrol.bypass.parrotThe "parrot" antispam check
chatcontrol.bypass.spy.<type>Stops your own actions being spied on. <type>: chat, command, private_message, mail, sign, book, anvil
chatcontrol.bypass.network.tabcompleteAlways see whole-network players when tab-completing PMs

Discord, Receive & Extras

PermissionWhat it does
chatcontrol.discord.tagTag Discord roles with @ from in-game chat
chatcontrol.receive.announcerSee your own /chc announce messages
chatcontrol.soundnotifyUse the sound-notify @mention feature
chatcontrol.group.<name>Auto-assign a settings.yml group to a player. <name> = the group name