ChatColor
Description:
ChatColor allows players to change the colour and style of their chat to many different things! Colour your chat in over 16 million different colours, with all Minecraft colours, modifiers and hex colours supported!
Important Note: This plugin description is out of date, please check the Spigot page for the most up-to-date information.
Plugin Support
If you need some help or support with the plugin, please join my support Discord server here: https://discord.gg/hNBtt9cDk4
Features:
- Change the colour of your players' chat message to over 16 million different possibilities.
- Supporting legacy, hex, rainbow, and gradient colours, giving you maximum customisability.
- All modifiers including bold, italic, underlined, and even obfuscated if you really want it, are available.
- MySQL & MariaDB support - keep your colours the same across all of your servers.
- Supports setting colours from console - easy to include as a donor purchase reward.
- Complete set of permissions allowing for fine control over player access to colours.
- Custom colour system to make it easier to create and save your favourite hex, rainbow, or gradient colours.
- Group colour system to enable permission-based set colours
- Fully customisable plugin messages.
- Fully customisable GUI for advanced colour selection.
- Settings to modify plugin functionality.
- Helpful and friendly author! Always here to help where I can.
Note: See below for help on commands, permissions, colours, modifiers and settings!
Commands:
Key:
- <value> = Required value.
- [value] = Optional value.
Main Command:
- /chatcolor [player] <color/default> [modifiers] - Change yours or a player's chat colour!
- For a custom colour, use: /chatcolor [player] %<name>
The name is defined in the custom-colors.yml config file. - Note: Please see here for information on hex colours! The format is like so: &#RRGGBB, where each character after the # must be a number or letter between 0-9 and a-f.
Admin Commands:
- /chatcolor permissionshelp - Shows permissions help!
- /chatcolor settingshelp - Shows settings help!
- /chatcolor reload - Reloads all configs, use if you changed them while running!
- /chatcolor reset - Use with caution, resets the config to the default!
- /chatcolor set <setting> <value> - Changes one of the many settings! (See below for details)
- /chatcolor confirm - Confirms a setting change.
- /chatcolor group <add/remove/list> [name] [color] - Adds, removes, or lists group colours. You can use these to give groups a chat color through permissions (see below).
- /chatcolor custom <add/remove/list> [name] [color] - Adds, removes, or lists custom colours. The color must be a valid custom color string.
Other Commands:
- /chatcolor - Shows your current chat colour!
- /chatcolor gui - Open a GUI for selecting your desired colour!
- /chatcolor <add/remove> <modifier> - Adds or removes a modifier from your chat colour.
- /chatcolor available - Shows your available colours and modifiers!
- /chatcolor commandshelp - Shows command help! You can also use /chatcolor help.
Customisable GUI:
- The GUI is fully customisable in the config file gui.yml.
- There are instructions for creating your own GUIs as well as three example GUIs (one for normal colours, one for hex colours and one for custom colours) ready to go in the config.
- Feel free to drop me a message if you need any help!
Settings:
- command-name - Changes the base command to whatever you want!
- color-override - Changes whether ChatColor overrides '&' colour symbols in messages.
- confirm-timeout - Changes the time that players get when making a decision.
- default-color - Changes the colour that all players get when joining (also one-time sets all players).
- join-message - Changes if players are told their colour when joining.
- notify-others - Changes whether players are told if their chat colour is changed by someone else.
- auto-save - Changes whether the plugin will auto-save to files every 5 minutes, in case of a crash
- save-interval - Sets the time interval between saves for the plugin.
- force-custom-colors - Changes whether the plugin will force custom colours to be used. Note: This is actually group colours not custom colours.
- command-opens-gui - If set to true, /chatcolor will open the GUI instead of telling you your colour.
Colours & Modifiers:
Valid Colours:
- 0 or black
- 1 or dark.blue
- 2 or green
- 3 or dark.aqua
- 4 or red
- 5 or purple
- 6 or gold
- 7 or grey
- 8 or dark.grey
- 9 or blue
- a or light.green
- b or aqua
- c or light.red
- d or magenta
- e or yellow
- f or white
- All hex colours, in the format #RRGGBB
Valid Modifiers:
- k or obfuscated
- l or bold
- m or strikethrough
- n or underlined
- o or italic
Permissions:
- chatcolor.* - Grants a player all ChatColor permissions. Please note that you cannot use a custom colour if you have this permission!
- chatcolor.use - Allows a player to use /chatcolor and /chatcolor cmdhelp.
- chatcolor.use-color-codes - Allows a player to use & colour codes in the chat.
- chatcolor.use-hex-codes - Allows a player to use hex codes to color their chat (allows ALL colours!).
- chatcolor.special - Allows a player to use rainbow and gradient colours via the /chatcolor command. Does not allow use of preset custom colours.
- chatcolor.gui - Allows use of the GUI to select a colour.
- chatcolor.color.* - Allows a player to use all colours.
- chatcolor.color.<color> - Allows a player to use colour.
- chatcolor.modifier.* - Allows a player to use all modifiers.
- chatcolor.modifier.<modifier> - Allows a player to use a modifier.
- chatcolor.change.* - Allows a player to change everyone's chat color.
- chatcolor.change.self - Allows a player to change their own colour.
- chatcolor.admin - Allows a player to use all admin commands.
- chatcolor.group.<color-name> - Sets a player/group's group colour.
- chatcolor.custom.<color-name> - Gives a player access to a custom colour.
Note: You must use either numbers or letters found above for the colours and modifiers permissions.
PlaceholderAPI
Here are the different placeholders you can use for this plugin:
- %cc_full_color% - Returns the full colour (colour + modifiers) of a player. Can then be used to colorise text after it.
Note: Rainbow & gradient colours will not be displayed! - %cc_color% - Returns the colour only (no modifiers) of a player.
- %cc_color_name% - Returns the name or character of the player's colour, e.g. a, b, c, or %custom-name.
- %cc_colored_color_name% - Same as %cc_color_name%, but the colour is applied to the text returned.
- %full_color_name% - Returns the full word version of a player's colour, e.g. red, black, dark green.
- %colored_full_color_name% - Same as %cc_full_color_name%, but the colour is applied to the text returned.
- %cc_modifiers% - Returns the modifiers only (no colour) of a player. Can then be used to modify text after it.
- %cc_modifier_names% - Returns the modifier names, e.g. l, mn, lmn.
- %cc_modified_modifier_names% - Same as %cc_modifier_names%, but with the modifiers applied to the text returned.
- %cc_full_modifier_names% - Returns the full word version of a player's modifiers. e.g., bold, italic.
- %cc_modified_full_modifier_names% - Same as %cc_full_modifier_names%, but with the modifiers applied to the text returned.
- %cc_group% - Returns the player's current active group name, or "None" if there isn't one.
- %cc_<color/modifier>_available% - Returns either 'gui-available' or 'gui-unavailable' from the messages.yml, based on if the player has the necessary permission. e.g. %cc_a_available%
Videos
- Plugin showcase by Barbercraft!
Data Collection:
This plugin uses bStats to collect some statistics about usage of the plugin and sends them to https://bstats.org/. This can be disabled by changing 'stats' in the config.yml to false. The statistics sent include Version Demographics, Server/Player Statistics, Server Location, Operating System etc. The stats available to the public are Version Demographics, Server Location, Rank, Java Version and Global Statistics. These are viewable at https://bstats.org/plugin/bukkit/ChatColor2.
Bugs:
- If you find any bugs, please report them! Reports are very helpful so that I know what I'm doing wrong and what I need to fix!
- You can report bugs through GitHub, by direct message, or joining the support Discord server shown at the top of this page.
Hi I had a cool feature request idea. Limit hex colors by a value(hsv) threshold. Colors below a certain value are often unreadable in chat
In reply to Wooferscoots:
Hi there, sorry for the late reply and thanks for the feature suggestion! I'll take a look at adding this into a future version as an optional setting.
I'm having some issues due to trying to give people the ability to use chat colors. I did chatcolor.* in luckperms and people can't use modifiers still.
i'm not sure if you support the use of chatcolor on a forge based server such as MOHIST but there is an error on that server type:
[22:39:26] [Server thread/INFO] [Mohist]: Enabling ChatColor2 v1.12.3
[22:39:26] [Server thread/ERROR] [Mohist]: Error occurred while enabling ChatColor2 v1.12.3 (Is it up to date?)
java.lang.NumberFormatException: For input string: "12.2-307 MC: 1.12.2"
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source) ~[?:1.8.0_321]
at sun.misc.FloatingDecimal.parseFloat(Unknown Source) ~[?:1.8.0_321]
at java.lang.Float.parseFloat(Unknown Source) ~[?:1.8.0_321]
at com.sulphate.chatcolor2.utils.CompatabilityUtils.init(CompatabilityUtils.java:26) ~[?:?]
at com.sulphate.chatcolor2.main.ChatColor.setupObjects(ChatColor.java:114) ~[?:?]
at com.sulphate.chatcolor2.main.ChatColor.onEnable(ChatColor.java:71) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:177) ~[JavaPlugin.class:?]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:318) [JavaPluginLoader.class:?]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:399) [SimplePluginManager.class:?]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugin(CraftServer.java:477) [CraftServer.class:?]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugins(CraftServer.java:418) [CraftServer.class:?]
at net.minecraft.server.MinecraftServer.loadAllWorlds(MinecraftServer.java:383) [MinecraftServer.class:?]
at net.minecraft.server.dedicated.DedicatedServer.init(DedicatedServer.java:315) [nz.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:590) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_321]
I just recently started using MHOIST after discovering it not too long ago and am slowly discovering plugins that have errors.
In reply to InuYasha86000:
The reason for this crash is that the server version supplies a non-standard version string. I will be trying to address this in the next update. It may still not work for other reasons but at least this reason can be fixed :)
Is there a way to get rainbow chat???
In reply to oisinverkoyen:
In reply to oisinverkoyen:
Yes! You can use /chatcolor %bright-rainbow as an example :)
Hi, I've been trying to create something along the lines of the rainbow Color pattern but with the modifiers, is there any way to do this or is it simply not possible?, Ive gotten down creating a new custom colour and adding it to the GUI but I simply can't figure out how or if its even possible to get it to work.
EDIT: Ive also found that the bright rainbow doesn't work, it outputs "null" at the beginning of any chat messages and doesn't work.
In reply to xavieraiden:
You can add modifiers to a rainbow custom colour, but you can't make each character have a different modifier, for example.
Hmm.. bright rainbow should work :/ pretty sure I tested it. What version are you using (MC & plugin)?
Hi, I cant figure out how to make a custom rainbow color?
I want it to be these colors #6af8ed#a7fbf3#d6fdf9#ffffff#ffffff#fcfac3#f3f684#e5f237#e5f237#f3f684#fcfac3#ffffff#ffffff#d6fdf9#a7fbf3#6af8ed
I dont want to replace the existing rainbow color, just make a new rainbow sequence.
thanks in advance!
In reply to arcticlightning144:
Heya, please take a look at the example rainbow custom colours in the config files :)
Hi,
a user of one of my plugins ran into a compatibility issue between this plugin and mine (Shopkeepers): Shopkeepers is a plugin to create shop NPCs. Players have the option to rename their shop NPC. When naming a shop, the Shopkeepers plugin uses the player's next chat input to set the new shopkeeper name. By default, color codes are not allowed to be used in shopkeeper names (but they can be enabled inside the config).
In an attempt to extract the player's raw original chat message, the Shopkeepers plugin listens for the chat event at lowest priority.
However, this plugin seems to inject (at lowest event priority, i.e. very early of the chat processing) a chat color at the beginning of every message sent by players. Depending on the random order in which the Shopkeepers plugin extracts the chat message to apply it as new shopkeeper name, and the ChatColor plugin modifying the chat message to inject this color code, the Shopkeepers plugin might complain about the chat message not being a valid shopkeeper name, due this this additional color code at the beginning.
Would it be possible for you to not use the lowest event priority to modify the chat message? This would give other plugins a chance to read the original, unmodified chat message.
Also, something else to consider for any kind of default chat colors applied to the beginning of chat messages would be to to not actually modify the chat message for those, but inject the color code via the chat format instead. This is probably a cleaner way to implement 'default chat colors', but is probably also more tricky to implement, since you would need to analyze the chat format to figure out where to inject the color code.
In reply to blablubb:
Heya, thanks for the in depth comments.
The listener priority was changed fairly recently as people were having the opposite problem (plugins overriding chatcolor), in the next update it will be configurable. I'm not sure when I'll be releasing that at the moment, though.
For the format stuff, I could take a look into that, but currently 'default' colours just set a player's colour to a default (which gives the current behaviour, also allowing /chatcolor to display the correct 'current' colour). So, I might do this but unless there is some issues being caused by it, it will probably stay as-is for the moment.
Thanks!
In reply to sulphate_osu:
The problem with configuration options is that users first have to run into some issue, report the issue, someone has to remember the config option, and inform them about it. I don't know which other previous incompatibility your event listener priority change has resolved, so I cannot comment on how likely it is for users to run into this other incompatibility, or whether there might be an alternative to resolve it. But our plugins do fairly different things (my plugin even only reads from the chat event, not modifies it). So this incompatibility seems like it should be avoidable by default.
Also, even with this config option added, if you say there is another plugin incompatibility preventing your from changing the event priority by default, then users using this new config option to change the event priority would just reintroduce this other incompatibility. There has to be a better solution..
Hi. How can you use the & command in a command_block like:
/say lol &a [Achievement]
/say &a moang
It would say &a and not with the color lime
How work this?
In reply to the_mystery_guy_lol:
ok i fixed it with a tellraw command
and a generator with that...
In reply to the_mystery_guy_lol:
Yeah, sorry :( this plugin only supports player chat. I might add this as a feature though since it would be fairly simple.
can i use the hex color too in Scorboard,Tablist and Luckperms?
In reply to xAlphaBjarnex:
This plugin only supports the chat, you would need a different plugin to support that :)
Hello
I have a problem with this plugin, when I am OP in my server, chatcolors works fine, but when I am no longer op and just an user, it won't work, I typed chatcolor blue and it says "successfully set your color to: this (blue) but when I type whatever and click enter, it shows my default color but not blue
btw I am using essentialsx chat