JsonMessageMaker icon

JsonMessageMaker -----

Send messages with hover and click effects with ease



JsonMessageMaker
  • 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
This plugin is compatible with Spigot and BungeeCord.

JMessage format

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:
  • suggest=<suggestion>
    • On click, <suggestion> will appear in the player chat text feld
  • link=<url>
    • On click, the player will be asked if he wants to open <url> in a browser
  • hover=<text>
    • On mouse hover, <text> will appear above the cursor if hovered by the mouse
  • run=<text>
    • On click, the player will send <text>, commands are possible too
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.

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)

Command


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:
  • /jsonmessagemaker
  • /jmm
  • /jmsg
For BungeeCord the command and its aliases are:
  • /bjsonmessagemaker
  • /bjmm
  • /bjmsg
Command syntax:
  • /<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
Bungeecord related extra features
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> :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!)
(<command> means the Spigot command, aka one of these: /jsonmessagemaker, /jmm, /jmsg)

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 ( -).

Config
BungeeCord:
Default Config:
Code (YAML):
debug : false
Spigot:
Default config:
Code (YAML):
sendToBungeeOption : false
debug:false
Options explained:
  • 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.

API

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:
Code (Java):
BaseComponent [ ] components = JsonMessageConverter. DEFAULT. convert (yourJMessage ) ;
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):

JsonMessageConverter converter = JsonMessageConverter. options ( )
    . suggest ( true ) // By default all options are enabled, they are only set to
    . run ( true )     // true here for demonstration purposes.
    . link ( true )
    . hover ( true )
    . translateAmp ( true )
    . mineDownSupport ( false )
    . create ( ) ;
 
Development

You can download indev versions from my jenkins server: https://ci.janmm14.de/job/public~mcjava~jsonmessagemaker/

Maven repository

JsonMessageMaker is deployed to my own maven repository:

Code (XML):
    <repositories>
        <repository>
            <id>janmm14-public </id>
            <url>https://repo.janmm14.de/repository/public/ </url>
        </repository>
    </repositories>
Code (XML):
    <dependencies>
        <dependency>
            <groupId>de.janmm14 </groupId>
            <artifactId>jsonmessagemaker </artifactId>
            <version>3.2.0 </version>
        </dependency>
    </dependencies>
Resource Information
Author:
----------
Total Downloads: 2,817
First Release: Jun 7, 2015
Last Update: May 27, 2021
Category: ---------------
All-Time Rating:
4 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings