ChatFlagsPlus.sk

Created by ShyDoge

Just so you know, we don't know the file format for every file. If it's just a bunch of random characters, it's probably a .zip or .jar.

on load:
    delete {cfp::identifiers::*}
    add "!" to {cfp::identifiers::*}
    add "@" to {cfp::identifiers::*}
    add "##" to {cfp::identifiers::*}
    add "$" to {cfp::identifiers::*}
    add "%%" to {cfp::identifiers::*}
    add "^" to {cfp::identifiers::*}
    add "&" to {cfp::identifiers::*}
    add "*" to {cfp::identifiers::*}
    add "(" to {cfp::identifiers::*}
    add ")" to {cfp::identifiers::*}
    add "-" to {cfp::identifiers::*}
    add "_" to {cfp::identifiers::*}
    add "=" to {cfp::identifiers::*}
    add "+" to {cfp::identifiers::*}
    add "[" to {cfp::identifiers::*}
    add "]" to {cfp::identifiers::*}
    add "{" to {cfp::identifiers::*}
    add "}" to {cfp::identifiers::*}
    add "|" to {cfp::identifiers::*}
    add "," to {cfp::identifiers::*}
    add "." to {cfp::identifiers::*}
    add "/" to {cfp::identifiers::*}
    add ";" to {cfp::identifiers::*}
    add ":" to {cfp::identifiers::*}
    add "'" to {cfp::identifiers::*}
    add """" to {cfp::identifiers::*}
    add "`" to {cfp::identifiers::*}
    add "~" to {cfp::identifiers::*}
    add " " to {cfp::identifiers::*}

    send "" to console
    send "CFP > Successfully reloaded CFP. All default chat identifiers have been loaded successfully."

on tab complete of "/flag":
    set tab completions for position 1 to "add", "remove", "list", and "reset"
on tab complete of "/identifier":
    set tab completions for position 1 to "add", "remove", "list", and "reset"

command /flag [<string>] [<string>]:
    permission: chatflagplus.use
    trigger:
        if arg-1 is not set:
            send "&cYou must specify how to edit the flag!"
            stop
        if arg-2 is not set:
            if arg-1 is not "list" or "reset":
                send "&cYou must specify the flag!"
                stop
        if arg-1 is "add":
            if {cfp::flags::*} contains arg-2:
                send "&cThis flag already exists!"
                stop
            send "&aSuccessfully added the flag ""%arg-2%"""
            add arg-2 to {cfp::flags::*}
        else if arg-1 is "remove":
            if {cfp::flags::*} does not contain arg-2:
                send "&cThis flag does not exist!"
                stop
            send "&aSuccessfully removed the flag ""%arg-2%"""
            remove arg-2 from {cfp::flags::*}
        else if arg-1 is "list":
            send "&bChat Flags:"
            loop {cfp::flags::*}:
                send "  &f- ""&b%loop-value%&f"""
        else if arg-1 is "reset":
            send "&aReverted all chat flags back to default settings."
            delete {cfp::flags::*}

on chat:
    set {_message} to message
    loop {cfp::identifiers::*}:
        replace all loop-value in {_message} with ""
    loop {cfp::flags::*}:
        if {_message} contains loop-value:
            cancel event
            send "&8&l(&4&l!&8&l)&f Your message has been flagged.%nl%&8&l(&4&l!&8&l)&f Flagged Word: ""%loop-value%"""
            send "&8&l(&4&l!&8&l)&f %player%'s message has been flagged.%nl%&8&l(&4&l!&8&l)&f Flagged Word: ""%loop-value%""" to all players where [input has permission "chatflagplus.alert"]
command /identifier [<string>] [<string>]:
    permission: chatflagplus.use
    trigger:
        if arg-1 is not set:
            send "&cYou must specify how to edit the identifier!"
            stop
        if arg-2 is not set:
            if arg-1 is not "list" or "reset":
                send "&cYou must specify the identifier!"
                stop
        if arg-1 is "add":
            if {cfp::identifiers::*} contains arg-2:
                send "&cThis identifier already exists!"
                stop
            send "&aSuccessfully added the identifier ""%arg-2%"""
            add arg-2 to {cfp::flags::*}
        else if arg-1 is "remove":
            if {cfp::identifiers::*} does not contain arg-2:
                send "&cThis identifier does not exist!"
                stop
            send "&aSuccessfully removed the identifier ""%arg-2%"""
            remove arg-2 from {cfp::identifiers::*}
        else if arg-1 is "list":
            send "&bChat Identifiers:"
            loop {cfp::identifiers::*}:
                send "  &f- ""&b%loop-value%&f"""
        else if arg-1 is "reset":
            send "&aReverted all chat identifiers back to default settings."
            delete {cfp::identifiers::*}
            add "!" to {cfp::identifiers::*}
            add "@" to {cfp::identifiers::*}
            add "##" to {cfp::identifiers::*}
            add "$" to {cfp::identifiers::*}
            add "%%" to {cfp::identifiers::*}
            add "^" to {cfp::identifiers::*}
            add "&" to {cfp::identifiers::*}
            add "*" to {cfp::identifiers::*}
            add "(" to {cfp::identifiers::*}
            add ")" to {cfp::identifiers::*}
            add "-" to {cfp::identifiers::*}
            add "_" to {cfp::identifiers::*}
            add "=" to {cfp::identifiers::*}
            add "+" to {cfp::identifiers::*}
            add "[" to {cfp::identifiers::*}
            add "]" to {cfp::identifiers::*}
            add "{" to {cfp::identifiers::*}
            add "}" to {cfp::identifiers::*}
            add "|" to {cfp::identifiers::*}
            add "," to {cfp::identifiers::*}
            add "." to {cfp::identifiers::*}
            add "/" to {cfp::identifiers::*}
            add ";" to {cfp::identifiers::*}
            add ":" to {cfp::identifiers::*}
            add "'" to {cfp::identifiers::*}
            add """" to {cfp::identifiers::*}
            add "`" to {cfp::identifiers::*}
            add "~" to {cfp::identifiers::*}
            add " " to {cfp::identifiers::*}