- Native Minecraft Version:
- Legacy (< 1.13)
- Tested Minecraft Versions:
- Source Code:
This plugin is compatible with Spigot and BungeeCord.
- Add hover and click effects to your messages easily
- Don't hassle with tellraw generators and json chat format anymore
- Easy API for other plugins
The format to add any effects to a part of a chat text is [jmm|*options*]chat text[/jmm]
There are currently 4 options available:
To add multiple options for chat text use |jmm| as deliminter. Please note that you can of course just add one possible option per action.
- On click, <suggestion> will appear in the player chat text feld
- On click, the player will be asked if he wants to open <url> in a browser
- On mouse hover, <text> will appear above the cursor if hovered by the mouse
- On click, the player will send <text>, commands are possible too
Here are some example JMessages:
- §aasdf [jmm|suggest=qwerta]§bqwertzuiop[/jmm]
- [jmm|hover=runs /list|jmm|run=/list]§erun §c/list[/jmm]
- [jmm|hover=opens google|jmm|link=http: //www . google.de]google§blink[/jmm]
(Of course you need to write the link without those spaces)
Other supported formats
v3.2.0+ supports MineDown format with the prefix [md]: [md][&6**Test**](show_text=&4Hover Text)
Since v2.0 this plugin additionally provides an own command to send JMessages to players. The permission for the command is jsonmessagemaker.command (same for bukkit and bungee).
The command does also support & as color code character and not just the original color code char §.
For Spigot the command and its aliases are:
For BungeeCord the command and its aliases are:
Bungeecord related extra features
- /<command> <player> <jmessage>
- Sends the JMessage to the given player
- /<command> perm:<permission> <jmessage>
- Sends the JMessage to all players with the given permission
- /<command> :all <jmessage>
- Broadcasts the JMessage to all players
Added with v3.0
When you install JsonMessageMaker as plugin on your spigot servers and your bungeecord server, JsonMessageMaker on spigot can send the message to the bungeecord version to handle. You have to set
sendToBungeeOption: true in the file plugins/JsonMessageMaker/config.yml for this to be enabled.
This only works when all players join through the same bungeecord on your spigot servers and when at least one player is online on the spigot server which wants to send a message. Also please make sure that all spigot servers and bungeecord run the same version of JsonMessageMaker.
The command syntax for this is to prefix the reciever with :bungee: like so:
(<command> means the Spigot command, aka one of these: /jsonmessagemaker, /jmm, /jmsg)
- /<command> :bungee:<player> <jmessage>
- /<command> :bungee: perm:<permission> <jmessage> (make sure to remove the space between : and perm, itd there to prevent replacement with a smiley)
- /<command> :bungee::all <jmessage> (careful: there are two colons (:) between "bungee" and "all" here!)
Additionally when you send a command to bungeecord or run the bungeecord command in any other way, the bungeecord version replaces (((serverof: PlayerName))) to the name of the server PlayerName is online. Also supports UUIDs instead of player names, with and without dashes (-).
Spigot:Code (YAML):debug: false
Options explained:Code (YAML):sendToBungeeOption: false
- sendToBungeeOption: If set to true, it allows usage of the :bungee: prefix to send commands to bungee. This is turned off by default as it is not safe if the plugin would send such messages while players are not connected through a bungeecord.
- debug: If set to true, debug messages will be printed to the console:
- Spigot shows a info console message each time it sends a message to bungee.
- Bungee shows a warning console message when it found a (((serverof:XXX))) placeholder but it could not find the player XXX or if there was some other problem gaining the name of the server he is connected to.
The base feature of JsonMessageMaker is to provide an API which other plugins can use to convert for example configuration strings using the JMessage format to an array of BaseComponents, ready to get sent to players via the spigot or bungee api.
Baisc API usage:
The API provides the option to disable certain features of the jmessage format. The default converter (see above) and the default JsonMessageOptions class have all features enabled. If you want to have certain features disabled, you need to create your own JsonMessageConverter class, for example with disabled MineDown format support:Code (Java):BaseComponent components = JsonMessageConverter.DEFAULT.convert(yourJMessage);
JsonMessageConverter converter = JsonMessageConverter.options()
.suggest(true) // By default all options are enabled, they are only set to
.run(true) // true here for demonstration purposes.
You can download indev versions from my jenkins server: https://ci.janmm14.de/job/public~mcjava~jsonmessagemaker/
JsonMessageMaker is deployed to my own maven repository:
Send messages with hover and click effects with ease