🗣 CustomChatCommands 1.2 [API 4.0.3]



CustomChatCommands is a plugin inspired by Bukkit's RoleplayChat. It allows you to create your own commands which let the user chat in custom formats. A vanilla example of a chat format command is /me.


  • Create your own commands!
    • Supports permissions
  • Not limited to just the player's name and a message - you can use any number of command arguments you want
  • Messages can be output to the player's normal chat channel, or server-wide, or confined to a specific radius around the player
  • Messages can be written in JSON, TextXML, or color-code format


This is an example configuration node.

me {
  message="&e* <player> <arg1>"

aliases is a list of aliases for the command. Optional.
args is how many arguments the command has. The last argument used will be the rest of the command arguments combined. Optional, defaults to 0.
format is what format the message is in. Can be json, xml, or ampersand. Optional, defaults to json.
message is the message that will be sent. Must be in the format described in format. You can use the <player> parameter for the player's name, and the <argx> parameter where x is a number for argument x of the command.
permission is the permission that is required for the command to run. Optional, but a good bet is minecraft.command.me for emote-type commands and minecraft.command.broadcast for broadcast-type commands.
radius is the radius around the player that the message can be seen in. Special cases: 0 means that the message will be output to the player's normal chat channel, and -1 means that it will be seen server-wide. There may be a difference between the two, depending on your other plugins. Optional, defaults to 0.

All this is also explained in the auto-generated config. All auto-generated commands also contain an example tag, which prevents them from being loaded. This can be deleted if you wish to use the command.

The node named default is not a command, but rather the default chat format. You can only use message and format, and the only supported arguments are <player> and <arg1>. Just like above, it will not take effect if example is true, and it can be deleted if necessary.




1.0 First release
1.1 Config is now version 2, added support for XML and ampersand formats
1.2 Config is now version 3, added examples to auto-generated config as well as the example tag, added to Plugin Releases forum
1.3 Config is now version 4, added /customchatcommands (/ccc) command for a shameless self-plug, and /ccc reload to reload the config and commands, added support for default for chat messages


Hooray! I feel partly responsible for the existence of this plugin XD


The default tage isn't working for me in the new build. Everything else is, /ccc and /ccc relaod are fine (so handy to have the reload command!) but no matter what I do in the default tag it remains the same in-game.

(I figured development discussion should be moved here since it's published now)


Post config pls

default {
    message="<player>: &f<arg1>"

Didn't set aliases since there's no command (though using /default then typing a message does nothing either). Also did not use the permissions string since the server is just going to be me and a friend and we're both OPed.

But chat format still shows up as <Username> Message.


First of all, read the above statement that only format and message are supported.
Second, cannot reproduce.


I've tried everything, I wiped every command except that one, I've regenerated the config and started from scratch, I've removed every plugin except CCC and it's still wont change from the standard chat format.

I'm running SpongeForge Beta 1181 and Forge 1763 with Minecraft 1.8.9 (tested with 1.8.8 too and it made no difference)


I can not get this plugin to work, I have it installed and am trying to use installed aliases. Is there any trick to it?


It would help if I knew the specifics of what you were doing. Can you pastebin your config?


Here's the config


I'd recommend actually, you know, reading the comments (the things starting with #). That's why they're there.
Specifically, the one on example says that

# These are examples, and as such have this 'example' tag denoting that they are not to be loaded. Remove this if you want to use these!


Oh! I'm sorry about that. Seems I missed that. Thanks for the speedy replies and sorry about that.


No prob.


Is there any way to send the user a clickable link with this plugin?


Yes. If you use the JSON format, just use the clickEvent tag like normal.


I seem to have an issue where it won't override any existing command such as creating a vote command to override voterights /vote. As well as the radius seems to be broken. I set the radius on a command to be 1 and the whole server received the message.


When you plan to do support for API5?


I've largely ignored this plugin for a while. Soon I'll update it with easier configuration as well as API 5 support.


I look forward to the API 5 variant with this and easier configuration Keep it up!


I've decided to make a new plugin. I'm calling it Beep, and it's going to be a much better version of this, for API 5. CustomChatCommands was my first real plugin, and I've learned a lot since then, so I'm completely recoding it instead of fixing it here and there. It's almost done, too.