Sueta

[Abandoned] json.sk

2.3

A fix for SkQuery's JSON messages for 1.8.3+ (and 1.9.x - 1.10.x) servers.

·Plugin

This script is no longer maintained and is considered deprecated. Use Skript's own builtin JSON text (found here: https://skriptlang.github.io/Skript/text.html).

This resource's original (outdated) description is below.

This script is intended for use with the Skript plugin (version 2.2)



__

Usage:

If you don't know how to use Skript 2.2's functions, please view this tutorial.
Make sure this script loads before all other scripts in order to access its functions!

  • json()
    • json("<recipient>", "<json text in json.sk notation>")
    • Sends a json formatted message to the recipient (accepts @a)
    • Alternative:
      • json("<recipient>", "<text in json.sk-notation>", <OPTIONAL: color codes boolean>)
      • By default, color codes will be converted. If the color codes boolean argument is set to false, json.sk won't convert color codes.
  • jsonFormat()
    • jsonFormat("<text in json.sk notation>")
    • Returns a /tellraw formatted json from the input json.sk notation text.
  • jsonColor()
    • jsonColor("<text>")
    • This function is used by the other json functions to reformat the color codes within the message.
  • jsonSanitize()
    • jsonSanitize("<text>")
    • Returns json-safe text (cancels out all quotation marks)
  • removeColor()
    • removeColor("<text>")
    • Returns text with all & color codes removed.
    • Note: this function will not remove color codes that are already converted (not in &# format anymore).

All possible effect tags:

  • ttp:
    • Appends a hoverable tooltip
  • cmd:
    • Appends a clickable command
    • If not slash is included at the start (/), players will chat a message instead.
  • sgt:
    • Appends a clickable suggestion
    • May be any text (including commands)
  • url:
    • Appends a clickable url
    • If no http:// or https:// is included, json.sk will include http:// automatically
  • ins:

Examples:

command /jsontest:
    trigger:
        json("%player%", "&7&oHello, this is a &bsample json&7.||ttp:&bI'm a tooltip for the first cluster.|| There's no tag, so I've started a new cluster.||cmd:/ping||ttp:&6&o&lCLICK&f for /ping")
#           |_________|  ||___________________________________|  |________________________________________||||_____________________________________________|  |_______|  |_________________________||
#            recipient   |            Average Text                                Tooltip                  ||                 Average Text                   Run Command           Tooltip          |
#                        |_________________________________________________________________________________||_______________________________________________________________________________________|
#                                                       JSON Cluster #1                                                                           JSON Cluster #2

Results:

command /jsonformattingtest:
    trigger:
        message jsonFormat("I'd love it if this had a hover effect!||ttp:&oOh look, it does!||sgt:/randomcommand")

Results:

Json.sk compared to SkQuery Syntax:
Example 1:

SkQuery: (broken on spigot 1.8.3+)

loop all players:
    send json of "Have a lovely day!" tooltip "&cClick here for some cake! <3" suggest "/i lied" to loop-player

json.sk: (works with Skript 2.2)

json("@a", "Have a lovely day!||ttp:&cClick here for some cake! <3||sgt:/i lied")

Example 2:
SkQuery: (broken on spigot 1.8.3+)

send json of "Hello..." then " ;)" tooltip " ;D" to player

json.sk: (works with Skript 2.2)

json("%player%", "Hello...|| ;)||ttp: ;D")

Similar projects

Plugin →