Ns.sk

Created by Maezukie

Other available versions. Ordered by newest to oldest versions:

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.

Options:

# +=——+——=+
#             by
#         Customable 
#
#  You most likely don't care
# Just don't take credit scrub.
# +=——+——=+

#settings:

	# (reason) - The reason for the mute, kick or ban
	# (infractions) - The number of infractions the user has
	# (infraction) - Not to be confused with (infractions) sends the Infraction
	# (infraction-index) - The infraction's number
	# (max-infractions) - The max infractions number
	# (timespan-lasting) - The timespan of the mute, ban or chat slowness
	# (staff) - The operator performing the ban, kick or mute
	# (offender) - The offender of the ban, kick or mute
	# (timespan-set) - The date the ban or mute was made

	PERMISSION-ALL: Node.*
	PERMISSION-MUTE: Node.mute
	PERMISSION-BAN: Node.ban
	PERMISSION-KICK: Node.kick
	PERMISSION-CHANNEL: Node.channel
	PERMISSION-VANISH: Node.vanish
	PERMISSION-INFRACTION: Node.infraction
	PERMISSION-CHAT-BYPASS: Node.chat.BYPASS
	PERMISSION-CHAT-MUTE: Node.chat.MUTE
	PERMISSION-CHAT-CLEAR: Node.chat.CLEAR
	PERMISSION-CHAT-SLOWMODE: Node.chat.slowmode
	PERMISSION-CHAT-ALL: Node.chat.*

	PREFIX: &8(&3NODE STAFF&8)
	
	BAN-MESSAGE: &a(staff) &fbanned &a(offender) &ffor &a(reason) &f[(timespan-lasting)]
	MUTE-MESSAGE: &a(staff) &fmuted &a(offender) &ffor &a(reason) &f[(timespan-lasting)]
	KICK-MESSAGE: &a(staff) &fkicked &a(offender) &ffor &a(reason)

	UNBAN-MESSAGE: &a(staff) &funbanned &a(offender)
	UNMUTE-MESSAGE: &a(staff) &funmuted &a(offender)

	MUTED-MESSAGE: &fYou were muted by &a(staff) &flasting &a(timespan-lasting) &ffor &a(reason)
	BANNED-MESSAGE: &f %nl%&fBanned from the server.%nl%&8» &fReason: &a(reason)%nl%&8» &fExpires: &a(timespan-lasting)%nl%&8» &fBanned on: &a(timespan-set)%nl%&8» &fBanned by: &a(staff)%nl%&f
	KICKED-MESSAGE: %nl% &fKicked at &a(timespan-set) &ffor &a(reason) &fby &a(staff) %nl%

	VANISHED-MESSAGE: &e(staff) left the game
	UNVANISHED-MESSAGE: &e(staff) joined the game
	VANISH-MESSAGE: &a(staff) &fhas entered vanish
	UNVANISH-MESSAGE: &a(staff) &fhas exited vanish
	VANISHED-LEFT: &fThe last time you were online you were in vanish, you are still in vanish.

	MUTE-EXPIRED: &fYour mute has &aExpired&f!
	BAN-EXPIRED: &fYour ban has &aExpired&f!

	LEFT-CHANNEL: &a(staff) &fLeft the channel.
	JOINED-CHANNEL: &a(staff) &fJoined the channel.

	LEFT-CHANNEL(personal): &aYou &fLeft the channel.
	JOINED-CHANNEL(personal): &aYou &fJoined the channel.

	CHANNEL-CHAT: &a(staff) &f»

	MAX-INFRACTIONS: 5
	MINIMUM-INFRACTIONS: 4 #usually one less that the MAX
	INFRACTION-MESSAGE: &a(staff) &fwarned &a(offender) &ffor &a(reason) &f[(infractions)/(max-infractions)]
	INFRACTION-REMOVED: &a(staff) &fSuccessfully removed infraction &a##(infraction-index) &ffrom &a(offender)
	INFRACTION-INVALID: &fInfraction &a##(infraction-index) &fdoes not exist on &a(offender)'s &fHistory&7(-H)
	INFRACTION-MAX-REACHED: &a(offender) &fhas reached max infractions.
	INFRACTION-BAN-TIMESPAN: 7 days

	HISTORY-TITLE: &a(offender)'s &fHistory »
	HISTORY-LIST: &a##(infraction-index) &8&l» &f(infraction)
	HISTORY-CLEAN: &8&l» &a(offender)'s History seems to be clean.

	CHAT-LOCKED: &a(staff) &Fhas &clocked &fthe chat.
	CHAT-UNLOCKED: &a(staff) &Fhas &2unlocked &fthe chat.
	CHAT-CLEARED: &a(staff) &Fhas cleared the chat.
	CHAT-SLOWMODE-SET: &a(staff) &fhas enabled &9slowmode &ffor chat [&a(timespan-lasting)&f]
	CHAT-SLOWMODE-TOGGLED: &a(staff) &fhas disabled &9slowmode &ffor chat.
	CHAT-USAGE: &f/chat &a<clear|toggle|t|slowmode> &c[<timespan>]
	CHAT-TIMESPAN-OVER: &fYour stated timespan [&a(timespan-lasting)&f] is too large. it must be under &a10 seconds
	CHAT-SLOWMODE-MESSAGE: &fWoah &9slowdown &fthere buddy, chat is currenly on a &a(timespan-set) &fslowmode please wait &a(timespan-lasting)
	CHAT-IS-LOCKED: &fChat is currently &clocked &fyou cannot speak.

	UNSPECIFIED-TIMESPAN: &cUnspecified timespan.
	UNSPECIFIED-REASON: &cUnspecified reason.
	UNSPECIFIED-PLAYER: &cUnspecified player.
	UNSPECIFIED-TEXT: &cUnspecified text.
	UNSPECIFIED-ARG: &cUnspecified argument.

	INSUFFICIENT-PERMISSIONS: &cUnauthorised to use this command.

# do not touch below this line.

command mute [<offlineplayer>] [<text>] [<timespan>]:
	trigger:
		if player doesn't have permission "{@PERMISSION-MUTE}" or "{@PERMISSION-ALL}":
			send "{@INSUFFICIENT-PERMISSIONS}"
		else if arg 1 is not set:
			send "{@UNSPECIFIED-PLAYER}"
		else if arg 2 is not set:
			if {moderation::%arg-1's uuid%::muted::when} is set:
				delete {moderation::%arg-1's uuid%::muted::*}
				set {_temp} to "{@UNMUTE-MESSAGE}"
				replace all "(staff)" with "%player%" in {_temp}
				replace all "(offender)" with "%arg 1%" in {_temp}
				send {_temp} to all players
				stop
			send "{@UNSPECIFIED-REASON}"
		else if arg 3 is not set:
			send "{@UNSPECIFIED-TIMESPAN}"
		else:
			set {moderation::%arg-1's uuid%::muted::when} to now
			set {moderation::%arg-1's uuid%::muted::reason} to arg 2
			if arg 3 >= 1000 days:
				set {moderation::%arg-1's uuid%::muted::lasting} to "FOREVER"
			else:
				set {moderation::%arg-1's uuid%::muted::lasting} to arg 3
			set {moderation::%arg-1's uuid%::muted::by} to player's uuid
			set {_temp} to "{@MUTE-MESSAGE}"
			replace all "(staff)" with "%player%" in {_temp}
			replace all "(offender)" with "%arg 1%" in {_temp}
			replace all "(reason)" with arg 2 in {_temp}
			replace all "(timespan-lasting)" with "%{moderation::%arg-1's uuid%::muted::lasting}%" in {_temp}
			send {_temp} to all players

chat:
	{moderation::%player's uuid%::muted::when} is set
	set {_time} to difference between {moderation::%player's uuid%::muted::when} and now
	if {moderation::%player's uuid%::muted::lasting} = "FOREVER":
		cancel event
		set {_temp} to "{@MUTED-MESSAGE}"
		set {_staff} to {moderation::%player's uuid%::muted::by} parsed as offlineplayer
		replace all "(timespan-lasting)" with "%{moderation::%player's uuid%::muted::lasting}%" in {_temp}
		replace all "(timespan-set)" with "%{moderation::%player's uuid%::muted::when}%" in {_temp}
		replace all "(reason)" with "%{moderation::%player's uuid%::muted::reason}%" in {_temp}
		replace all "(staff)" with "%{_staff}%" in {_temp}
		send action bar {_temp} to player
	event isn't cancelled
	if {_time} < {moderation::%player's uuid%::muted::lasting}:
		cancel event
		set {_temp} to "{@MUTED-MESSAGE}"
		set {_staff} to {moderation::%player's uuid%::muted::by} parsed as offlineplayer
		replace all "(timespan-lasting)" with "%difference between {_time} and {moderation::%player's uuid%::muted::lasting}%" in {_temp}
		replace all "(timespan-set)" with "%{moderation::%player's uuid%::muted::when}%" in {_temp}
		replace all "(reason)" with "%{moderation::%player's uuid%::muted::reason}%" in {_temp}
		replace all "(staff)" with "%{_staff}%" in {_temp}
		send action bar {_temp} to player
	event isn't cancelled
	delete {moderation::%player's uuid%::muted::*}
	send action bar "{@MUTE-EXPIRED}" to player



command ban [<offlineplayer>] [<text>] [<timespan>]:
	trigger:
		if player doesn't have permission "{@PERMISSION-BAN}" or "{@PERMISSION-ALL}":
			send "{@INSUFFICIENT-PERMISSIONS}"
		else if arg 1 is not set:
			send "{@UNSPECIFIED-PLAYER}"
		else if arg 2 is not set:
			if {moderation::%arg-1's uuid%::banned::when} is set:
				delete {moderation::%arg-1's uuid%::banned::*}
				delete {moderation::%arg 1's uuid%::infractions::*}
				set {_temp} to "{@UNBAN-MESSAGE}"
				replace all "(staff)" with "%player%" in {_temp}
				replace all "(offender)" with "%arg 1%" in {_temp}
				send {_temp} to all players
				stop
			send "{@UNSPECIFIED-REASON}"
		else if arg 3 is not set:
			send "{@UNSPECIFIED-TIMESPAN}"
		else:
			set {moderation::%arg-1's uuid%::banned::when} to now
			set {moderation::%arg-1's uuid%::banned::reason} to arg 2
			if arg 3 >= 1000 days:
				set {moderation::%arg-1's uuid%::banned::lasting} to "FOREVER"
			else:
				set {moderation::%arg-1's uuid%::banned::lasting} to arg 3
			set {moderation::%arg-1's uuid%::banned::by} to player's uuid
			set {_temp} to "{@BANNED-MESSAGE}"
			set {_staff} to {moderation::%arg-1's uuid%::banned::by} parsed as offlineplayer
			replace all "(staff)" with "%{_staff}%" in {_temp}
			replace all "(offender)" with "%arg-1%" in {_temp}
			replace all "(reason)" with "%{moderation::%arg-1's uuid%::banned::reason}%" in {_temp}
			replace all "(timespan-lasting)" with "%{moderation::%arg-1's uuid%::banned::lasting}%" in {_temp}
			replace all "(timespan-set)" with "%{moderation::%arg-1's uuid%::banned::when}%" in {_temp}
			kick arg 1 due to {_temp}
			set {_temp} to "{@BAN-MESSAGE}"
			replace all "(staff)" with "%player%" in {_temp}
			replace all "(offender)" with "%arg 1%" in {_temp}
			replace all "(reason)" with arg 2 in {_temp}
			replace all "(timespan-lasting)" with "%arg 3%" in {_temp}
			send {_temp} to all players

join:
	{moderation::%player's uuid%::banned::when} is set
	set {_time} to difference between {moderation::%player's uuid%::banned::when} and now
	if {moderation::%player's uuid%::banned::lasting} = "FOREVER":
		set join message to ""
		set {_temp} to "{@BANNED-MESSAGE}"
		set {_staff} to {moderation::%player's uuid%::banned::by} parsed as offlineplayer
		replace all "(staff)" with "%{_staff}%" in {_temp}
		replace all "(offender)" with "%player%" in {_temp}
		replace all "(reason)" with "%{moderation::%player's uuid%::banned::reason}%" in {_temp}
		replace all "(timespan-lasting)" with "%{moderation::%player's uuid%::banned::lasting}%" in {_temp}
		replace all "(timespan-set)" with "%{moderation::%player's uuid%::banned::when}%" in {_temp}
		kick player due to {_temp}
	else if {_time} < {moderation::%player's uuid%::banned::lasting}:
		set join message to ""
		set {_temp} to "{@BANNED-MESSAGE}"
		set {_staff} to {moderation::%player's uuid%::banned::by} parsed as offlineplayer
		replace all "(staff)" with "%{_staff}%" in {_temp}
		replace all "(offender)" with "%player%" in {_temp}
		replace all "(reason)" with "%{moderation::%player's uuid%::banned::reason}%" in {_temp}
		replace all "(timespan-lasting)" with "%difference between {_time} and {moderation::%player's uuid%::banned::lasting}%" in {_temp}
		replace all "(timespan-set)" with "%{moderation::%player's uuid%::banned::when}%" in {_temp}
		kick player due to {_temp}
	else:
		delete {moderation::%player's uuid%::banned::*}
		delete {moderation::%player's uuid%::infractions::*}
		wait 2 seconds
		send action bar "{@BAN-EXPIRED}" to player

quit:
	{moderation::%player's uuid%::banned::when} is set
	set quit message to ""

command kick [<player>] [<text>]:
	trigger:
		if player doesn't have permission "{@PERMISSION-KICK}" or "{@PERMISSION-ALL}":
			send "{@INSUFFICIENT-PERMISSIONS}"
		else if arg 1 is not set:
			send "{@UNSPECIFIED-PLAYER}"
		else if arg 2 is not set:
			send "{@UNSPECIFIED-REASON}"
		else:
			set {_temp} to "{@KICKED-MESSAGE}"
			replace all "(staff)" with "%player%" in {_temp}
			replace all "(offender)" with "%arg 1%" in {_temp}
			replace all "(reason)" with arg 2 in {_temp}
			replace all "(timespan-set)" with "%now%" in {_temp}
			kick arg 1 due to {_temp}
			set {_temp} to "{@KICK-MESSAGE}"
			replace all "(staff)" with "%player%" in {_temp}
			replace all "(offender)" with "%arg 1%" in {_temp}
			replace all "(reason)" with arg 2 in {_temp}
			replace all "(timespan-set)" with "%now%" in {_temp}
			send {_temp} to all players

command staffchat [<text>]:
	trigger:
		if player doesn't have permission "{@PERMISSION-CHANNEL}" or "{@PERMISSION-ALL}":
			send "{@INSUFFICIENT-PERMISSIONS}"
		else if arg 1 is not set:
			send "{@UNSPECIFIED-TEXT}"
		else if arg 1 = "toggle" or "t":
			if {moderation::staffchannel::*} contains player's uuid:
				remove player's uuid from {moderation::staffchannel::*}
				set {_temp} to "{@LEFT-CHANNEL}"
				replace all "(staff)" with "%player%" in {_temp}
				replace all "(timespan-set)" with "%now%" in {_temp}
				loop {moderation::staffchannel::*}:
					set {_staff} to loop-value parsed as offline player
					send {_temp} to {_staff}
				set {_temp} to "{@LEFT-CHANNEL(personal)}"
				replace all "(staff)" with "%player%" in {_temp}
				replace all "(timespan-set)" with "%now%" in {_temp}
				send {_temp}
			else:
				set {_temp} to "{@JOINED-CHANNEL}"
				replace all "(staff)" with "%player%" in {_temp}
				replace all "(timespan-set)" with "%now%" in {_temp}
				loop {moderation::staffchannel::*}:
					set {_staff} to loop-value parsed as offline player
					send {_temp} to {_staff}
				add player's uuid to {moderation::staffchannel::*}
				set {_temp} to "{@JOINED-CHANNEL(personal)}"
				replace all "(staff)" with "%player%" in {_temp}
				replace all "(timespan-set)" with "%now%" in {_temp}
				send {_temp}
		else:
			set {_temp} to "{@CHANNEL-CHAT} &f%arg 1%"
			replace all "(staff)" with "%player%" in {_temp}
			replace all "(timespan-set)" with "%now%" in {_temp}
			send "{@PREFIX} %{_temp}%" to all players where [input has permission "{@PERMISSION-CHANNEL}" or "{@PERMISSION-ALL}"]

chat:
	{moderation::staffchannel::*} contains player's uuid
	cancel event
	set {_temp} to "{@CHANNEL-CHAT} &f%message%"
	replace all "(staff)" with "%player%" in {_temp}
	replace all "(timespan-set)" with "%now%" in {_temp}
	send "{@PREFIX} %{_temp}%" to all players where [input has permission "{@PERMISSION-CHANNEL}" or "{@PERMISSION-ALL}"]

command vanish:
	trigger:
		if player doesn't have permission "{@PERMISSION-VANISH}" or "{@PERMISSION-ALL}":
			send "{@INSUFFICIENT-PERMISSIONS}"
		else if {moderation::vanish::*} contains player's uuid:
			remove player's uuid from {moderation::vanish::*}
			reveal player for all players where [input doesn't have permission "{@PERMISSION-VANISH}" or "{@PERMISSION-ALL}"]
			set {_temp} to "{@UNVANISH-MESSAGE}"
			replace all "(staff)" with "%player%" in {_temp}
			send {_temp} to all players where [input has permission "{@PERMISSION-VANISH}" or "{@PERMISSION-ALL}"]
			set {_temp} to "{@UNVANISHED-MESSAGE}"
			replace all "(staff)" with "%player%" in {_temp}
			send {_temp} to all players where [input doesn't have permission "{@PERMISSION-VANISH}" or "{@PERMISSION-ALL}"]
		else:
			add player's uuid to {moderation::vanish::*}
			hide player for all players where [input doesn't have permission "{@PERMISSION-VANISH}" or "{@PERMISSION-ALL}"]
			set {_temp} to "{@VANISH-MESSAGE}"
			replace all "(staff)" with "%player%" in {_temp}
			send {_temp} to all players where [input has permission "{@PERMISSION-VANISH}" or "{@PERMISSION-ALL}"]
			set {_temp} to "{@VANISHED-MESSAGE}"
			replace all "(staff)" with "%player%" in {_temp}
			send {_temp} to all players where [input doesn't have permission "{@PERMISSION-VANISH}" or "{@PERMISSION-ALL}"]

join:
	if player doesn't have permission "{@PERMISSION-VANISH}" or "{@PERMISSION-ALL}":
		loop {moderation::vanish::*}:
			hide loop-value parsed as offlineplayer for player
		reveal player for all players
	else if {moderation::vanish::*} contains player's uuid:
		add player's uuid to {moderation::vanish::*}
		hide player for all players where [input doesn't have permission "{@PERMISSION-VANISH}" or "{@PERMISSION-ALL}"]
		set join message to ""
		wait 2 seconds
		send "{@PREFIX} {@VANISHED-LEFT}"

quit:
	if {moderation::vanish::*} contains player's uuid:
		set quit message to ""

command infraction [<offlineplayer>] [<text>] [<number>]:
	trigger:
		if player doesn't have permission "{@PERMISSION-INFRACTION}" or "{@PERMISSION-ALL}":
			send "{@INSUFFICIENT-PERMISSIONS}"
		else if arg 1 is not set:
			send "{@UNSPECIFIED-PLAYER}"
		else if arg 2 is not set:
			send "{@UNSPECIFIED-REASON}"
		else if arg 2 = "-c":
			if arg 3 is not set:
				if {moderation::%arg 1's uuid%::infractions::*} is set:
					delete {moderation::%arg 1's uuid%::infractions::*}
					set {_temp} to "{@INFRACTION-REMOVED}"
					replace all "(infraction-index)" with "*" in {_temp}
					replace all "(offender)" with "%arg 1%" in {_temp}
					replace all "(staff)" with "%player%" in {_temp}
					send {_temp} to all players
				else:
					player command "/infraction %arg 1% -H"
			else:
				if {moderation::%arg 1's uuid%::infractions::%arg 3%} is set:
					delete {moderation::%arg 1's uuid%::infractions::%arg 3%}
					set {_temp} to "{@INFRACTION-REMOVED}"
					replace all "(infraction-index)" with "%arg 3%" in {_temp}
					replace all "(offender)" with "%arg 1%" in {_temp}
					replace all "(staff)" with "%player%" in {_temp}
					send {_temp} to all players
				else:
					set {_temp} to "{@INFRACTION-INVALID}"
					replace all "(infraction-index)" with "%arg 3%" in {_temp}
					replace all "(offender)" with "%arg 1%" in {_temp}
					send {_temp}
		else if arg 2 = "-H":
			set {_temp} to "{@HISTORY-TITLE}"
			replace all "(offender)" with "%arg 1%" in {_temp}
			send {_temp}
			send " "
			if arg 3 is set:
				if {moderation::%arg 1's uuid%::infractions::%arg 3%} is set:
					set {_temp} to "{@HISTORY-LIST}"
					replace all "(infraction)" with "%{moderation::%arg 1's uuid%::infractions::%arg 3%}%" in {_temp}
					replace all "(infraction-index)" with "%arg 3%" in {_temp}
					send {_temp}
				else:
					set {_temp} to "{@INFRACTION-INVALID}"
					replace all "(infraction-index)" with "%arg 3%" in {_temp}
					replace all "(offender)" with "%arg 1%" in {_temp}
					send {_temp}
			else:
				if {moderation::%arg 1's uuid%::infractions::*} is set:
					loop {moderation::%arg 1's uuid%::infractions::*}:
						set {_temp} to "{@HISTORY-LIST}"
						replace all "(infraction)" with loop-value in {_temp}
						replace all "(infraction-index)" with loop-index in {_temp}
						send {_temp}
				else:
					set {_temp} to "{@HISTORY-CLEAN}"
					replace all "(offender)" with "%arg 1%" in {_temp}
					send {_temp}
		else:
			set {_max} to "{@MAX-INFRACTIONS}"
			set {_kick} to "{@MINIMUM-INFRACTIONS}"
			if "%size of {moderation::%arg 1's uuid%::infractions::*}%" = {_max}:
				set {_temp} to "{@INFRACTION-MAX-REACHED}"
				replace all "(offender)" with "%arg 1%" in {_temp}
				send {_temp}
				stop
			add arg-2 to {moderation::%arg 1's uuid%::infractions::*}
			if "%size of {moderation::%arg 1's uuid%::infractions::*}%" = {_kick}:
				player command "kick %arg 1% infraction [%size of {moderation::%arg 1's uuid%::infractions::*}%/%{_max}%] | %arg 2%"
			else if "%size of {moderation::%arg 1's uuid%::infractions::*}%" = {_max}:
				player command "ban %arg 1% infraction [%size of {moderation::%arg 1's uuid%::infractions::*}%/%{_max}%] | %arg 2% {@INFRACTION-BAN-TIMESPAN}"
			else:
				set {_temp} to "{@INFRACTION-MESSAGE}"
				replace all "(offender)" with "%arg 1%" in {_temp}
				replace all "(staff)" with "%player%" in {_temp}
				replace all "(reason)" with arg 2 in {_temp}
				replace all "(infractions)" with "%size of {moderation::%arg 1's uuid%::infractions::*}%" in {_temp}
				replace all "(max-infractions)" with "{@MAX-INFRACTIONS}" in {_temp}
				send {_temp} to all players

command chat [<text>] [<timespan>]:
	trigger:
		if player doesn't have permission "{@PERMISSION-CHAT-MUTE}" or "{@PERMISSION-CHAT-CLEAR}" or "{@PERMISSION-ALL}" or "{@PERMISSION-CHAT-ALL}" or "{@PERMISSION-CHAT-SLOWMODE}":
			send "{@INSUFFICIENT-PERMISSIONS}"
		else if arg 1 = "toggle" or "t":
			if player doesn't have permission "{@PERMISSION-CHAT-MUTE}" or "{@PERMISSION-ALL}" or "{@PERMISSION-CHAT-ALL}":
				send "{@INSUFFICIENT-PERMISSIONS}"
			else if {moderation::chat::state} is not set:
				set {moderation::chat::state} to 1
				set {_temp} to "{@CHAT-LOCKED}"
				replace all "(staff)" with "%player%" in {_temp}
				send {_temp} to all players
			else:
				delete {moderation::chat::state}
				set {_temp} to "{@CHAT-UNLOCKED}"
				replace all "(staff)" with "%player%" in {_temp}
				send {_temp} to all players
		else if arg 1 = "slowmode":
			if player doesn't have permission "{@PERMISSION-CHAT-SLOWMODE}" or "{@PERMISSION-ALL}" or "{@PERMISSION-CHAT-ALL}":
				send "{@INSUFFICIENT-PERMISSIONS}"
			if arg 2 is not set:
				if {moderation::chat::slowmode} is set:
					delete {moderation::chat::slowmode}
					set {_temp} to "{@CHAT-SLOWMODE-TOGGLED}"
					replace all "(staff)" with "%player%" in {_temp}
					send {_temp} to all players
					stop
				send "{@UNSPECIFIED-TIMESPAN}"
			else:
				if arg 2 > 10 seconds:
					set {_temp} to "{@CHAT-TIMESPAN-OVER}"
					replace all "(timespan-lasting)" with "%arg 2%" in {_temp}
					send {_temp}
					stop
				set {moderation::chat::slowmode} to arg 2
				set {_temp} to "{@CHAT-SLOWMODE-SET}"
				replace all "(staff)" with "%player%" in {_temp}
				replace all "(timespan-lasting)" with "%arg 2%" in {_temp}
				send {_temp} to all players
		else if arg 1 = "clear":
			if player doesn't have permission "{@PERMISSION-CHAT-CLEAR}" or "{@PERMISSION-ALL}" or "{@PERMISSION-CHAT-ALL}":
				send "{@INSUFFICIENT-PERMISSIONS}"
			else:
				loop 350 times:
					send " " to all players
				set {_temp} to "{@CHAT-CLEARED}"
				replace all "(staff)" with "%player%" in {_temp}
				send {_temp} to all players
		else:
			send "{@CHAT-USAGE}"

chat:
	if {moderation::chat::state} is set:
		player doesn't have permission "{@PERMISSION-CHAT-BYPASS}" or "{@PERMISSION-ALL}"
		cancel event
		send action bar "{@CHAT-IS-LOCKED}" to player
	else if {moderation::chat::slowmode} is set:
		player doesn't have permission "{@PERMISSION-CHAT-BYPASS}" or "{@PERMISSION-ALL}"
		set {_time} to difference between {moderation::%player's uuid%::chat::spoke} and now
		if {_time} < {moderation::chat::slowmode}:
			cancel event
			set {_temp} to "{@CHAT-SLOWMODE-MESSAGE}"
			replace all "(timespan-set)" with "%{moderation::chat::slowmode}%" in {_temp}
			replace all "(timespan-lasting)" with "%difference between {_time} and {moderation::chat::slowmode}%" in {_temp}
			send action bar {_temp} to player
			stop
		set {moderation::%player's uuid%::chat::spoke} to now

load:
	wait 2 ticks
	set {_creator} to text from "https://pastebin.com/raw/pWkH8Rx0"
	send " %nl%{@PREFIX} &fBy &6<link:https://mine.ly/Customable.5><tooltip:&aClick for direct to namemc>%{_creator}%<reset> &floaded.%nl% " to all players