essentials.sk

Created by default

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.

#Thanks to Snow-Pyon from skunity forums/discord for his/her help about functions
#Thanks to Blueyescat, a fabulous brain who's everywhere in skript world, who saved me soooo much times from not working codes
#command /setit:
#	trigger:
#		set {_num} to line count of "plugins/Skript/scripts/-homes.sk"
#		set {_num2} to 0
#		loop {_num} times:
#			set {_line} to line {_num2} in file "plugins/Skript/scripts/-homes.sk"
#			set line {_num2} in file "plugins/Skript/scripts/-homes.sk" to "write ""%{_line}%"" at line %{_num2}% to file ""plugins/Essentials/language_fr.yml"" "
#			add 1 to {_num2}
function indexSpace(char1: number, texte: text) :: text:
	if first index of " " in {_texte} is -1:
		set {_number} to subtext of {_texte} from character {_char1} to character length of {_texte}
	else:
		set {_number} to subtext of {_texte} from character {_char1} to character first index of " " in {_texte} -1	
	return {_number}
function getIngredients(rec: Recipe) :: items:
    set {_shape::*} to shape of {_rec}
    if {_shape::*} is set:
        set {_items::*} to ingredients of {_rec}

        set {_l} to length of {_shape::1}
        set {_count} to 1
        loop integers from 1 to 9:
            add 1 to {_s}
            if {_s} is 4:
                set {_s} to 1
            if {_s} is less or equal to {_l}:
                set {_result::%loop-integer%} to {_items::%{_count}%}                
                add 1 to {_count}
            if {_result::%loop-integer%} is not set:
                set {_result::%loop-integer%} to air
        return {_result::*}
    return ingredients of {_rec}
function cancelAfk(p: text):
	"%{_p}%" is not "<none>"
	set {_p} to {_p} parsed as player
	yaml value "cancel-afk-on-interact" of "plugins/Essentials/config.yml" is true
	yaml value "afk" of "plugins/Essentials/userdata/%{_p}'s uuid%.yml" is true
	set yaml value "afk" of "plugins/Essentials/userdata/%{_p}'s uuid%.yml" to "false"
	save yml "plugins/Essentials/userdata/%{_p}'s uuid%.yml"
	set {_message} to M1("NoLongerAfk", "Player", "%{_p}%")
	message coloured {_message} to all players
function cancelTeleport(p: text):
	"%{_p}%" is not "<none>"
	set {_p} to {_p} parsed as player
	yaml value "teleport-cooldown" of "plugins/Essentials/config.yml" is 0:
		yaml value "teleporting" of "plugins/Essentials/userdata/%{_p}'s uuid%.yml" is true:
			set yaml value "teleporting" of "plugins/Essentials/userdata/%{_p}'s uuid%.yml" to "false"
			save yml "plugins/Essentials/userdata/%{_p}'s uuid%.yml"
			set {_message} to M1("TeleportationCanceled", "", "")
			message coloured {_message} to "%{_p}%" parsed as player
function M1(value: text, r1: text, r2: text) :: text:
	set {_message} to yaml value "%{_value}%" from "plugins/Essentials/language.yml" parsed as text
	replace all "[%{_r1}%]" with "%{_r2}%" in {_message}
	return {_message}
function M2(value: text, r1: text, r2: text, r3: text, r4: text) :: text:
	set {_message} to yaml value "%{_value}%" from "plugins/Essentials/language.yml" parsed as text
	replace all "[%{_r1}%]" with "%{_r2}%" in {_message}
	replace all "[%{_r3}%]" with "%{_r4}%" in {_message}
	return {_message}
function Cooldown(p: player) :: timespan:
	set {_cooldown} to yaml value "teleport-cooldown" of "plugins/Essentials/config.yml"
	{_p} does not have permission "essentials.teleport.cooldown.bypass":
		set {_message} to M1("TeleportingIn", "Time", "%{_cooldown}%")
		message coloured {_message} to {_p}
		set yaml value "teleporting" of "plugins/Essentials/userdata/%{_p}'s uuid%.yml" to "true"
		save yml "plugins/Essentials/userdata/%{_p}'s uuid%.yml"
		set {_cooldown} to "%{_cooldown}% seconds" parsed as timespan
		return {_cooldown}
	else:
		set yaml value "teleporting" of "plugins/Essentials/userdata/%{_p}'s uuid%.yml" to "true"
		save yml "plugins/Essentials/userdata/%{_p}'s uuid%.yml"
		set {_cooldown} to 0 seconds
		return {_cooldown}
function Delay(p: player) :: timespan:
	set {_delay} to yaml value "teleport-delay" of "plugins/Essentials/config.yml"
	{_p} does not have permission "essentials.teleport.timer.bypass":
		set {_message} to M1("TeleportingInDontMove", "Time", "%{_delay}%")
		message coloured {_message} to {_p}
		set yaml value "teleporting" of "plugins/Essentials/userdata/%{_p}'s uuid%.yml" to "true"
		save yml "plugins/Essentials/userdata/%{_p}'s uuid%.yml"
		set {_delay} to "%{_delay}% seconds" parsed as timespan
		return {_delay}
	else:
		set yaml value "teleporting" of "plugins/Essentials/userdata/%{_p}'s uuid%.yml" to "true"
		save yml "plugins/Essentials/userdata/%{_p}'s uuid%.yml"
		set {_delay} to 0 seconds
		return {_delay}
function typeOf(v: object) :: objects:
  loop all types:
    if {_v} is loop-value:
      if "%loop-value%" is not "object":
        add loop-value to {_r::*}
  return {_r::*}
function NoPerm(perm: text, p: player) :: text:
	{_p}'s uuid is not "<none>":
		yaml value "UsingSign" of "plugins/Essentials/userdata/%{_p}'s uuid%.yml" is true:
			return "yes"
			stop
	{_p} does not have permission "%{_perm}%":
		set {_list::*} to yml list "player-commands" of "plugins/Essentials/config.yml"
		loop {_list::*}:
			"essentials.%loop-value%" is "%{_perm}%"
			return "yes"
			stop
		set {_message} to yaml value "NoPermission" of "plugins/Essentials/language.yml"
		replace all "[Permission]" with "%{_perm}%" in {_message}
		message coloured {_message} to {_p}
		return "no"
	{_p} has permission "%{_perm}%":
		return "yes"
function SignE(t: text, p: player, line: text) :: text:
	"%{_line}%" contains "[%{_t}%]":
		NoPerm("essentials.signs.create.%{_t}%", {_p}) is "no":
			return "false"
			stop
		yml "enabledSigns" in file "plugins/Essentials/config.yml" exists:
			set {_list::*} to yml list "enabledSigns" of "plugins/Essentials/config.yml"
			if "%{_list::*}%" does not contain "%{_t}%":
				set {_message} to M1("SignNotEnable", "Sign", "%{_t}%")
				message coloured {_message} to {_p}
				return "false"
			if "%{_list::*}%" contains "%{_t}%":
				return "&1[%{_t}%]"
		else:
			set {_message} to M1("SignNotEnable", "Sign", "%{_t}%")
			message coloured {_message} to {_p}
			return "false"
	else:
		return "false"
	
function Usage(command: text) :: text:
	set {_message} to yaml value "Usage" from "plugins/Essentials/language.yml" parsed as text
	replace all "[Command]" with "%{_command}%" in {_message}
	return {_message}

on pickup:
	yaml value "disable-item-pickup-while-afk" of "plugins/Essentials/config.yml" is true
	"%player%" is not "<none>"
	yaml value "afk" of "plugins/Essentials/userdata/%player's uuid%.yml" is true
	cancel event
on rightclick on a sign:
	line 1 is "&1[repair]":
		NoPerm("essentials.signs.use.repair", sender) is not "no"
		set {_lol} to line 4
		replace all "$" with "" in {_lol}
		set {_lol} to {_lol} parsed as number	
		line 2 is not "hand" or "all":
			message "&cLine 2 must be ""hand"" or ""all"""
			stop
		line 4 is not "":
			player's balance >= {_lol}:
				remove {_lol} from player's balance
			else:
				set {_message} to M1("NotEnoughMoney", "Money", "%{_lol}%")
				message coloured {_message}
				stop		
		set yaml value "UsingSign" of "plugins/Essentials/userdata/%player's uuid%.yml" to "true"
		save yml "plugins/Essentials/userdata/%player's uuid%.yml"
		make player execute command "/repair %line 2%"
		set yaml value "UsingSign" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
		save yml "plugins/Essentials/userdata/%player's uuid%.yml"
	line 1 is "&1[buy]":
		NoPerm("essentials.signs.use.buy", sender) is not "no"
		set {_lol} to line 2 parsed as number
		{_lol} is not a number:
			message "&cLine 2 must be an amount of items (for example: ""10"")"
			stop
		line 3 parsed as item is not an item:
			line 3 is not "exp"
			message "&cLine 3 must be an item or ""exp"" (for xp)"
			stop		
		set {_lol} to line 4
		replace all "$" with "" in {_lol}
		set {_lol} to {_lol} parsed as number
		{_lol} is a number:
			player's balance >= {_lol}:
				remove {_lol} from player's balance
			else:
				set {_message} to M1("NotEnoughMoney", "Money", "%{_lol}%")
				message coloured {_message}
				stop
		else:
			message "&cLine 4 must be a price (for example: ""$10"")"
			stop
		line 3 is not "exp":
			set {_item} to "%line 2% of %line 3%" parsed as item
			give {_item} to player	
		else:
			add line 2 parsed as integer to level of player
	line 1 is "&1[sell]":
		NoPerm("essentials.signs.use.sell", sender) is not "no"
		set {_lol} to line 2 parsed as number
		{_lol} is not a number:
			message "&cLine 2 must be an amount of items (for example: ""10"")"
			stop
		line 3 parsed as item is not an item:
			message "&cLine 3 must be an item"
			stop		
		set {_lol} to line 4
		replace all "$" with "" in {_lol}
		set {_lol} to {_lol} parsed as number
		{_lol} is not a number:
			add {_lol} to player's balance
		else:
			message "&cLine 4 must be a price (for example: ""$10"")"
			stop
		set {_item} to "%line 2% of %line 3%" parsed as item
		remove {_item} from player's inventory
	line 1 is "&1[enchant]":
		NoPerm("essentials.signs.use.enchant", sender) is not "no"
		set {_lol} to line 2 parsed as item
		replace all " " with "_" in {_lol}
		"%{_lol}%" is not "%player's tool%":
			line 2 is not "any" or "*":
				stop
		set {_lol} to line 4
		replace all "$" with "" in {_lol}
		set {_lol} to {_lol} parsed as number			
		line 4 is not "":
			player's balance >= {_lol}:
				remove {_lol} from player's balance
			else:
				set {_message} to M1("NotEnoughMoney", "Money", "%{_lol}%")
				message coloured {_message}
				stop
		set yaml value "UsingSign" of "plugins/Essentials/userdata/%player's uuid%.yml" to "true"
		save yml "plugins/Essentials/userdata/%player's uuid%.yml"
		make player execute command "/enchant %line 3%"
		set yaml value "UsingSign" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
		save yml "plugins/Essentials/userdata/%player's uuid%.yml"
	line 1 is "&1[balance]":
		NoPerm("essentials.signs.use.balance", sender) is not "no"
		set yaml value "UsingSign" of "plugins/Essentials/userdata/%player's uuid%.yml" to "true"
		save yml "plugins/Essentials/userdata/%player's uuid%.yml"
		make player execute command "/balance"
		set yaml value "UsingSign" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
		save yml "plugins/Essentials/userdata/%player's uuid%.yml"
	line 1 is "&1[warp]":
		NoPerm("essentials.signs.use.warp", sender) is not "no"
		line 3 is not "":
			player's group is not line 3:
				stop
		set {_lol} to line 4
		replace all "$" with "" in {_lol}
		set {_lol} to {_lol} parsed as number			
		line 4 is not "":
			player's balance >= {_lol}:
				remove {_lol} from player's balance
			else:
				set {_message} to M1("NotEnoughMoney", "Money", "%{_lol}%")
				message coloured {_message}
				stop
		set yaml value "UsingSign" of "plugins/Essentials/userdata/%player's uuid%.yml" to "true"
		save yml "plugins/Essentials/userdata/%player's uuid%.yml"
		make player execute command "/warp %line 2%"
		set yaml value "UsingSign" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
		save yml "plugins/Essentials/userdata/%player's uuid%.yml"
	line 1 is "&1[free]":
		NoPerm("essentials.signs.use.free", sender) is not "no"
		open chest with 6 rows named "Free" to player
		wait 1 tick
		add 3456 of line 2 parsed as item to player's current inventory
	line 1 is "&1[disposal]":
		NoPerm("essentials.signs.use.disposal", sender) is not "no"
		open chest with 6 rows named "Disposal" to player
	line 1 is "&1[gamemode]":
		NoPerm("essentials.signs.use.gamemode", sender) is not "no"
		set {_lol} to line 3
		replace all "$" with "" in {_lol}
		set {_lol} to {_lol} parsed as number			
		line 3 is not "":
			player's balance >= {_lol}:
				remove {_lol} from player's balance
			else:
				set {_message} to M1("NotEnoughMoney", "Money", "%{_lol}%")
				message coloured {_message}
				stop
		set yaml value "UsingSign" of "plugins/Essentials/userdata/%player's uuid%.yml" to "true"
		save yml "plugins/Essentials/userdata/%player's uuid%.yml"
		make player execute command "/gm %line 2%"
		set yaml value "UsingSign" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
		save yml "plugins/Essentials/userdata/%player's uuid%.yml"
	line 1 is "&1[heal]":
		NoPerm("essentials.signs.use.heal", sender) is not "no"
		set {_lol} to line 2
		replace all "$" with "" in {_lol}
		set {_lol} to {_lol} parsed as number			
		line 2 is not "":
			player's balance >= {_lol}:
				remove {_lol} from player's balance
			else:
				set {_message} to M1("NotEnoughMoney", "Money", "%{_lol}%")
				message coloured {_message}
				stop
		set yaml value "UsingSign" of "plugins/Essentials/userdata/%player's uuid%.yml" to "true"
		save yml "plugins/Essentials/userdata/%player's uuid%.yml"
		make player execute command "/heal"
		set yaml value "UsingSign" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
		save yml "plugins/Essentials/userdata/%player's uuid%.yml"
	line 1 is "&1[kit]":
		NoPerm("essentials.signs.use.kit", sender) is not "no"
		line 3 is not "":
			player's group is not line 3:
				stop
		set {_lol} to line 4
		replace all "$" with "" in {_lol}
		set {_lol} to {_lol} parsed as number			
		line 4 is not "":
			player's balance >= {_lol}:
				remove {_lol} from player's balance
			else:
				set {_message} to M1("NotEnoughMoney", "Money", "%{_lol}%")
				message coloured {_message}
				stop
		set yaml value "UsingSign" of "plugins/Essentials/userdata/%player's uuid%.yml" to "true"
		save yml "plugins/Essentials/userdata/%player's uuid%.yml"
		make player execute command "/kit %line 2%"
		set yaml value "UsingSign" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
		save yml "plugins/Essentials/userdata/%player's uuid%.yml"
on sign edit:
	set {_list::*} to "warp", "trade", "free", "mail", "kit", "disposal", "heal", "time", "weather", "spawnmob", "enchant", "gamemode", "repair", "buy", "sell" and "balance"
	loop {_list::*}:
		set {_lol} to SignE("%loop-value%", player, line 1)
		{_lol} is not "false":
			set line 1 to {_lol}
			stop
	set {_num::*} to 1, 2, 3 and 4
	loop {_num::*}:
		line loop-value contains "&":
			NoPerm("essentials.signs.color", sender) is not "no"
			yml "enabledSigns" in file "plugins/Essentials/config.yml" exists:
				set {_list::*} to yml list "enabledSigns" of "plugins/Essentials/config.yml"
				if "%{_list::*}%" does not contain "color":
					set {_message} to M1("SignNotEnable", "Sign", "color")
					message coloured {_message}
				if "%{_list::*}%" contains "color":
					set line 1 to coloured line 1
					set line 2 to coloured line 2
					set line 3 to coloured line 3
					set line 4 to coloured line 4
			else:
				set {_message} to M1("SignNotEnable", "Sign", "color")
				message coloured {_message}
on connect:
	file "plugins/Essentials/userdata/%player's uuid%.yml" exists:
		load yml "plugins/Essentials/userdata/%player's uuid%.yml" as "plugins/Essentials/userdata/%player's uuid%.yml"
		set {_time} to yaml value "Banned" of "plugins/Essentials/userdata/%player's uuid%.yml"
		{_time} is not ""
		set {_time2} to convert date now to unix
		set {_time} to convert unix {_time} to date
		set {_time} to {_time} parsed as date
		set {_time2} to {_time2} parsed as date
		set {_timewaited} to difference between (convert unix (convert date now to unix) to date) and (convert unix (convert date {_time} to unix) to date)
		set {_timewaited} to "%{_timewaited}%" parsed as timespan
		{_time} was more than 1 second ago:
			unban player
			set yaml value "Banned" of "plugins/Essentials/userdata/%player's uuid%.yml" to ""
			save yml "plugins/Essentials/userdata/%player's uuid%.yml"
			kick player due to "&ayou are now unbanned, please, reconnect!"
		else:
			set {_content::*} to file contents of "banned-players.json"
			loop {_content::*}:
				"%loop-value%" contains """name"": ""%player%"","
				set {_lol} to loop-index parsed as number + 4
			set {_lol} to {_content::%{_lol}%}
			replace all "    ""reason"": """ or """" with "" in {_lol}
			kick player due to "%{_lol}%"
on join:
	loop files in directory "plugins/Essentials/userdata/":
		yml "plugins/Essentials/userdata/%name of file loop-value%.yml" is not loaded:
			load yml "plugins/Essentials/userdata/%name of file loop-value%.yml" as "plugins/Essentials/userdata/%name of file loop-value%.yml"
			set {_val} to yaml value "name" of "plugins/Essentials/userdata/%name of file loop-value%.yml"
			unload yml "plugins/Essentials/userdata/%name of file loop-value%.yml"
		else:
			set {_val} to yaml value "name" of "plugins/Essentials/userdata/%name of file loop-value%.yml"
		{_val} is "%player%":
			"plugins/Essentials/userdata/%name of file loop-value%.yml" is not "plugins/Essentials/userdata/%player's uuid%.yml":
				set file contents of "plugins/Essentials/userdata/%player's uuid%.yml" to file contents of "plugins/Essentials/userdata/%name of file loop-value%.yml"
				load yml "plugins/Essentials/userdata/%player's uuid%.yml" as "plugins/Essentials/userdata/%player's uuid%.yml"
				delete file "plugins/Essentials/userdata/%name of file loop-value%.yml"
				send "[Essentials] Detected an uuid change for player %player% (he didn't buy minecraft) Fixed it ;)" to console
			else:
				load yml "plugins/Essentials/userdata/%player's uuid%.yml" as "plugins/Essentials/userdata/%player's uuid%.yml"
	
	if file "plugins/Essentials/userdata/%player's uuid%.yml" does not exist: 
		create file "plugins/Essentials/userdata/%player's uuid%.yml"
		load yml "plugins/Essentials/userdata/%player's uuid%.yml" as "plugins/Essentials/userdata/%player's uuid%.yml"
		set yaml value "homes.home" of "plugins/Essentials/userdata/%player's uuid%.yml" to yaml value "spawn" of file "/plugins/Essentials/spawn.yml"
		set yaml value "vanish" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
		set yaml value "muted" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
		set yaml value "nick" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
		set yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
		set yaml value "Banned" of "plugins/Essentials/userdata/%player's uuid%.yml" to ""
		set yaml value "god" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
	set yaml value "name" of "plugins/Essentials/userdata/%player's uuid%.yml" to "%player%"
	set yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
	set yaml value "UsingSign" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
	set yaml value "tpa" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
	set yaml value "afk" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
	set {_value} to yaml value "custom-join-message" of "plugins/Essentials/config.yml"
	save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
	{_value} is not "none":
		replace all "{USERNAME}" with "%player%" in {_value}
		replace all "{PLAYER}" with player's display name in {_value}
		set join message to {_value}
	yaml value "vanish" of "plugins/Essentials/userdata/%player's uuid%.yml" is true:
		if yaml value "allow-silent-join-quit" of "plugins/Essentials/config.yml" is true:
			set join message to ""
			hide player from all players
			loop all players:
				hide player in loop-player's tablist
			set {_message} to M1("YouAreHidden", " ", " ")
			message coloured {_message}
			stop
on quit:
	set yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
	if yaml value "remove-god-on-disconnect" of "plugins/Essentials/config.yml" is true:
		set yaml value "god" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
	set yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
	set yaml value "UsingSign" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
	set yaml value "afk" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
	set {_value} to yaml value "custom-quit-message" of "plugins/Essentials/config.yml"
	save yml "plugins/Essentials/userdata/%player's uuid%.yml"
	{_value} is not "none":
		replace all "{USERNAME}" with "%player%" in {_value}
		replace all "{PLAYER}" with player's display name in {_value}
		set quit message to {_value}
	yaml value "vanish" of "plugins/Essentials/userdata/%player's uuid%.yml" is true:
		if yaml value "allow-silent-join-quit" of "plugins/Essentials/config.yml" is true:
			set quit message to ""
	unload yml "plugins/Essentials/userdata/%player's uuid%.yml"
			
command /tp [<integer>] [<integer>] [<integer>] [<player>] [<player>]:
	aliases: /tele, /tp2p, /teleport
	trigger:
		NoPerm("essentials.tp", sender) is not "no"
		arg 1 is not set:
			arg 2 is not set
			arg 3 is not set
			arg 4 is set:
				arg 5 is not set:
					wait Cooldown(player)
					wait Delay(player)
					yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" is true
					set yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
					save yml "plugins/Essentials/userdata/%player's uuid%.yml"
					set yaml value "lastpoint" of "plugins/Essentials/userdata/%player's uuid%.yml" to location of player
					save yml "plugins/Essentials/userdata/%player's uuid%.yml"
					teleport player to arg 4
					set {_message} to M1("TeleportToPlayer", "Player", "%arg 4%")
				arg 5 is set:
					NoPerm("essentials.tp.others", sender) is "no":
						stop
					teleport arg 4 to arg 5
					set {_message} to M2("TeleportPlayerToPlayer", "Player1", "%arg 4%", "Player2", "%arg 5%")
					set {_message2} to M2("MessageToTeleportedPlayer", "Sender", "%sender%", "Player", "%arg 5%")
					send coloured {_message2} to arg 4
			arg 4 is not set:
				set {_message} to Usage("/tp <number> <number> <number> or /tp <player> [<player>]")
		arg 1 is set:
			arg 2 is set
			arg 3 is set:
				wait Cooldown(player)
				wait Delay(player)
				yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" is true
				set yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
				save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
				set yaml value "lastpoint" of "plugins/Essentials/userdata/%player's uuid%.yml" to location of player
				save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
				teleport player to location at arg 1, arg 2, arg 3
				set {_message} to M1("TeleportToCoordinates", "Coordinates", "%location at arg 1, arg 2, arg 3%") 
			arg 3 is not set:
				set {_message} to Usage("/tp <number> <number> <number> or /tp <player> [<player>]")
		message coloured {_message}
command /back:
	aliases: /return
	trigger:
		NoPerm("essentials.back", sender) is not "no"
		wait Cooldown(player)
		wait Delay(player)
		yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" is true
		set yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
		save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
		set {_value} to yaml value "lastpoint" of "plugins/Essentials/userdata/%player's uuid%.yml"
		set yaml value "lastpoint" of "plugins/Essentials/userdata/%player's uuid%.yml" to location of player
		save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
		teleport player to {_value}
		set {_message} to M1("Back", "", "")
		message coloured {_message}
command /setwarp [<text>]:
	aliases: /createwarp
	trigger:
		NoPerm("essentials.setwarp", sender) is not "no"
		arg 1 is set:
			set yaml value "warps.%arg 1%" of "plugins/Essentials/warps.yml" to player's location
			save yml "plugins/Essentials/warps.yml"
			set {_message} to M1("SetWarp", "Warp", arg 1)
		arg 1 is not set:
			set {_message} to Usage("/setwarp <text>")
		message coloured {_message}
		
command /delwarp [<text>]:
	aliases: /remwarp, /rmwarp
	trigger:
		NoPerm("essentials.delwarp", sender) is not "no"
		arg 1 is set:
			set {_value} to yaml value "warps.%arg 1%" of "plugins/Essentials/warps.yml"
			{_value} is not set:
				set {_message} to yaml value "NoWarpMatch" from "plugins/Essentials/language.yml" parsed as text
			{_value} is set:		
				delete yaml value "warps.%arg 1%" of "plugins/Essentials/warps.yml"
				save yml "plugins/Essentials/warps.yml"
				set {_message} to yaml value "DelWarp" from "plugins/Essentials/language.yml" parsed as text
		arg 1 is not set:
			set {_values::*} to yml nodes with keys "warps" of "plugins/Essentials/warps.yml"
			{_values::*} is not set:
				set {_message} to yaml value "NotAnyWarp" from "plugins/Essentials/language.yml" parsed as text
			{_values::*} is set:	
				set {_message} to M2("WarpList", "Warps", "%{_values::*}%", " and", ",")
		replace all "[Warp]" with arg 1 in {_message}
		message coloured {_message}
		
command /warp [<text>] [<player>]:
	aliases: /warps
	trigger:
		arg 1 is set:
			set {_value} to yaml value "warps.%arg 1%" of "plugins/Essentials/warps.yml"
			
			{_value} is not set:
				set {_message} to M1("NoWarpMatch", "Warp", arg 1)		
				message coloured {_message}
				stop						
			yaml value "per warp permission" of "plugins/Essentials/config.yml" is false:
				NoPerm("essentials.warp", sender) is not "no"
			else:
				NoPerm("essentials.warp.%arg 1%", sender) is not "no"
			arg 2 is not set:
				wait Cooldown(player)
				wait Delay(Player)
				yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" is true
				set yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
				save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
				set yaml value "lastpoint" of "plugins/Essentials/userdata/%player's uuid%.yml" to location of player
				save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
				teleport player to {_value}
				set {_message} to yaml value "Warping" from "plugins/Essentials/language.yml" parsed as text
			arg 2 is set:
				set yaml value "lastpoint" of "plugins/Essentials/userdata/%arg 2%.yml" to location of arg 2
				teleport arg 2 to {_value}
				set {_message} to M1("WarpedPlayer", "Player", "%arg 2%")
				set {_message2} to M1("MessageToWarpedPlayer", "Warp", arg 1)
				message coloured {_message2} to arg 2
		arg 1 is not set:
			set {_values::*} to yml nodes with keys "warps" of "plugins/Essentials/warps.yml"
			{_values::*} is not set:
				set {_message} to yaml value "NotAnyWarp" from "plugins/Essentials/language.yml" parsed as text
			{_values::*} is set:	
				set {_message} to M2("WarpList", "Warps", "%{_values::*}%", " and", ",")
		replace all "[Warp]" with arg 1 in {_message}
		message coloured {_message}


	
command /delhome [<text>]:
	aliases: /remhome, /rmhome
	trigger: 
		NoPerm("essentials.delhome", sender) is not "no"
		arg 1 is set:
			set {_value} to yaml value "homes.%arg 1%" of "plugins/Essentials/userdata/%player's uuid%.yml"
			{_value} is not set:
				set {_message} to M1("NoHomeMatch", "Home", arg 1)
			{_value} is set:
				set {_message} to yaml value "HomeDeleted" of "plugins/Essentials/language.yml" parsed as text
				delete yaml value "homes.%arg 1%" of "plugins/Essentials/userdata/%player's uuid%.yml"
				save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
		arg 1 is not set:
			set {_value::*} to yml nodes with keys "homes" of "plugins/Essentials/userdata/%player's uuid%.yml"			
			{_value::*} is not set:
				set {_message} to yaml value "NotAnyHome" of "plugins/Essentials/language.yml" parsed as text
			{_value::*} is set:
				set {_message} to M2("HomeList", "Homes", "%{_value::*}%", " and", ",")
				"%{_value::*}%" does not contain "," or "and":
					set {_message} to M1("HomeDeleted", "Home", "%{_value::*}%")
					delete yaml value "homes.%{_value::*}%" of "plugins/Essentials/userdata/%player's uuid%.yml"	
					save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
		replace all "[Home]" with arg 1 in {_message}
		message coloured {_message}

command /tpaall:
	trigger:
		NoPerm("essentials.tpaall", sender) is not "no"
		set {_message} to yaml value "TpaAll" of "plugins/Essentials/language.yml" parsed as text
		loop all players:
			loop-player is not player
			set yaml value "tpa" of "plugins/Essentials/userdata/%loop-player's uuid%.yml" to sender	
			save yml "plugins/Essentials/userdata/%loop-player's uuid%.yml" 
			set {_message2} to M1("PlayerWantYouToTeleportToHim", "Sender", "%player%")
			message coloured {_message2} to loop-player 
		message coloured {_message}
		set {_value} to yaml value "tpa-accept-cancellation" of "plugins/Essentials/config.yml"
		wait "%{_value}% seconds" parsed as timespan
		loop all players:
			yaml value "tpa" of "plugins/Essentials/userdata/%loop-player's uuid%.yml" is sender
			set yaml value "tpa" of "plugins/Essentials/userdata/%loop-player's uuid%.yml" to "false"
			save yml "plugins/Essentials/userdata/%loop-player's uuid%.yml" 
command /sethome [<text>]:
	aliases: /createhome
	trigger:
		NoPerm("essentials.sethome", sender) is not "no"
		set {_group} to player's group
		set {_value::*} to yml nodes with keys "homes" of "plugins/Essentials/userdata/%player's uuid%.yml"
		loop {_value::*}:
			add 1 to {_num}

		{_num} >= 1:
			NoPerm("essentials.sethome.multiple", sender) is "no":
				set {_message} to M1("MaxHomeReached", "Max", "1")
				message coloured {_message}
				stop
			yml "sethome-multiple.%{_group}%" in file "plugins/Essentials/config.yml" exists:
				set {_max} to yaml value "sethome-multiple.%{_group}%" of "plugins/Essentials/config.yml"
			else:
				set {_max} to yaml value "sethome-multiple.default" of "plugins/Essentials/config.yml"

			{_num} >= {_max}:
				set {_message} to M1("MaxHomeReached", "Max", "%{_max}%")
				message coloured {_message}
				stop
		set {_message} to yaml value "HomeSet" of "plugins/Essentials/language.yml" parsed as text
		arg 1 is not set:		
			replace all "[Home]" with "home" in {_message}
			set yaml value "homes.home" of "plugins/Essentials/userdata/%player's uuid%.yml" to player's location
			save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
		arg 1 is set:
			set yaml value "homes.%arg 1%" of "plugins/Essentials/userdata/%player's uuid%.yml" to player's location
			save yml "plugins/Essentials/userdata/%player's uuid%.yml"
		replace all "[Home]" with arg 1 in {_message}
		message coloured {_message}
command /home [<text>]:
	aliases: /homes
	trigger:
		NoPerm("essentials.home", sender) is not "no"
		arg 1 is not set:
			set {_value::*} to yml nodes with keys "homes" of "plugins/Essentials/userdata/%player's uuid%.yml"			
			{_value::*} is not set:
				set {_message} to yaml value "NotAnyHome" of "plugins/Essentials/language.yml" parsed as text
			{_value::*} is set:
				set {_message} to M2("HomeList", "Homes", "%{_value::*}%", " and", ",")
				"%{_value::*}%" does not contain "," or "and":
					set {_message} to M1("TeleportingToHome", "Home", "%{_value::*}%")
					set {_value} to yaml value "homes.%{_value::*}%" of "plugins/Essentials/userdata/%player's uuid%.yml"
					
					wait Cooldown(player)
					wait Delay(player)
					yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" is true
					set yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
					set yaml value "lastpoint" of "plugins/Essentials/userdata/%player's uuid%.yml" to location of player
					save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
					message "teleporting to %{_value}%" to player
					teleport player to {_value}
		arg 1 is set:
			arg 1 is "1" or "2" or "3" or "4" or "5" or "6" or "7" or "8" or "9" or "10" or "11" or "12" or "13" or "14" or "15" or "16" or "17" or "18" or "19" or "20":
				set {_num} to arg 1
				set {_value::*} to yml nodes with keys "homes" of "plugins/Essentials/userdata/%player's uuid%.yml"		
				loop {_value::*}:
					loop-index is "%{_num}%"
					set {_value} to yaml value "homes.%loop-value%" of "plugins/Essentials/userdata/%player's uuid%.yml"			
			arg 1 is not "1" or "2" or "3" or "4" or "5" or "6" or "7" or "8" or "9" or "10" or "11" or "12" or "13" or "14" or "15" or "16" or "17" or "18" or "19" or "20":
				set {_value} to yaml value "homes.%arg 1%" of "plugins/Essentials/userdata/%player's uuid%.yml"
			{_value} is not set:
				set {_message} to M1("NoHomeMatch", "Home", arg 1)
			{_value} is set:
				set {_message} to yaml value "TeleportingToHome" of "plugins/Essentials/language.yml" parsed as text
				world of {_value} is not player's world:
					yaml value "world-home-permissions" of "plugins/Essentials/config.yml" is true
					NoPerm("essentials.worlds.%world of {_value}%", sender) is "no":
						stop
				
				wait Cooldown(player)
				wait Delay(player)
				yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" is true
				set yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
				save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
				set yaml value "lastpoint" of "plugins/Essentials/userdata/%player's uuid%.yml" to location of player
				save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
				teleport player to {_value}
		replace all "[Home]" with arg 1 in {_message}
		message coloured {_message}
command /tpa <player>:
	aliases: /call, /tpask
	trigger:
		NoPerm("essentials.tpa", sender) is not "no"
		arg 1 is not set:
			set {_message} to Usage("/tpa <player>")
		arg 1 is set:
			set yaml value "tpa" of "plugins/Essentials/userdata/%arg 1's uuid%.yml" to sender
			save yml "plugins/Essentials/userdata/%arg 1's uuid%.yml" 
			set {_message2} to M1("PlayerWantTeleportToYou", "Sender", "%sender%")
			message coloured {_message2} to arg 1
			set {_message} to yaml value "TPA" of "plugins/Essentials/language.yml" parsed as text
			message coloured {_message}
			set {_value} to yaml value "tpa-accept-cancellation" of "plugins/Essentials/config.yml"
			wait "%{_value}% seconds" parsed as timespan
			set yaml value "tpa" of "plugins/Essentials/userdata/%arg 1's uuid%.yml" to "false"
			save yml "plugins/Essentials/userdata/%arg 1's uuid%.yml" 
		
command /tpahere <player>:
	trigger:
		NoPerm("essentials.tpahere", sender) is not "no"
		arg 1 is not set:
			set {_message} to Usage("/tpahere <player>")
		arg 1 is set:
			set yaml value "tpahere" of "plugins/Essentials/userdata/%arg 1's uuid%.yml" to sender
			save yml "plugins/Essentials/userdata/%arg 1's uuid%.yml" 
			set {_message2} to M1("PlayerWantYouToTeleportToHim", "Sender", "%sender%")
			message coloured {_message2} to arg 1
			set {_message} to yaml value "TPAHere" of "plugins/Essentials/language.yml" parsed as text
			message coloured {_message}
			set {_value} to yaml value "tpa-accept-cancellation" of "plugins/Essentials/config.yml"
			wait "%{_value}% seconds" parsed as timespan
			set yaml value "tpahere" of "plugins/Essentials/userdata/%arg 1's uuid%.yml" to "false"	
			save yml "plugins/Essentials/userdata/%arg 1's uuid%.yml" 
command /tpaccept:
	aliases: /tpyes
	trigger:
		NoPerm("essentials.tpaccept", sender) is not "no"
		yaml value "tpa" of "plugins/Essentials/userdata/%player's uuid%.yml" is "false":
			yaml value "tpahere" of "plugins/Essentials/userdata/%player's uuid%.yml" is "false":
				set {_message} to yaml value "NoTpaAsked" of "plugins/Essentials/language.yml" parsed as text
				message coloured {_message} to player
				stop
		yaml value "tpahere" of "plugins/Essentials/userdata/%player's uuid%.yml" is not "false":
			wait Cooldown(player)
			wait Delay(player)
			yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" is true
			set yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
			save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
			set yaml value "lastpoint" of "plugins/Essentials/userdata/%player's uuid%.yml" to location of player
			save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
			teleport player to yaml value "tpa" of "plugins/Essentials/userdata/%player's uuid%.yml"
		yaml value "tpa" of "plugins/Essentials/userdata/%player's uuid%.yml" is not "false":
			set {_p} to yaml value "tpa" of "plugins/Essentials/userdata/%player's uuid%.yml"
			set yaml value "lastpoint" of "plugins/Essentials/userdata/%{_p}'s uuid%.yml" to location of {_p}
			save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
			teleport {_p} to player
		set {_message} to yaml value "TPAaccepted" of "plugins/Essentials/language.yml" parsed as text
		message coloured {_message} to yaml value "tpa" of "plugins/Essentials/userdata/%player's uuid%.yml" 
		message coloured {_message} to yaml value "tpahere" of "plugins/Essentials/userdata/%player's uuid%.yml" 
		message coloured {_message} to player
		set yaml value "tpa" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
		save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
		set yaml value "tpahere" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
		save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
command /tpdeny:
	aliases: /tpno
	trigger: 
		NoPerm("essentials.tpdeny", sender) is not "no"
		yaml value "tpa" of "plugins/Essentials/userdata/%player's uuid%.yml" is "false":
			yaml value "tpahere" of "plugins/Essentials/userdata/%player's uuid%.yml" is "false":
				set {_message} to yaml value "NoTpaAsked" of "plugins/Essentials/language.yml" parsed as text
				message coloured {_message} to player
				stop
		set {_message} to yaml value "TPArefused" of "plugins/Essentials/language.yml" parsed as text
		message coloured {_message} to yaml value "tpa" of "plugins/Essentials/userdata/%player's uuid%.yml" 
		message coloured {_message} to yaml value "tpahere" of "plugins/Essentials/userdata/%player's uuid%.yml" 
		message coloured {_message} to player
		set yaml value "tpahere" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
		save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
		set yaml value "tpa" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
		save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
command /tpall [<player>]:
	trigger:
		NoPerm("essentials.tpall", sender) is not "no"
		set {_message} to yaml value "Tpall" of "plugins/Essentials/language.yml" parsed as text
		arg 1 is set:
			loop all players:
				set yaml value "lastpoint" of "plugins/Essentials/userdata/%loop-player's uuid%.yml" to location of loop-player
				save yml "plugins/Essentials/userdata/%loop-player's uuid%.yml" 
				teleport loop-player to arg 1
				replace all "[Player]" with "%arg 1%" in {_message}
		arg 1 is not set:
			loop all players:
				set yaml value "lastpoint" of "plugins/Essentials/userdata/%loop-player's uuid%.yml" to location of loop-player
				save yml "plugins/Essentials/userdata/%loop-player's uuid%.yml" 
				teleport loop-player to player
				replace all "[Player]" with "%player%" in {_message}
		message coloured {_message} to all players
command /tphere <player>:
	aliases: /s
	trigger:
		NoPerm("essentials.tphere", sender) is not "no"
		arg 1 is set:
			set {_message} to M1("Tphere", "Player", "%arg 1%")
			set {_message2} to M1("YouWereTeleportedTo", "Player", "%player%")
			message coloured {_message2} to arg 1
			set yaml value "lastpoint" of "plugins/Essentials/userdata/%arg 1's uuid%.yml" to location of arg 1
			save yml "plugins/Essentials/userdata/%arg 1's uuid%.yml" 
			teleport arg 1 to player
		arg 1 is not set:
			set {_message} to Usage("/tphere <player>")
		message coloured {_message}
		
command /xp [<text>] [<player>] [<integer>]:	
	aliases: /exp
	trigger:
		NoPerm("essentials.enchant", sender) is not "no"
		arg 1 is "show":
			arg 2 is not set:
				message "%player's level%"
			arg 2 is set:
				message "%level of arg 2%"
		arg 1 is "set":
			set level of arg 2 to arg 3
		arg 1 is "add":
			add arg 3 to level of arg 2
command /gamemode [<text>] [<player>]:
	aliases: /gm, /creative, /survival, /adventure, /gmc, /gma, /gms, /gmt
	trigger:
		set {_arg} to player
		arg 2 is set:
			set {_arg} to arg 2
		arg 1 is "1" or "creative":
			NoPerm("essentials.gamemode.creative", sender) is not "no"
			set gamemode of {_arg} to creative
		arg 1 is "2" or "adventure":
			NoPerm("essentials.gamemode.adventure", sender) is not "no"
			set gamemode of {_arg} to adventure
		arg 1 is "3" or "spectator":
			NoPerm("essentials.gamemode.spectator", sender) is not "no"
			set gamemode of {_arg} to spectator
		arg 1 is "0" or "survival":
			NoPerm("essentials.gamemode.survival", sender) is not "no"
			set gamemode of {_arg} to survival
		set {_message} to M2("Gamemode", "Gamemode", "%player's gamemode%", "Player", "%{_arg}%")
		arg 1 is not "1" or "creative" or "3" or "spectator" or "2" or "adventure" or "0" or "survival":
			set {_message} to Usage("/gamemode <gamemode> [<player>]")
		arg 1 is not set:
			set {_message} to Usage("/gamemode <gamemode> [<player>]")
		message coloured {_message}
command /enchant [<text>]:
	aliases: /enchantment
	trigger:
		NoPerm("essentials.enchant", sender) is not "no"
		arg 1 is not set:
			set {_message} to Usage("/enchant <enchantment> [<level>]")
			message coloured {_message}
			stop
		enchant player's tool with arg 1 parsed as enchantment type
		set {_test} to arg 1 parsed as enchantment type
		{_test} is an enchantment type:
			set {_message} to M2("Enchant", "Item", "%type of player's tool%", "Enchantment", arg 1)
		else:
			set {_message} to Usage("/enchant <enchantment> [<level>]")
		message coloured {_message}

command /setspawn:
	trigger:
		NoPerm("essentials.setspawn", sender) is not "no"
		set yaml value "spawn" of file "/plugins/Essentials/spawn.yml" to player's location
		set {_message} to yaml value "SetSpawn" of "plugins/Essentials/language.yml" parsed as text
		message coloured {_message}
command /spawn [<player>]:
	trigger:
		set {_value} to yaml value "spawn" of file "/plugins/Essentials/spawn.yml"
		NoPerm("essentials.spawn", sender) is not "no"
		arg 1 is not set:
			wait Cooldown(player)
			wait Delay(player)
			yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" is true
			set yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
			set yaml value "lastpoint" of "plugins/Essentials/userdata/%player's uuid%.yml" to location of player
			save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
			teleport player to {_value}
			set {_message} to yaml value "Spawn" of "plugins/Essentials/language.yml" parsed as text
			message coloured {_message}
		arg 1 is set:
			NoPerm("essentials.spawn.others", sender) is not "no"
			set yaml value "lastpoint" of "plugins/Essentials/userdata/%arg 1's uuid%.yml" to location of arg 1
			save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
			teleport arg 1 to {_value}
			set {_message} to yaml value "Spawn" of "plugins/Essentials/language.yml" parsed as text
			message coloured {_message} to arg 1
			set {_message} to M1("TeleportPlayerToSpawn", "Player", "%arg 1%")
			message coloured {_message}
command /feed [<player>]:
	aliases: /eat
	trigger:
		arg 1 is set:
			NoPerm("essentials.feed.others", sender) is not "no"
			set food level of arg 1 to 10
			set {_message} to M1("PlayerFed", "Player", "%arg 1%")
			set {_message2} to M1("YouWereFed", " ", " ")
			message coloured {_message2} to arg 1
		arg 1 is not set:
			NoPerm("essentials.feed", sender) is not "no"
			set {_message} to M1("YouWereFed", " ", " ")
			set food level of player to 10
		message coloured {_message}
command /fly [<player>] [<text>]:
	trigger:
		NoPerm("essentials.fly", sender) is not "no"
		set {_player} to player
		arg 1 is set:
			NoPerm("essentials.fly.others", sender) is not "no"
			set {_player} to arg 1
		arg 2 is not set:
			player's flight mode is true:
				set {_player}'s flight mode to false
				stop
			player's flight mode is false:
				set {_player}'s flight mode to true
		arg 2 is "on":
			set {_player}'s flight mode to true
		arg 2 is "off":
			set {_player}'s flight mode to false
		set {_message} to M2("FlySetForPlayer", "Player", "%{_player}%", "FlightMode", "%{_player}'s flight mode%")
		arg 1 is set:
			message coloured {_message} to arg 1
		message coloured {_message}

command /hat:
	aliases: /head
	trigger:
		NoPerm("essentials.hat", sender) is not "no"
		set player's helmet to player's tool
command /heal [<player>]:
	trigger:
		NoPerm("essentials.heal", sender) is not "no"
		arg 1 is set:
			NoPerm("essentials.heal.others", sender) is not "no"
			heal arg 1
			set {_message2} to M1("YouWereHealed", " ", " ")
			message coloured {_message2} to arg 1
			set {_message} to M1("PlayerHealed", "Player", "%arg 1%")
		arg 1 is not set:
			heal player
			set {_message} to M1("YouWereHealed", " ", " ")
		message coloured {_message}
command /give [<player>] <item type>:
	trigger:
		NoPerm("essentials.give", sender) is not "no"
		arg 2 is not set:
			set {_message} to Usage("/give [<player>] <item>")
		else:
			arg 1 is set:
				arg 1 is not sender:
					NoPerm("essentials.give.others", sender) is not "no"
					add arg 2 to arg 1's inventory
					set {_message} to M2("PlayerGaveToPlayer", "Player", "%arg 1%", "Item", "%arg 2%")
					set {_message2} to M1("YouWereGiven", "Item", "%arg 2%")
					message coloured {_message2} to arg 1
				else:
					add arg 2 to arg 1's inventory
					set {_message} to M1("YouWereGiven", "Item", "%arg 2%")
			else: 
				add arg 2 to arg 1's inventory
				set {_message2} to M1("YouWereGiven", "Item", "%arg 2%")
		message coloured {_message} to player

		
#THIS Command TOOK ME 1 COMPLETE AFTERNOON		
#CETTE CommandE M'A PRIS UN APRES MIDI COMPLET
command /kit [<text>] [<player>]:
	aliases: /kits
	trigger:
		NoPerm("essentials.kit", sender) is not "no"
		set {_player} to player
		arg 2 is set:
			NoPerm("essentials.kit.others", sender) is not "no"
			set {_player} to arg 2
		set {_kit::*} to yml nodes with keys "kits" from "plugins/Essentials/config.yml"
		arg 1 is not set:
			message "%{_kit::*}%"
			stop
		
		loop {_kit::*}:
			"%loop-value%" is arg 1:
				set {_kits::*} to yml list "kits.%loop-value%.items" from "plugins/Essentials/config.yml"
				set {_kiter} to "%loop-value%"
		{_kits::*} is not set:
			set {_message} to Usage("/kit <text> [<player>]")
			message coloured {_message}
			stop
		{_kits::*} is set
		NoPerm("essentials.kits.%{_kiter}%", sender) is not "no"
		set {_waitingtime} to yaml value "kits.%{_kiter}%.delay" of "plugins/Essentials/config.yml"
		yml "WaitingTime.%{_kiter}%" in file "plugins/Essentials/userdata/%player's uuid%.yml" exists:
			set {_time} to yaml value "WaitingTime.%{_kiter}%" of "plugins/Essentials/userdata/%player's uuid%.yml"
			set {_time2} to now
			set {_time} to convert unix {_time} to date


			set {_timewaited} to difference between (convert unix (convert date {_time2} to unix) to date) and (convert unix (convert date {_time} to unix) to date)
			set {_timewaited} to "%{_timewaited}%" parsed as timespan

			set {_waitingtime} to "%{_waitingtime}% seconds" parsed as timespan
			player does not have permission "essentials.kit.exemptdelay"
			{_waitingtime} > {_timewaited}:
				remove {_timewaited} from {_waitingtime}
				set {_lol} to "%{_waitingtime}%"
				replace all " seconds" or " second" with "" in {_lol}
				set {_message} to M1("WaitBeforeUseAnotherTime", "Time", "%{_lol}%")
				message coloured {_message}
				stop
		set yaml value "WaitingTime.%{_kiter}%" of "plugins/Essentials/userdata/%player's uuid%.yml" to convert date now to unix
		loop {_kits::*}:
#Détection de lore et de nom spécifique
			set {_lol} to "%loop-value%"
			"%loop-value%" contains "name":
				set {_num1} to (first index of "name:" in {_lol} + 5)
				"%loop-value%" contains "lore":
					set {_num2} to first index of "lore:" in {_lol} - 1
					set {_kits::%loop-index%2} to subtext of {_lol} from character first index of "lore" in {_lol} + 5 to character length of {_lol}
				"%loop-value%" does not contain "lore":
					set {_num2} to length of {_lol}
				set {_kits::%loop-index%1} to subtext of {_lol} from character {_num1} to character {_num2}				
				replace the subtext of {_lol} from character ({_num1} - 6) to character length of {_lol} with "" in {_lol}
				
#Dans essentials, le nombre d'item est écrit après l'id de l'item. Il faut changer l'ordre 
#de ces deux nombres après les avoir détecté puis placé dans des viariables

			set {_id} to subtext of {_lol} from character 0 to character first index of " " in {_lol} -1
			replace all "%{_id}% " with "" in {_lol}
			set {_number} to indexSpace(0, {_lol})
			set {_rest} to subtext of {_lol} from character first index of " " in {_lol} + 1 to character length of {_lol}
			set {_lol} to "%{_rest}%"
			set {_kits::%loop-index%} to "%{_number}% %{_id}%" parsed as item
			
#détection de la couleur
			if {_lol} contains "color:":
				set {_color} to subtext of {_lol} from index first index of "color:" in {_lol} + 6 to index length of {_lol}
				set {_color} to indexSpace(0, {_color})
				replace all "color:%{_color}% " or "color:%{_color}%" with "" in {_lol}
				set {_kits::%loop-index%3} to {_color} parsed as colour
			else:
				set {_kits::%loop-index%3} to brown
				
#détection des têtes:
			if {_lol} contains "player:":
				set {_color} to subtext of {_lol} from index first index of "player:" in {_lol} + 7 to index length of {_lol}
				set {_color} to indexSpace(0, {_color})
				replace all "player:%{_color}% " or "player:%{_color}%" with "" in {_lol}
				set {_number} to "{_number}" parsed as number
				set {_kits::%loop-index%5} to {_number}
				set {_kits::%loop-index%4} to skull of {_color} parsed as offline player
				
#détection d'enchantement
			subtext of {_lol} from character 0 to character length of {_lol} contains ":":
				set {_kits::%loop-index%0} to "isenchanted"	
			{_kits::%loop-index%0} is set:
				set {_enchant} to subtext of {_lol} from character 0 to character length of {_lol}
				replace all " " with " and " in {_enchant}
				replace all ":" with " " in {_enchant}
			{_kits::%loop-index%0} is set:
			
#on imprègne l'enchantement directement à l'item, c'est l'unique moyen que j'ai trouvé pour utiliser à la fois un nom et un/des enchantements
				set {_kits::%loop-index%} to "%{_kits::%loop-index%}% of %{_enchant}%"

		loop {_kits::*}:
			"%{_kits::%loop-index%}%" contains "1" or "2" or "3" or "4" or "5" or "6" or "7" or "8" or "9":
				set {_kits::%loop-index%} to "%loop-value%" parsed as item

#et on a enfin le don des items

		loop {_kits::*}:
			if loop-value is a player head: 
				set {_item} to loop-value
				give {_kits::%loop-index%4} to {_player}
				stop
			{_kits::%loop-index%1} is set:
				{_kits::%loop-index%2} is set:
					set {_item} to loop-value
					set name of {_item} to coloured {_kits::%loop-index%1}
					replace all "|" with "||" in {_kits::%loop-index%2}
					set lore of {_item} to coloured {_kits::%loop-index%2}
					give {_item} dyed {_kits::%loop-index%3} to {_player}
				else:
					set {_item} to loop-value
					set name of {_item} to coloured {_kits::%loop-index%1}
					give {_item} dyed {_kits::%loop-index%3} to {_player}
			else:
				give loop-value to {_player}
#Le reste va être teeeellement plus simple à mettre en place...				
command /repair [<text>]:
	trigger:
		NoPerm("essentials.repair", sender) is not "no"
		arg 1 is not set:
			repair player's tool
		else if arg 1 is "hand":
			repair player's tool
		else if arg 1 is "all":
			NoPerm("essentials.repair.all", sender) is not "no"	
			repair all items of player's inventory
		else:
			message coloured Usage("/repair hand/all")

command /skull [<offline player>]:
	aliases: /playerskull head, /head
	trigger:
		NoPerm("essentials.skull", sender) is not "no"	
		arg 1 is not set:
			message coloured Usage("/skull <player>")
			stop
		give skull of arg 1 to player
		
command /speed <integer> [<player>]:
	trigger:
		arg 2 is not set:
			NoPerm("essentials.speed", sender) is not "no"
			set player's fly speed to (arg 1+1)/10
			set player's walk speed to (arg 1+1)/10
		arg 2 is set:
			NoPerm("essentials.speed.others", sender) is not "no"
			set arg 2's fly speed to (arg 1+1)/10
			set arg 2's walk speed to (arg 1+1)/10

command /balance [<player>]:
	aliases: /bal
	trigger:
		arg 1 is not set:
			NoPerm("essentials.balance", sender) is not "no"
			set {_message} to M1("YourMoney", "Money", "%player's money%")
		arg 1 is set:
			NoPerm("essentials.balance.others", sender) is not "no"
			set {_message} to M2("MoneyOfPlayer", "Money", "%arg 1's money%", "Player", "%arg 1%")
		message coloured {_message}
command /balancetop:
	aliases: /baltop
	trigger:
		NoPerm("essentials.balancetop", sender) is not "no"
		make player execute command "/money top"
command /pay <player> <number>:
	trigger:
		NoPerm("essentials.pay", sender) is not "no"
		player's balance >= arg 2:
			remove arg 2 from player's balance
			add arg 2 to arg 1's balance
			set {_message} to M2("MoneySentToPlayer", "Money", "%arg 2%", "Player", "%arg 1%")
			set {_message2} to M2("MoneyRecievedFromPlayer", "Money", "%arg 2%", "Player", "%player%")
			message coloured {_message}
			message coloured {_message2} to arg 1
			yaml value "economy-log-enabled" of "plugins/Essentials/config.yml" is true:
				send "[EssentialsEco] %player% payed %arg 2% to %arg 1%" to console
		else:
			set {_message} to M1("NotEnoughMoney", "Money", "%arg 2%")
			message coloured {_message}
command /afk:
	aliases: /away
	trigger:
		NoPerm("essentials.afk", sender) is not "no"	
		yaml value "afk" of "plugins/Essentials/userdata/%player's uuid%.yml" is not "false":
			set yaml value "afk" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
			save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
			set {_message} to M1("NoLongerAfk", "Player", "%sender%")
			message coloured {_message} to all players
			stop
		yaml value "afk" of "plugins/Essentials/userdata/%player's uuid%.yml" is not "true":
			set yaml value "afk" of "plugins/Essentials/userdata/%player's uuid%.yml" to "true"
			save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
			set {_message} to M1("NowAfk", "Player", "%sender%")
			message coloured {_message} to all players
			set {_value} to yaml value "auto-afk-kick" of "plugins/Essentials/config.yml" 
			{_value} is not "-1"
			wait "%{_value}% seconds" parsed as timespan
			yaml value "afk" of "plugins/Essentials/userdata/%player's uuid%.yml" is true
			kick player due to "afk"
			stop
		
command /getpos [<player>]:
	aliases: /coords, /position, /whereami, /getlocation, /getloc
	trigger:
		arg 1 is not set:
			message "%player's location%"
		arg 1 is set:
			message "%arg 1's location%"
			
command /helpop [<text>]:
	aliases: /amsg, /ac
	trigger:
		arg 1 is not set:
			set {_message} to Usage("/helpop <text>")
			message coloured {_message}
			stop
		NoPerm("essentials.helpop", sender) is not "no"
		set {_message} to M2("Helpop", "Player", "%player%", "Message", arg 1)
		loop all players:
			loop-player has permission "essentials.helpop.receive":
				message coloured {_message} to loop-player		
command /ban <text> [<text>] [<text>]:
	aliases: /tempban
	trigger:
		arg 1 is not set:
			set {_message} to Usage("/(temp)ban <player> (time) (reason)")
			send coloured {_message}
			stop
		arg 2 is set:
			set {_player} to arg 1 parsed as player
			set {_num} to 0
			set {_lol} to arg 2
			replace all "h" or "m" or "s" or "y" or "mon" or "w" or "d" with "" in {_lol}
			while {_num} is not 500:
				"%{_lol}%" is "%{_num}%":
					arg 2 contains "%{_num}%h":
						set {_time} to "%{_lol}% hour" parsed as timespan
					arg 2 contains "%{_num}%m":
						set {_time} to "%{_lol}% minute" parsed as timespan
					arg 2 contains "%{_num}%s":
						set {_time} to "%{_lol}% seconds" parsed as timespan
					arg 2 contains "%{_num}%y":
						set {_time} to "%{_lol}% year" parsed as timespan
					arg 2 contains "%{_num}%mon":
						set {_time} to "%{_lol}% month" parsed as timespan
					arg 2 contains "%{_num}%w":
						set {_time} to "%{_lol}% week" parsed as timespan
				add 1 to {_num}
			{_time} is not set:
				set {_message} to Usage("/(temp)ban <player> (time) (reason)")
				send coloured {_message}
				stop
			NoPerm("essentials.tempban", sender) is not "no"
			arg 3 is not set:
				set {_date} to now
				add {_time} to {_date}
				set {_ban} to M1("TempBanWithoutReason", "Date", "%{_date}%")
				ban arg 1 parsed as player due to {_ban}
				kick arg 1 parsed as player due to {_ban}
				set {_date} to convert date {_date} to unix
				set yaml value "Banned" of "plugins/Essentials/userdata/%{_player}'s uuid%.yml" to {_date}
				save yml "plugins/Essentials/userdata/%{_player}'s uuid%.yml" 
			arg 3 is set:
				set {_date} to now
				add {_time} to {_date}
				set {_ban} to M2("TempBanWithReason", "Date", "%{_date}%", "Reason", arg 3)
				ban arg 1 parsed as player due to {_ban}
				kick arg 1 parsed as player due to {_ban}
				set {_date} to convert date {_date} to unix
				set yaml value "Banned" of "plugins/Essentials/userdata/%{_player}'s uuid%.yml" to {_date}
				save yml "plugins/Essentials/userdata/%arg 1%.yml" 
		arg 2 is not set:
			NoPerm("essentials.ban", sender) is not "no"
			arg 3 is not set:
				set {_ban} to M1("BanWithoutReason", "", "")
				ban arg 1 parsed as player due to {_ban}
				kick arg 1 parsed as player due to {_ban}
			arg 3 is set:
				set {_ban} to M1("BanWitheason", "Reason", arg 3)
				ban arg 1 parsed as player due to {_ban}
				kick arg 1 parsed as player due to {_ban}
		set {_message} to M2("BannMessage", "Sender", "%sender%", "Player", arg 1)
		{_date} is set:
			replace all "[Date]" with "%convert unix {_date} to date%" in {_message}
		{_date} is not set:
			replace all "[Date]" with M1("UntilHisDeath", "", "") in {_message}
		arg 3 is set:
			replace all "[Reason]" with arg 3 in {_message}
		else:
			replace all "[Reason]" with M1("BanWithoutReason", "", "") in {_message}
		send coloured {_message} to all players
command /mute <player> [<text>] [<text>]:
	aliases: /tempmute
	trigger:
		NoPerm("essentials.mute", sender) is not "no"
		arg 2 is not set:	
			set yaml value "muted" of "plugins/Essentials/userdata/%arg 1's uuid%.yml" to "true"
		arg 2 is set:
			set {_num} to 0
			set {_lol} to arg 2
			replace all "h" or "m" or "s" or "y" or "mon" or "w" or "d" with "" in {_lol}
			while {_num} is not 500:
				"%{_lol}%" is "%{_num}%":
					arg 2 contains "%{_num}%h":		
						set yaml value "muted" of "plugins/Essentials/userdata/%arg 1's uuid%.yml" to "true"
						set {_time} to "%{_lol}% hour" parsed as timespan
						set {_arg} to yaml value "Hour" of "plugins/Essentials/language.yml"
					arg 2 contains "%{_num}%m":
						set yaml value "muted" of "plugins/Essentials/userdata/%arg 1's uuid%.yml" to "true"
						set {_time} to "%{_lol}% minute" parsed as timespan
						set {_arg} to yaml value "Minute" of "plugins/Essentials/language.yml"
					arg 2 contains "%{_num}%s":
						set yaml value "muted" of "plugins/Essentials/userdata/%arg 1's uuid%.yml" to "true"
						set {_time} to "%{_lol}% second" parsed as timespan
						set {_arg} to yaml value "Second" of "plugins/Essentials/language.yml"	
					arg 2 contains "%{_num}%y":
						set yaml value "muted" of "plugins/Essentials/userdata/%arg 1's uuid%.yml" to "true"
						set {_time} to "%{_lol}% year" parsed as timespan
						set {_arg} to yaml value "Year" of "plugins/Essentials/language.yml"
					arg 2 contains "%{_num}%mon":
						set yaml value "muted" of "plugins/Essentials/userdata/%arg 1's uuid%.yml" to "true"
						set {_time} to "%{_lol}% month" parsed as timespan
						set {_arg} to yaml value "Month" of "plugins/Essentials/language.yml"
					arg 2 contains "%{_num}%w":
						set yaml value "muted" of "plugins/Essentials/userdata/%arg 1's uuid%.yml" to "true"
						set {_time} to "%{_lol}% week" parsed as timespan
						set {_arg} to yaml value "Week" of "plugins/Essentials/language.yml"	
				add 1 to {_num}
		arg 2 is set:
			message "done1"
			{_time} is set
			message "done2"
			arg 3 is not set:
				set {_message} to M2("PlayerMuted2", "Player", "%arg 1%", "Sender", "%sender%")
				replace all "[Time]" with "%arg 2% &b%{_arg}%" in {_message}
				message "done3"
			arg 3 is set:
				set {_message} to M2("PlayerMuted3", "Player", "%arg 1%", "Sender", "%sender%")
				replace all "[Time]" with "%arg 2% &b%{_arg}%" in {_message}
				replace all "[Reason]" with arg 3 in {_message}
		arg 2 is not set:
			arg 3 is not set:
				set {_message} to M2("PlayerMuted4", "Player", "%arg 1%", "Sender", "%sender%")
			{_time} is not set
			arg 3 is set:
				set {_message} to M2("PlayerMuted", "Player", "%arg 1%", "Sender", "%sender%")
				replace all "[Reason]" with "%arg 2% %arg 3%" in {_message}
		message coloured {_message} to all players
		save yml "plugins/Essentials/userdata/%arg 1's uuid%.yml" 
		{_time} is set
		wait {_time}
		set yaml value "muted" of "plugins/Essentials/userdata/%arg 1's uuid%.yml" to "false"
		save yml "plugins/Essentials/userdata/%arg 1's uuid%.yml" 
		set {_message} to M1("YouCanSpeakNow", " ", " ")
		message coloured {_message} to arg 1
command /unmute <player>:
	trigger:
		NoPerm("essentials.unmute", sender) is not "no"
		set yaml value "muted" of "plugins/Essentials/userdata/%arg 1's uuid%.yml" to "false"
		save yml "plugins/Essentials/userdata/%arg 1's uuid%.yml" 
		set {_message} to M1("YouCanSpeakNow", " ", " ")
		message coloured {_message} to arg 1
		set {_message} to M1("PlayerUnmuted", "Player", "%arg 1%")
		message coloured {_message} to player

command /depth:
	aliases: /height
	trigger:
		set {_message} to M1("Depth", "Height", "%y-coordinates of player - 62%")
		message coloured {_message}
command /itemdb:
	aliases: /itemno, /durability, /dura, /iteminfo
	trigger:
		set {_item} to method "getItem" from player's tool
		set {_enchant} to "%method ""getEnchantments"" from {_item}%"
		replace all "DIG_SPEED" with "Efficiency" in {_enchant}
		replace all "PROTECTION_ENVIRONMENTAL" with "Protection" in {_enchant}
		replace all "SILK_TOUCH" with "Silk Touch" in {_enchant}
		replace all "DAMAGE_ALL" with "Sharpness" in {_enchant}
		replace all "DURABILITY" with "Unbreaking" in {_enchant}
		replace all "LOOTS_BONUS_BLOCKS" with "Fortune" in {_enchant}
		replace all "LUCK" with "Luck of the Sea" in {_enchant}
		replace all "LURE" with "Lure" in {_enchant}
		replace all "MENDING" with "Mending" in {_enchant}
		replace all "VANISHING_CURSE" with "Vanishing" in {_enchant}
		replace all "DEPTH_STRIDER" with "Depth Strider" in {_enchant}
		replace all "PROTECTION_PROJECTILE" with "Projectile Protection" in {_enchant}
		replace all "OXYGEN" with "Respiration" in {_enchant}
		replace all "WATER_WORKER" with "Aqua Affinity" in {_enchant}
		replace all "THORNS" with "Thorns" in {_enchant}
		replace all "PROTECTION_FALL" with "Feather Falling" in {_enchant}
		replace all "FROST_WALKER" with "Frost Walker" in {_enchant}
		replace all "PROTECTION_EXPLOSIONS" with "Blast Protection" in {_enchant}
		replace all "DAMAGE_UNDEAD" with "Smite" in {_enchant}
		replace all "KNOCKBACK" with "Knockback" in {_enchant}
		replace all "LOOT_BONUS_MOBS" with "Looting" in {_enchant}
		replace all "BINDING_CURSE" with "Curse of Binding" in {_enchant}
		replace all "FIRE_ASPECT" with "Fire_Aspect" in {_enchant}
		replace all "SWEEPING" with "Sweeping Edge" in {_enchant}
		replace all "ARROW_KNOCKBACK" with "Punch" in {_enchant}
		replace all "ARROW_DAMAGE" with "Power" in {_enchant}
		replace all "ARROW_FIRE" with "Flame" in {_enchant}
		replace all "ARROW_INFINITE" with "Infinity" in {_enchant}
		replace all "DAMAGE_ARTHROPODS" with "Bane of Arthropods" in {_enchant}
		replace all "{" or "}" with "" in {_enchant}
		replace all "]=" with " " in {_enchant}
		replace all ", Enchant" with "; Enchant" in {_enchant}
		set {_number} to 0
		while {_number} is not 20:
			replace subtext of {_enchant} from character first index of "Enchantment" in {_enchant} to character first index of "," in {_enchant} with "" in {_enchant}
			add 1 to {_number}
		replace all ";" with "," in {_enchant}
		set {_meta} to method "getItemMeta" from {_item}
		set {_material} to method "getType" from {_item}
		set {_maxdurability} to method "getMaxDurability" from {_material}
		set {_durability} to method "getDurability" from {_item}
		set {_mat} to "%type of player's tool%"
		replace all "_" or "BLOCK" with " " in {_mat}
		message "&6Item: &b%{_mat}%"
		message "&6ID: &b%id of player's tool%&b:%data value of player's tool%"
		message "&6Durability: &b%{_maxdurability} - {_durability}%&6/&b%{_maxdurability}%"
		message "&6Enchantments: &b%{_enchant}%"
command /list:
	aliases: /who, /playerlist, /online, /plist
	trigger:
		NoPerm("essentials.list", sender) is not "no"
		loop all players:
			yaml value "vanish" of "plugins/Essentials/userdata/%loop-player's uuid%.yml" is not "true"
			add loop-player to {_list::*}
			set {_list} to "%{_list::*}%"
			replace all " and " with ", " in {_list}
		set {_message} to M1("List", "List", "%{_list}%")
		message coloured {_message}
command /msg [<player>] [<text>]:
	aliases: /tell, /m, /t, /whisper
	trigger:
		arg 2 is set:
			arg 1 is set
			set {_message} to M2("MessageSent", "Player", "%arg 1%", "Message", arg 2)
			set {_message1} to M2("MessageRecieved", "Player", "%sender%", "Message", arg 2)
			message coloured {_message1} to arg 1
			set yaml value "LastSender" of "plugins/Essentials/userdata/%arg 1's uuid%.yml" to sender
			save yml "plugins/Essentials/userdata/%arg 1's uuid%.yml" 
		arg 2 is not set:
			set {_message} to Usage("/msg <player> <message>")
		arg 1 is not set:
			set {_message} to Usage("/msg <player> <message>")
		message coloured {_message}
command /r <text>:
	aliases: /reply
	trigger:
		arg 1 is set:
			set {_player} to yaml value "LastSender" of "plugins/Essentials/userdata/%sender%.yml"
			{_player} is set
			set yaml value "LastSender" of "plugins/Essentials/userdata/%{_player}'s uuid%.yml" to sender
			save yml "plugins/Essentials/userdata/%{_player}'s uuid%.yml" 
			set {_message} to M2("MessageSent", "Player", "%{_player}%", "Message", arg 1)
			set {_message1} to M2("MessageRecieved", "Player", "%sender%", "Message", arg 1)
			message coloured {_message1} to {_player}
		arg 1 is not set:
			set {_message} to Usage("/r <message>")
		message coloured {_message}
command /nick [<player>] [<text>]:
	aliases: /nickname
	trigger:
		NoPerm("essentials.nick", sender) is not "no"
		arg 1 is set:
			set {_player} to arg 1
		else:
			set {_player} to player
		arg 2 is not "off":
			arg 2 is set
			set {_player}'s display name to coloured arg 2
			arg 1 is set:
				set tab list name of arg 1 to coloured arg 2
			arg 1 is not set:
				set tab list name of player to coloured arg 2
			set yaml value "name" of "plugins/Essentials/userdata/%{_player}'s uuid%.yml" to arg 2
			set yaml value "nick" of "plugins/Essentials/userdata/%{_player}'s uuid%.yml" to "true"
			save yml "plugins/Essentials/userdata/%{_player}'s uuid%.yml" 
			set {_message} to M2("NickNameSet", "Player", "%{_player}%", "Nick", arg 2)
			
		arg 2 is "off":
			set yaml value "name" of "plugins/Essentials/userdata/%{_player}'s uuid%.yml" to "%{_player}%"
			arg 1 is set:
				set tab list name of arg 1 to "%player%"
			arg 1 is not set:
				set tab list name of player to "%player%"
			set yaml value "nick" of "plugins/Essentials/userdata/%{_player}'s uuid%.yml" to "false"
			save yml "plugins/Essentials/userdata/%{_player}'s uuid%.yml" 
			set {_message} to M1("NickNameRemoved", "Player", "%{_player}%")
		arg 2 is not set:
			set {_message} to Usage("/nick [<player>] <text>")
		message coloured {_message}
on death:
	yaml value "death-messages" of "plugins/Essentials/config.yml" is false:
		set death message to ""
	player has permission "essentials.back.ondeath":
		set yaml value "lastpoint" of "plugins/Essentials/userdata/%player's uuid%.yml" to location of player
		save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
		message "done" to victim
command /suicide:
	trigger:
		NoPerm("essentials.suicide", sender) is not "no"
		kill player
command /whois <player>:
	trigger:
		NoPerm("essentials.whois", sender) is not "no"
		message "UUID: %player's uuid%"
		message "Name: %arg 1's name%"
		message "IP: %arg 1's ip%"
		message "Money: %arg 1's money%"
		set {_afk} to yaml value "afk" of "plugins/Essentials/userdata/%arg 1's uuid%.yml"
		message "Afk: %{_afk}%"
		message "Group: %arg 1's group%"  
command /bc <text>:
	aliases: /bcast /broadcast
	trigger:
		NoPerm("essentials.broadcast", sender) is not "no"
		set {_message} to M1("Broadcast", "Message", arg 1)
		message coloured {_message} to all players
command /clear [<player>]:
	aliases: /ci, /clean, /clearinvent
	trigger:

		arg 1 is set:
			NoPerm("essentials.clear.others", sender) is not "no"
			clear inventory of arg 1
		arg 1 is not set:
			NoPerm("essentials.clear", sender) is not "no"
			clear player's inventory
			
command /enderchest [<player>]:
	aliases: /echest, /endersee, /ec
	trigger:
		arg 1 is set:
			NoPerm("essentials.enderchest.others", sender) is not "no"			
			open arg 1's enderchest to player
		arg 1 is not set:
			NoPerm("essentials.enderchest", sender) is not "no"
			open player's enderchest to player
	
command /gc:
	aliases: /lag, /mem, /memory, /uptime, /tps, /entities
	trigger:
		NoPerm("essentials.lag", sender) is not "no"
		message "RAM used: %max ram - free ram%"
		loop all worlds:
			set {_chunksnumber::%loop-world%::*} to loaded chunks of loop-world
		loop all worlds:
			loop {_chunksnumber::%loop-world%::*}:
				add 1 to {_chunks::%loop-world%}
		message "Loaded chunks:"
		loop {_chunks::*}:	
			message " - %loop-index%: %loop-value%"
		loop all entities:
			add 1 to {_num}
		message "Entities: %{_num}%"
 
command /unlag:
	trigger:
		NoPerm("essentials.unlag", sender) is not "no"
		set {_unloaded} to 0
		set {_boat} to 0
		set {_drop} to 0
		set {_block} to 0
		set {_projectile} to 0
		loop loaded chunks of player's world:
			unload chunk loop-chunk
			add 1 to {_unloaded}
		loop all worlds:
			set {_chunksnumber::%loop-world%::*} to loaded chunks of loop-world
		loop all worlds:
			loop {_chunksnumber::%loop-world%::*}:
				add 1 to {_number}	
		set {_unloaded} to {_unloaded} - {_number}
		loop all entities:

			loop-entity is a boat:
				kill loop-entity
				add 1 to {_boat}
			loop-entity is a dropped item:
				clear loop-entity
				clear block at loop-entity
				add 1 to {_drop}
			loop-entity is a falling blocks:
				kill loop-entity
				add 1 to {_block}
			loop-entity is a projectiles:
				clear loop-entity
				add 1 to {_projectile}
		message "Unloaded %{_unloaded}% chunks"
		message "Removed %{_boat}% boats"
		message "Removed %{_drop}% dropped items"
		message "Removed %{_block}% falling blocks"
		message "Removed %{_projectile}% projectiles"		
command /invsee [<player>]:
	trigger:
		arg 1 is not set:
			set {_message} to Usage("/invsee <player>")
			message coloured {_message} to player
			stop
		NoPerm("essentials.invsee", sender) is not "no"
		player has permission "essentials.invsee.modify":
			open inventory of arg 1 to player
		player does not have permission "essentials.invsee.modify":
			open chest with 4 rows named "Inventory of %arg 1%" to player
			wait 1 tick
			set {_inv::*} to all items in arg 1's inventory
			set {_num} to 0
			loop {_inv::*}:
				format slot {_num} of player with loop-value to be unstealable
				add 1 to {_num}
command /spawnmob [<integer>] <entity type> [<player>]:
	aliases: /mob
	trigger:
		NoPerm("essentials.spawnmob", sender) is not "no"
		set {_player} to location of block above targeted block
		set {_number} to 1
		arg 1 is set:
			set {_number} to arg 1
		arg 3 is set:
			set {_player} to arg 3
		spawn {_number} of arg 2 at {_player}
			
command /killall [<entity type>]:
	aliases: /butcher, /killall, /mobkill 
	trigger:
		NoPerm("essentials.killall", sender) is not "no"
		arg 1 is not set:			
			message "/killall monsters/animals/dropped item/entities/..."
		loop all entities:
			loop-entity is arg 1:
				clear loop-entity
				kill loop-entity
command /kill <player>:
	trigger:
		NoPerm("essentials.kill", sender) is not "no"
		kill arg 1
command /lightning [<player>]:
	aliases: /strike, /smite, /thor, /shock
	trigger:
		NoPerm("essentials.lightning", sender) is not "no"
		arg 1 is not set:
			strike lightning at targeted block
		arg 1 is set:
			strike lightning at arg 1
command /vanish:
	aliases: /v
	trigger:
		NoPerm("essentials.vanish", sender) is not "no"
		yaml value "vanish" of "plugins/Essentials/userdata/%player's uuid%.yml" is not "true":
			set yaml value "vanish" of "plugins/Essentials/userdata/%player's uuid%.yml" to "true"
			save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
			hide player from all players
			loop all players:
				hide player in loop-player's tablist
			set {_message} to M1("YouAreHidden", " ", " ")
			message coloured {_message}
			stop
		else:
			set yaml value "vanish" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
			save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
			reveal player from all players
			loop all players:
				show player in loop-player's tablist
			set {_message} to M1("YouAreNoLongerHidden", " ", " ")
			message coloured {_message}
			stop
on join:
	loop all players:
		yaml value "vanish" of "plugins/Essentials/userdata/%loop-player's uuid%.yml" is true
		hide loop-player from all players
		loop all players:
			hide loop-player-1 in loop-player-2's tablist			

command /world [<world>]:
	trigger:
		NoPerm("essentials.world", sender) is not "no"
		arg 1 is set:
			wait Cooldown(player)
			wait Delay(player)
			yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" is true
			set yaml value "teleporting" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
			set yaml value "lastpoint" of "plugins/Essentials/userdata/%player's uuid%.yml" to location of player
			save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
			teleport player to spawn point of world arg 1
		arg 1 is not set:
			message "&6Worlds: &b%all worlds%"
command /workbench:
	trigger:

		NoPerm("essentials.workbench", sender) is not "no"
		open workbench view to player
		
command /break:
	trigger:
		NoPerm("essentials.workbench", sender) is not "no"
		break targeted block
		
command /god [<player>] [<text>]:
	aliases: /godmode, /tgm
	trigger:
		NoPerm("essentials.god", sender) is not "no"
		arg 2 is set:
			arg 2 is "on":
				arg 1 is set:
					NoPerm("essentials.god.others", sender) is not "no"
					set yaml value "god" of "plugins/Essentials/userdata/%arg 1's uuid%.yml" to "true"
					save yml "plugins/Essentials/userdata/%arg 1's uuid%.yml" 
					set {_message} to M2("GodMode", "Player", "%arg 1%", "State", "On")
				else:
					set yaml value "god" of "plugins/Essentials/userdata/%player's uuid%.yml" to "true"
					save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
					set {_message} to M2("GodMode", "Player", "%player%", "State", "On")
			else if arg 2 is "off":
				arg 1 is set:
					NoPerm("essentials.god.others", sender) is not "no"
					set yaml value "god" of "plugins/Essentials/userdata/%arg 1's uuid%.yml" to "false"
					save yml "plugins/Essentials/userdata/%arg 1's uuid%.yml" 
					set {_message} to M2("GodMode", "Player", "%arg 1%", "State", "Off")
				else:
					set yaml value "god" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
					save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
					set {_message} to M2("GodMode", "Player", "%player%", "State", "Off")
			else:
				set {_message} to Usage("/god [<player>] [on/off]")
		else:
			if yaml value "god" of "plugins/Essentials/userdata/%player's uuid%.yml" is true:
				set yaml value "god" of "plugins/Essentials/userdata/%player's uuid%.yml" to "false"
				save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
				arg 1 is set:
					set {_message} to M2("GodMode", "Player", "%arg 1%", "State", "Off")
				else:
					set {_message} to M2("GodMode", "Player", "%player%", "State", "Off")
			else:
				set yaml value "god" of "plugins/Essentials/userdata/%player's uuid%.yml" to "true"
				save yml "plugins/Essentials/userdata/%player's uuid%.yml" 
				arg 1 is set:
					set {_message} to M2("GodMode", "Player", "%arg 1%", "State", "On")
				else:
					set {_message} to M2("GodMode", "Player", "%player%", "State", "On")
		send coloured {_message} to player							
on damage: 
	victim is a player
	yaml value "god" of "plugins/Essentials/userdata/%victim's uuid%.yml" is true:
		cancel event
		
command /more:
	trigger:
		NoPerm("essentials.more", sender) is not "no"
		set player's tool to 64 of player's tool

command /near [<player>] [<number>]:
	aliases: /nearby
	trigger:
		NoPerm("essentials.near", sender) is not "no"
		set {_player} to player
		if arg 1 is set:
			NoPerm("essentials.near.others", sender) is not "no"
			set {_player} to arg 1
		if arg 2 is set:
			set {_num} to 0
			loop all players in radius arg 2 around {_player}:
				add 1 to {_num}
			set {_message} to "&6There is &b%{_num}% players &6around you"
		if arg 2 is not set:
			set {_message} to Usage("/near [<player>] <radius>")
		send coloured {_message}
		
command /ptime [<text>] [<player>]:
	aliases: /playertime
	trigger:
		NoPerm("essentials.ptime", sender) is not "no"
		set {_player} to player
		arg 2 is set:
			NoPerm("essentials.ptime.others", sender) is not "no"
			set {_player} to arg 2
		arg 1 is "reset":
			reset {_player}'s time
		else if arg 1 is "day":
			set {_player}'s time to 6:00
		else if arg 1 is "night":
			set {_player}'s time to 19:30
		else if arg 1 is "dawn":
			set {_player}'s time to 5:00
		else if arg 1 parsed as time is a time:
			set {_player}'s time to arg 1 parsed as time
			set {_message} to M2("Ptime", "Player", "%{_player}%", "Time", arg 1)
		else:
			set {_message} to Usage("/ptime list|reset|day|night|dawn|17:30|4pm [<player>]")
		if arg 1 is "day" or "night" or "dawn":
			set {_message} to M2("Ptime", "Player", "%{_player}%", "Time", arg 1)
		message coloured {_message}

		
		
command /recipe <item>:
	trigger:
		NoPerm("essentials.recipe", sender) is not "no"
		loop recipes of arg 1:
			set {_recipe::*} to getIngredients(loop-recipe)
		set {_num} to 1
		{_recipe::*} is not set:
			set {_message} to "Désolé, il n'y a pas de recette pour ce block (%arg 1%)"
			message coloured {_message}
			stop
		open virtual DISPENSER inventory named "Recette de %arg 1%" to player
		set {_num} to 0
		loop {_recipe::*}:
			format gui slot {_num} of player with loop-value to do nothing
			add 1 to {_num}

		set yaml value "UsingRecipe" of "plugins/Essentials/userdata/%player's uuid%.yml" to "true"	
		save yml "plugins/Essentials/userdata/%player's uuid%.yml" 

#Ceci est pour eux qui on déjà téléchargés le skript. Cela leur évide de modifier manuellement les fichiers de langues à la mise à jour
#Ca restera dans le code quelques mois
	
on first join:
	set {_value} to yaml value "newbies.kit" of "plugins/Essentials/config.yml"
	{_value} is set:
		make console execute command "/kit %{_value}% %player%"
	set {_valu} to yaml value "newbies.announce-format" of "plugins/Essentials/config.yml"
	{_valu} is set:
		replace all "{DISPLAYNAME}" with player's display name in {_value}
		message coloured {_value} to all players
	set {_val} to yaml value "starting-balance" of "plugins/Essentials/config.yml"
	set player's balance to {_val}
on respawn:
	set {_value} to yaml value "respawn-at-home" of "plugins/Essentials/config.yml"
	{_value} is true
	set {_value::*} to yml nodes with keys "homes" of "plugins/Essentials/userdata/%player's uuid%.yml"
	loop {_value::*}:
		set {_value} to yaml value "homes.%loop-value%" of "plugins/Essentials/userdata/%player's uuid%.yml"
		teleport player to {_value}
		stop

on chat:

	yaml value "muted" of "plugins/Essentials/userdata/%player's uuid%.yml" is true:
		cancel event
	set {_valu} to yaml value "name" of "plugins/Essentials/userdata/%player's uuid%.yml"
	set player's display name to "%{_valu}%"

	player is op:
		set {_value} to yaml value "ops-name-color" of "plugins/Essentials/config.yml"
		{_value} is not "none"
		set player's display name to "%coloured {_value}%%player's display name%"
	yaml value "nick" of "plugins/Essentials/userdata/%player's uuid%.yml" is true:
		set {_valu} to yaml value "nickname-prefix" of "plugins/Essentials/config.yml"
		{_valu} is set
		set player's display name to "%{_valu}%%player's display name%"	
	"%plugins list%" contains "FactionChat" or "Legendchat" or "Chat Management" or "deluxechat" or "ChatControl Pro":
		stop
	cancel event
	yaml value "muted" of "plugins/Essentials/userdata/%player's uuid%.yml" is true:
		stop
	yml "chat.group-formats.%{_group}%" in file "plugins/Essentials/config.yml" exists:
		set {_format} to yaml value "chat.group-formats.%{_group}%" of "plugins/Essentials/config.yml"
	{_format} is not set:
		set {_format} to yaml value "chat.format" of "plugins/Essentials/config.yml"
	replace all "{GROUP}" with player's group in {_format}
	replace all "{WORLDNAME}" or "{WORLD}" with "%player's world%" in {_format}
	replace all "{DISPLAYNAME}" with player's display name in {_format}	
	replace all "{PREFIX}" with coloured player's prefix in {_format}
	replace all "{SUFFIX}" with coloured player's suffix in {_format}
	player does not have permission "essentials.chat.color":
		replace all "&1" or "&0" or "&2" or "&3" or "&4" or "&5" or "&6" or "&7" or "&8" or "&9" or "&l" or "&k" or "&o" or "&m" or "&n" or "&e" or "&d" or "&b" or "&a" or "&c" with "" in chat-message
		replace all "{MESSAGE}" with chat-message in {_format}

	player has permission "essentials.chat.color":
		replace all "{MESSAGE}" with coloured chat-message in {_format}
	set {_radius} to yaml value "chat.radius" of "plugins/Essentials/config.yml"
	{_radius} is 0:
		message coloured {_format} to all players
	else:
		loop all players in radius {_radius} around player:
			message coloured {_format} to loop-player	
on sprint toggle: 
	cancelTeleport("%player%")
on click:
	cancelTeleport("%player%")
	cancelAfk("%player%")
on chat:
	cancelTeleport("%player%")
	cancelAfk("%player%")
on teleport:
	cancelAfk("%player%")
on command:
	cancelTeleport("%player%")
	command doesn't contain "skript"
	set {_list::*} to yml nodes with keys "command-costs" of "plugins/Essentials/config.yml"
	loop {_list::*}:
		arguments does not contain "none":
			set {_hey} to "%command% %arguments%"
		else:
			set {_hey} to command
		{_hey} contains "%loop-value%"
		set {_value} to yaml value "command-costs.%loop-value%" of "plugins/Essentials/config.yml"	
		player's balance >= {_value}:
			remove {_value} from player's balance
		player's balance <= {_value}:
			set {_message} to M1("NotEnoughMoney", "Money", "%{_value}%")
			message coloured {_message}
			cancel event
			
on rightclick on a bed:
	yaml value "update-bed-at-daytime" of "plugins/Essentials/config.yml" is true:
		make player execute command "/sethome bed"
	else:
		message "%time in world%"
		time in player's world is not between 6:00 and 18:00
		make player execute command "/sethome bed"	

#Some code to prevent hack attacks and glitches. My bungee server used to be attacked like that before getting safe			
on command "/eco set * 0":
	cancel event
	kick player because "&cThanks, owner will get fun with you, %player% (%ip of player%)"
	ban player because "&cThanks, owner will get fun with you, %player% (%ip of player%)"
	ip-ban player
	send "&4[Essentials] Protected your server against a hack attack" to console
on place of piston_base:
	block below block below event-block is a jack-o-lantern or a pumpkin
	message "&cTu croyais quoi? Les glitchs sont interdits!"
	cancel event
on place of pumpkin:
	block above block above event-block is a piston_base
	message "&cTu croyais quoi? Les glitchs sont interdits!"
	cancel event
on place of jack-o-lantern or pumpkin:
	block above block above event-block is a piston_base
	message "&cTu croyais quoi? Les glitchs sont interdits!"
	cancel event
on command "/pt /sphere 0 20":
	cancel event
	kick player because "&cThanks, owner will get fun with you, %player% (%ip of player%)"
	ban player because "&cThanks, owner will get fun with you, %player% (%ip of player%)"
	send "&4[Essentials] Protected your server against a hack attack" to console
	ip-ban player
on spawn:
	set {_val} to "%event-entity%"
	replace all " " with "_" in {_val}
	{_val} is "donkey":
		set {_val} to "horse"
	{_val} is "mooshroom":
		set {_val} to "mushroom_cow"
	{_val} is "husk":
		set {_val} to "zombie"
	{_val} is "mule":
		set {_val} to "horse"
	{_val} is "stray":
		set {_val} to "skeleton"
	{_val} is "zombie_pigman":
		set {_val} to "pig_zombie"
	{_val} is "normal_guardian":
		set {_val} to "guardian"
	{_val} is "zombie_villager":
		set {_val} to "zombie"

	yml "protect.prevent.spawn.%{_val}%" in file "plugins/Essentials/config.yml" exists:
		yaml value "protect.prevent.spawn.%{_val}%" of "plugins/Essentials/config.yml" is true:
			cancel event
	else:
		yml "protect.prevent.spawn.others" in file "plugins/Essentials/config.yml" exists
		yaml value "protect.prevent.spawn.others" of "plugins/Essentials/config.yml" is true:
			cancel event
on damage:
	victim is a player:
		yaml value "teleport-cooldown" of "plugins/Essentials/config.yml" is 0:
			yaml value "teleporting" of "plugins/Essentials/userdata/%victim's uuid%.yml" is true:
				set yaml value "teleporting" of "plugins/Essentials/userdata/%victim's uuid%.yml" to "false"
				save yml "plugins/Essentials/userdata/%victim's uuid%.yml" 
				set {_message} to M1("TeleportationCanceled", "", "")
				message coloured {_message} to victim
		attacker is a player:
			yaml value "protect.disable.pvp" of "plugins/Essentials/config.yml" is true:
				cancel event
		damage cause is fall:
			yaml value "protect.disable.fall" of "plugins/Essentials/config.yml" is true:
				cancel event
		damage cause is suffocation:
			yaml value "protect.disable.suffocate" of "plugins/Essentials/config.yml" is true:
				cancel event
		damage cause is drowning:
			yaml value "protect.disable.drown" of "plugins/Essentials/config.yml" is true:
				cancel event
		damage cause is lava:
			yaml value "protect.disable.lavadmg" of "plugins/Essentials/config.yml" is true:
				cancel event
		damage cause is projectile:
			yaml value "protect.disable.projectiles" of "plugins/Essentials/config.yml" is true:
				cancel event
		damage cause is contact:
			yaml value "protect.disable.contactdmg" of "plugins/Essentials/config.yml" is true:
				cancel event
		damage was caused by wither:
			yaml value "protect.disable.wither" of "plugins/Essentials/config.yml" is true:
				cancel event
		damage was caused by lightning:
			yaml value "protect.disable.lightning" of "plugins/Essentials/config.yml" is true:
				cancel event
		damage cause is fire:
			yaml value "protect.disable.firedmg" of "plugins/Essentials/config.yml" is true:
				cancel event
on lightning:
	yaml value "protect.disable.weather.lightning" of "plugins/Essentials/config.yml" is true:
		cancel event	
on flow:
	event-block is lava:
		yaml value "protect.prevent.lava-flow" of "plugins/Essentials/config.yml" is true:
			cancel event
	event-block is water:
		yaml value "protect.prevent.water-flow" of "plugins/Essentials/config.yml" is true:
			cancel event
on rightclick holding a flint and steel:
	yaml value "protect.prevent.flint-fire" of "plugins/Essentials/config.yml" is true:
		cancel event
on portal create:	
	yaml value "protect.prevent.portal-creation" of "plugins/Essentials/config.yml" is true:
		cancel event	

On Ignition:
	"%event-player%" is "<none>"
	yaml value "protect.prevent.fire-spread" of "plugins/Essentials/config.yml" is true
	cancel event
on burn:
	yaml value "protect.prevent.fire-spread" of "plugins/Essentials/config.yml" is true
	cancel event
On Explosion:	
	event-entity is tnt:
		yaml value "protect.prevent.tnt-explosion" of "plugins/Essentials/config.yml" is true:
			cancel event
	event-entity is minecart:
		yaml value "protect.prevent.tnt-minecart-explosion" of "plugins/Essentials/config.yml" is true:
			cancel event
	event-entity is creeper:
		yaml value "protect.prevent.creeper-blockdamage" of "plugins/Essentials/config.yml" is true:
			cancel event
	event-entity is fireball:
		yaml value "protect.prevent.witherskull-explosion" of "plugins/Essentials/config.yml" is true:
			cancel event
		yaml value "protect.prevent.fireball-explosion" of "plugins/Essentials/config.yml" is true:
			cancel event
On Explosion Prime:
	event-entity is creeper:
		yaml value "protect.prevent.creeper-explosion" of "plugins/Essentials/config.yml" is true:
			cancel event
on enderman pickup:
	yaml value "protect.prevent.enderman-pickup" of "plugins/Essentials/config.yml" is true:
		cancel event
on damage:
	victim is a villager:
		yaml value "protect.prevent.villager-death" of "plugins/Essentials/config.yml" is true
		cancel event
	victim is a player:
		attacker is a creeper:
			yaml value "protect.prevent.creeper-playerdamage" of "plugins/Essentials/config.yml" is true
			cancel event
		attacker is a tnt:
			yaml value "protect.prevent.tnt-playerdamage" of "plugins/Essentials/config.yml" is true
			cancel event
		attacker is a fireball:
			yaml value "protect.prevent.fireball-playerdamage" of "plugins/Essentials/config.yml" is true:
				cancel event
			yaml value "protect.prevent.witherskull-playerdamage" of "plugins/Essentials/config.yml" is true:
				cancel event
on unload:
	unload yaml "plugins/Essentials/config.yml"
	unload yaml "plugins/Essentials/language.yml"
	unload yaml "plugins/Essentials/warps.yml"
	unload yml "plugins/Essentials/spawn.yml"
on load:
	"%plugins list%" contains "FactionChat" or "Legendchat" or "Chat Management" or "deluxechat" or "ChatControl Pro":
		send "[Essentials] seems like a chat plugin is installed. Disabling EssentialsChat" to console
	if directory "plugins/Essentials" does not exist:
		send "[Essentials] Le dossier plugins/Essentials n'existe pas!" to console
		create directory "plugins/Essentials"
		create directory "plugins/Essentials/userdata"
		send "[Essentials] Dossier et fichier de configuration crees" to console
	if file "plugins/Essentials/language_en.yml" does not exist:
		create file "plugins/Essentials/language_en.yml"
	if file "plugins/Essentials/language_fr.yml" does not exist: 
		create file "plugins/Essentials/language_fr.yml"
	if file "plugins/Essentials/language.yml" does not exist: 
		create file "plugins/Essentials/language.yml"
	if file "plugins/Essentials/spawn.yml" does not exist: 
		create file "plugins/Essentials/spawn.yml"
		load yml "plugins/Essentials/spawn.yml" as "plugins/Essentials/spawn.yml"
		set {_prop::*} to file contents of "server.properties"
		loop {_prop::*}:
			loop-value contains "level-name"
			set {_level} to subtext of loop-value from index 12 to index length of loop-value
			message "Création du fichier de spawn... Monde par défaut détecté: %{_level}%" to console
		set yaml value "spawn" of "plugins/Essentials/spawn.yml" to spawn point of world "%{_level}%"
		unload "server.properties"
		save yml "plugins/Essentials/spawn.yml"
	else:
		load yml "plugins/Essentials/spawn.yml" as "plugins/Essentials/spawn.yml"
	if file "plugins/Essentials/warps.yml" does not exist: 
		create file "plugins/Essentials/warps.yml"
	load yml "plugins/Essentials/warps.yml" as "plugins/Essentials/warps.yml"
	if file "plugins/Essentials/config.yml" does not exist:
		message "Le fichier de configuration n'existe pas! Création..." to console
		create file "plugins/Essentials/config.yml"
		set {_var::*} to file contents of "plugins/Skript/scripts/essentials.sk"
		loop {_var::*}:
			loop-value contains "##^ ##_|                       Notes":
				set {_debutconf} to loop-index parsed as number - 2
			loop-value contains "##^ ##End of file <-- No seriously, you're done with configuration.":
				set {_finconf} to loop-index parsed as number
			loop-value contains "##^ Language: ""en""":
				set {_debuten} to loop-index parsed as number -1
		loop {_var::*}:
			loop-index parsed as number < {_debutconf}:
				delete {_var::%loop-index%}
			else:
				set {_val} to loop-value
				replace all "##^ " with "" in {_val}
				set {_var::%loop-index%} to {_val}
				loop-index parsed as number > {_finconf}:
					loop-index parsed as number < {_debuten}:			
						add {_val} to {_fr::*}
					else:
						add {_val} to {_en::*}
				else:
					add {_val} to {_conf::*}
		set file contents of "plugins/Essentials/config.yml" to {_conf::*}
		set file contents of "plugins/Essentials/language_en.yml" to {_en::*}
		set file contents of "plugins/Essentials/language_fr.yml" to {_fr::*}
		message "Création du fichier de configuration et initialisation des fichiers de langues terminées" to console
	load yaml "plugins/Essentials/config.yml" as "plugins/Essentials/config.yml"
	set {_value} to yaml value "locale" of "plugins/Essentials/config.yml"
	yml "Language" in file "plugins/Essentials/language.yml" exists:
		set {_val} to yml value "Language" of file "plugins/Essentials/language.yml"
		"%{_value}%" is "fr":
			{_val} is not "fr"
			set file contents of "plugins/Essentials/language.yml" to file contents of "plugins/Essentials/language_fr.yml"
		"%{_value}%" is "en":
			{_val} is not "en"
			set file contents of "plugins/Essentials/language.yml" to file contents of "plugins/Essentials/language_en.yml"
	else:
		"%{_value}%" is "fr":
			set file contents of "plugins/Essentials/language.yml" to file contents of "plugins/Essentials/language_fr.yml"
		"%{_value}%" is "en":
			set file contents of "plugins/Essentials/language.yml" to file contents of "plugins/Essentials/language_en.yml"
	load yaml "plugins/Essentials/language.yml" as "plugins/Essentials/language.yml"
	loop all players:
		if file "plugins/Essentials/userdata/%loop-player's uuid%.yml" does not exist:
			create file "plugins/Essentials/userdata/%loop-player's uuid%.yml"
			load yaml "plugins/Essentials/userdata/%loop-player's uuid%.yml" as "plugins/Essentials/userdata/%loop-player's uuid%.yml"
			set yaml value "homes.home" of "plugins/Essentials/userdata/%loop-player's uuid%.yml" to yaml value "spawn" of file "/plugins/Essentials/spawn.yml"
			set yaml value "vanish" of "plugins/Essentials/userdata/%loop-player's uuid%.yml" to "false"
			set yaml value "muted" of "plugins/Essentials/userdata/%loop-player's uuid%.yml" to "false"
			set yaml value "name" of "plugins/Essentials/userdata/%loop-player's uuid%.yml" to "%loop-player%"
			set yaml value "nick" of "plugins/Essentials/userdata/%loop-player's uuid%.yml" to "false"
			set yaml value "teleporting" of "plugins/Essentials/userdata/%loop-player's uuid%.yml" to "false"
			set yaml value "Banned" of "plugins/Essentials/userdata/%loop-player's uuid%.yml" to ""
			set yaml value "god" of "plugins/Essentials/userdata/%loop-player's uuid%.yml" to "false"
			set yaml value "teleporting" of "plugins/Essentials/userdata/%loop-player's uuid%.yml" to "false"
			set yaml value "UsingSign" of "plugins/Essentials/userdata/%loop-player's uuid%.yml" to "false"
			set yaml value "tpa" of "plugins/Essentials/userdata/%loop-player's uuid%.yml" to "false"
			set yaml value "afk" of "plugins/Essentials/userdata/%loop-player's uuid%.yml" to "false"
			save yaml "plugins/Essentials/userdata/%loop-player's uuid%.yml"
on load:
	message "[Essentials] Plugin loaded" to console
#^ ############################################################
#^ #_+------------------------------------------------------+_#
#^ #_|                       Notes                          |_#
#^ #_+------------------------------------------------------+_#
#^ ############################################################
#^ 
#^ #If you want to use special characters in this document, such as accented letters, you MUST save the file as UTF-8, not ANSI.
#^ #If you receive an error when Essentials loads, ensure that:
#^ #- No tabs are present YAML only allows spaces
#^ #- Indents are correct YAML hierarchy is based entirely on indentation
#^ #- You have "escaped" all apostrophes in your text If you want to write "don't", for example, write "don''t" instead (note the doubled apostrophe)
#^ #- Text with symbols is enclosed in single or double quotation marks
#^ 
#^ #If you have problems join the Essentials help support channel: http://tiny.cc/EssentialsChat
#^ 
#^ ############################################################
#^ #_+------------------------------------------------------+_#
#^ #_|                 Essentials (Global)                  |_#
#^ #_+------------------------------------------------------+_#
#^ ############################################################
#^ 
#^ #A color code between 0-9 or a-f. Set to 'none' to disable.
#^ ops-name-color: '&4'
#^ 
#^ #The character(s) to prefix all nicknames, so that you know they are not true usernames.
#^ nickname-prefix: '~'
#^ 
#^ #The delay, in seconds, required between /home, /tp, etc.
#^ teleport-cooldown: 0
#^ 
#^ #The delay, in seconds, before a user actually teleports.  If the user moves or gets attacked in this timeframe, the teleport never occurs.
#^ teleport-delay: 0
#^ 
#^ 
#^ #If you do not wish to use a permission system, you can define a list of 'player perms' below.
#^ #This list has no effect if you are using a supported permissions system.
#^ #If you are using an unsupported permissions system, simply delete this section.
#^ #Whitelist the Commands and permissions you wish to give players by default (everything else is op only).
#^ #These are the permissions without the "essentials." part.
#^ player-commands:
#^   - afk
#^ #- afk.auto
#^ #- back
#^ #- back.ondeath
#^ #- balance
#^ #- balance.others
#^ #- balancetop
#^ #- build
#^ #- chat.color
#^ #- chat.format
#^ #- chat.shout
#^ #- chat.question
#^ #- clearinventory
#^ #- compass
#^ #- depth
#^ #- delhome
#^ #- getpos
#^ #- geoip.show
#^ #- help
#^ #- helpop
#^ #- home
#^ #- home.others
#^ #- ignore
#^ #- info
#^ #- itemdb
#^ #- kit
#^ #- kits.tools
#^ #- list
#^ #- mail
#^ #- mail.send
#^ #- me
#^ #- motd
#^ #- msg
#^ #- msg.color
#^ #- nick
#^ #- near
#^ #- pay
#^ #- ping
#^ #- protect
#^ #- r
#^ #- rules
#^ #- realname
#^ #- seen
#^ #- sell
#^ #- sethome
#^ #- setxmpp
#^ #- signs.create.protection
#^ #- signs.create.trade
#^ #- signs.break.protection
#^ #- signs.break.trade
#^ #- signs.use.balance
#^ #- signs.use.buy
#^ #- signs.use.disposal
#^ #- signs.use.enchant
#^ #- signs.use.free
#^ #- signs.use.gamemode
#^ #- signs.use.heal
#^ #- signs.use.info
#^ #- signs.use.kit
#^ #- signs.use.mail
#^ #- signs.use.protection
#^ #- signs.use.repair
#^ #- signs.use.sell
#^ #- signs.use.time
#^ #- signs.use.trade
#^ #- signs.use.warp
#^ #- signs.use.weather
#^ #- spawn
#^ #- suicide
#^ #- time
#^ #- tpa
#^ #- tpaccept
#^ #- tpahere
#^ #- tpdeny
#^ #- warp
#^ #- warp.list
#^ #- world
#^ #- worth
#^ #- xmpp
#^ 
#^ #Note: All items MUST be followed by a quantity!
#^ #All kit names should be lower case, and will be treated as lower in permissions/costs.
#^ #Syntax: - itemID[:DataValue/Durability] Amount [Enchantment:Level].. [itemmeta:value]...
#^ #For Item Meta information visit http://wiki.ess3.net/wiki/Item_Meta
#^ #'delay' refers to the cooldown between how often you can use each kit, measured in seconds.
#^ #Set delay to -1 for a one time kit.
#^ #For more information, visit http://wiki.ess3.net/wiki/Kits
#^ kits:
#^   tools:
#^     delay: 10
#^     items:
#^       - 272 1
#^       - 273 1
#^       - 274 1
#^       - 275 1
#^   dtools:
#^     delay: 600
#^     items:
#^       - 278 1 efficiency:1 durability:1 fortune:1 name:&4Gigadrill lore:The_drill_that_&npierces|the_heavens
#^       - 277 1 digspeed:3 name:Dwarf lore:Diggy|Diggy|Hole
#^       - 298 1 color:255,255,255 name:Top_Hat lore:Good_day,_Good_day
#^       - 279:780 1
#^   notch:
#^     delay: 6000
#^     items:
#^       - 397:3 1 player:Notch
#^   color:
#^     delay: 6000
#^     items:
#^       - 387 1 title:&4Book_&9o_&6Colors author:KHobbits lore:Ingame_color_codes book:Colors
#^   firework:
#^     delay: 6000
#^     items:
#^       - 401 1 name:Angry_Creeper color:red fade:green type:creeper power:1
#^       - 401 1 name:StarryNight color:yellow,orange fade:blue type:star effect:trail,twinkle power:1
#^       - 401 2 name:SolarWind color:yellow,orange fade:red shape:large effect:twinkle color:yellow,orange fade:red shape:ball effect:trail color:red,purple fade:pink shape:star effect:trail power:1
#^ 
#^ #Essentials Sign Control
#^ #See http://wiki.ess3.net/wiki/Sign_Tutorial for instructions on how to use these.
#^ #To enable signs, remove #symbol. To disable all signs, comment/remove each sign.
#^ #Essentials colored sign support will be enabled when any sign types are enabled.
#^ #Color is not an actual sign, it's for enabling using color codes on signs, when the correct permissions are given.
#^ 
#^ enabledSigns:
#^   - color
#^ #- balance
#^ #- buy
#^ #- sell
#^ #- trade
#^ #- free
#^ #- disposal
#^ #- warp
#^ #- kit
#^ #- mail
#^ #- enchant
#^ #- gamemode
#^ #- heal
#^ #- info
#^ #- spawnmob
#^ #- repair
#^ #- time
#^ #- weather
#^ 
#^ 
#^ #Set this true to enable permission per warp.
#^ per-warp-permission: false
#^ 
#^ #Set the locale for all messages.
#^ #If you don't set this, the default locale of the server will be used.
#^ #For example, to set language to English, set locale to en, to use the file "messages_en.properties".
#^ #Don't forget to remove the #in front of the line.
#^ #For more information, visit http://wiki.ess3.net/wiki/Locale
#^ locale: en
#^ 
#^ #Turn off god mode when people leave the server.
#^ remove-god-on-disconnect: false
#^ 
#^ #Auto-AFK Kick
#^ #After this timeout in seconds, the user will be kicked from the server.
#^ #essentials.afk.kickexempt node overrides this feature.
#^ #Set to -1 for no timeout.
#^ auto-afk-kick: -1
#^ 
#^ #When the player is AFK, should he be able to pickup items?
#^ #Enable this, when you don't want people idling in mob traps.
#^ disable-item-pickup-while-afk: false
#^ 
#^ #This setting controls if a player is marked as active on interaction.
#^ #When this setting is false, the player would need to manually un-AFK using the /afk Command.
#^ cancel-afk-on-interact: true
#^ 
#^ #You can disable the death messages of Minecraft here.
#^ death-messages: true
#^ 
#^ #Should players with permissions be able to join and part silently?
#^ #You can control this with essentials.silentjoin and essentials.silentquit permissions if it is enabled.
#^ #In addition, people with essentials.silentjoin.vanish will be vanished on join.
#^ allow-silent-join-quit: false
#^ 
#^ 
#^ #You can set a custom join message here, set to "none" to disable.
#^ #You may use color codes, use {USERNAME} the player's name or {PLAYER} for the player's displayname.
#^ custom-join-message: "none"
#^ 
#^ #You can set a custom quit message here, set to "none" to disable.
#^ #You may use color codes, use {USERNAME} the player's name or {PLAYER} for the player's displayname.
#^ custom-quit-message: "none"
#^ 
#^ 
#^ ############################################################
#^ #_+------------------------------------------------------+_#
#^ #_|                   EssentialsHome                     |_#
#^ #_+------------------------------------------------------+_#
#^ ############################################################
#^ 
#^ #Allows people to set their bed at daytime.
#^ update-bed-at-daytime: true
#^ 
#^ #Set to true to enable per-world permissions for using homes to teleport between worlds.
#^ #This applies to the /home only.
#^ #Give someone permission to teleport to a world with essentials.worlds.<worldname>
#^ world-home-permissions: false
#^ 
#^ #Allow players to have multiple homes.
#^ #Players need essentials.sethome.multiple before they can have more than 1 home.
#^ #You can set the default number of multiple homes using the 'default' rank below.
#^ #To remove the home limit entirely, give people 'essentials.sethome.multiple.unlimited'.
#^ #To grant different home amounts to different people, you need to define a 'home-rank' below.
#^ #Create the 'home-rank' below, and give the matching permission: essentials.sethome.multiple.<home-rank>
#^ #For more information, visit http://wiki.ess3.net/wiki/Multihome
#^ sethome-multiple:
#^   default: 3
#^   vip: 5
#^   staff: 10
#^ 
#^ #In this example someone with 'essentials.sethome.multiple' and 'essentials.sethome.multiple.vip' will have 5 homes.
#^ #Remember, they MUST have both permission nodes in order to be able to set multiple homes.
#^ 
#^ #Set the timeout, in seconds for players to accept a tpa before the request is cancelled.
#^ #Set to 0 for no timeout.
#^ tpa-accept-cancellation: 120
#^ 
#^ ############################################################
#^ #_+------------------------------------------------------+_#
#^ #_|                   EssentialsEco                      |_#
#^ #_+------------------------------------------------------+_#
#^ ############################################################
#^ 
#^ #For more information, visit http://wiki.ess3.net/wiki/Essentials_Economy
#^ 
#^ #Defines the balance with which new players begin. Defaults to 0.
#^ starting-balance: 0
#^ 
#^ #worth-#defines the value of an item when it is sold to the server via /sell.
#^ #These are now defined in worth.yml
#^ 
#^ #Defines the cost to use the given Commands PER USE.
#^ #Some Commands like /repair have sub-costs, check the wiki for more information.
#^ command-costs:
#^ ##/example costs $1000 PER USE
#^   example: 1000
#^ ##/kit tools costs $1500 PER USE
#^ ##kit-tools: 1500
#^ 
#^ 
#^ #Enable this to log all interactions with trade/buy/sell signs and sell Command.
#^ economy-log-enabled: false
#^ 
#^ 
#^ ############################################################
#^ #_+------------------------------------------------------+_#
#^ #_|                   EssentialsChat                     |_#
#^ #_+------------------------------------------------------+_#
#^ ############################################################
#^ 
#^ 
#^ chat:
#^ 
#^ ##If EssentialsChat is installed, this will define how far a player's voice travels, in blocks.  Set to 0 to make all chat global.
#^ ##Note that users with the "essentials.chat.spy" permission will hear everything, regardless of this setting.
#^ ##Users with essentials.chat.shout can override this by prefixing text with an exclamation mark (!)
#^ ##Users with essentials.chat.question can override this by prefixing text with a question mark (?)
#^ ##You can add#Command costs for shout/question by adding chat-shout and chat-question to the Command costs section."
#^   radius: 0
#^ 
#^ ##Chat formatting can be done in two ways, you can either define a standard format for all chat.
#^ ##Or you can give a group specific chat format, to give some extra variation.
#^ ##For more information of chat formatting, check out the wiki: http://wiki.ess3.net/wiki/Chat_Formatting
#^ 
#^   format: '{PREFIX}{DISPLAYNAME}{SUFFIX}: {MESSAGE}'
#^ ##format: '&7[{GROUP}]&r {DISPLAYNAME}&7:&r {MESSAGE}'
#^ 
#^   group-formats:
#^ ##Default: '{WORLDNAME} {DISPLAYNAME}&7:&r {MESSAGE}'
#^ ##Admins: '{WORLDNAME} &c[{GROUP}]&r {DISPLAYNAME}&7:&c {MESSAGE}'
#^ 
#^ ##If you are using group formats make sure to remove the '#' to allow the setting to be read.
#^ 
#^ ############################################################
#^ #_+------------------------------------------------------+_#
#^ #_|                 EssentialsProtect                    |_#
#^ #_+------------------------------------------------------+_#
#^ ############################################################
#^ 
#^ 
#^ protect:
#^ 
#^ ##General physics/behavior modifications.
#^   prevent:
#^     lava-flow: false
#^     water-flow: false
#^     water-bucket-flow: false
#^     fire-spread: true
#^     lava-fire-spread: true
#^     flint-fire: false
#^     lightning-fire-spread: true
#^     portal-creation: false
#^     tnt-explosion: false
#^     tnt-playerdamage: false
#^     tnt-minecart-explosion: false
#^     tnt-minecart-playerdamage: false
#^     fireball-explosion: false
#^     fireball-fire: false
#^     fireball-playerdamage: false
#^     witherskull-explosion: false
#^     witherskull-playerdamage: false
#^     wither-spawnexplosion: false
#^     wither-blockreplace: false
#^     creeper-explosion: false
#^     creeper-playerdamage: false
#^     creeper-blockdamage: false
#^     enderdragon-blockdamage: true
#^     enderman-pickup: false
#^     villager-death: false
#^ ##Monsters won't follow players.
#^ ##permission essentials.protect.entitytarget.bypass disables this.
#^     entitytarget: false
#^ ##Prevent the spawning of creatures.
#^     spawn:
#^       undead_horse: false
#^       creeper: false
#^       vindicator: false
#^       wither_skeleton: false
#^       vex: false
#^       skeleton_horse: false
#^       shulker: false
#^       polar_bear: false
#^       rabbit: false
#^       llama: false
#^       guardian: false
#^       evoker: false
#^       endermite: false
#^       elder_guardian: false
#^       skeleton: false
#^       spider: false
#^       giant: false
#^       zombie: false
#^       slime: false
#^       ghast: false
#^       pig_zombie: false
#^       enderman: false
#^       cave_spider: false
#^       silverfish: false
#^       blaze: false
#^       magma_cube: false
#^       ender_dragon: false
#^       pig: false
#^       sheep: false
#^       cow: false
#^       chicken: false
#^       squid: false
#^       wolf: false
#^       mushroom_cow: false
#^       snowman: false
#^       ocelot: false
#^       iron_golem: false
#^       villager: false
#^       wither: false
#^       bat: false
#^       witch: false
#^       horse: false
#^ 
#^ ##Disable various default physics and behaviors.
#^   disable:
#^ ##Should fall damage be disabled?
#^     fall: false
#^ 
#^ ##Users with the essentials.protect.pvp permission will still be able to attack each other if this is set to true.
#^ ##They will be unable to attack users without that same permission node.
#^     pvp: false
#^ 
#^ ##Should drowning damage be disabled?
#^ ##(Split into two behaviors; generally, you want both set to the same value.)
#^     drown: false
#^     suffocate: false
#^ 
#^ ##Should damage via lava be disabled?  Items that fall into lava will still burn to a crisp. ;)
#^     lavadmg: false
#^ 
#^ ##Should arrow damage be disabled?
#^     projectiles: false
#^ 
#^ ##This will disable damage from touching cacti.
#^     contactdmg: false
#^ 
#^ ##Burn, baby, burn!  Should fire damage be disabled?
#^     firedmg: false
#^ 
#^ ##Should the damage after hit by a lightning be disabled?
#^     lightning: false
#^ 
#^ ##Should Wither damage be disabled?
#^     wither: false
#^ 
#^ ##Disable weather options?
#^     weather:
#^       lightning: false
#^ #^
#^ ############################################################
#^ #_+------------------------------------------------------+_#
#^ #_|            Essentials Spawn / New Players            |_#
#^ #_+------------------------------------------------------+_#
#^ ############################################################
#^ 
#^ newbies:
#^ ##Should we announce to the server when someone logs in for the first time?
#^ ##If so, use this format, replacing {DISPLAYNAME} with the player name.
#^ ##If not, set to ''
#^ ##announce-format: ''
#^   announce-format: '&dWelcome {DISPLAYNAME}&d to the server!'
#^ 
#^ ##When we spawn for the first time, which spawnpoint do we use?
#^ ##Set to "none" if you want to use the spawn point of the world.
#^   spawnpoint: newbies
#^ 
#^ ##Do we want to give users anything on first join? Set to '' to disable
#^ ##This kit will be given regardless of cost and permissions, and will not trigger the kit delay.
#^ ##kit: ''
#^   kit: tools
#^ 
#^ #Set this to lowest, if you want Multiverse to handle the respawning.
#^ #Set this to high, if you want EssentialsSpawn to handle the respawning.
#^ #Set this to highest, if you want to force EssentialsSpawn to handle the respawning.
#^ respawn-listener-priority: high
#^ 
#^ #When users die, should they respawn at their first home or bed, instead of the spawnpoint?
#^ respawn-at-home: false
#^ 
#^ #End of file <-- No seriously, you're done with configuration.
#^ 
#^ 
#^ Language: "fr" 
#^ Usage: "&6Usage: &b[command]"
#^ NoPermission: "&4Vous n'avez pas la permission &c[Permission]"
#^ SignNotEnable: "&6Les panneaux de &b[Sign] &6doivent être activés dans la config!"
#^ TeleportingIn: "&6La téléportation commence dans &b[Time] secondes&6."
#^ TeleportingInDontMove: "&6Teleportation begin in &b[Time] seconds&6. Please, don't move!"
#^ TeleportationCanceled: "&4Téléportation annulée, vous avez bougé!"
#^ Gamemode: "&6Mode de jeu &b[Gamemode]&6 pour &b[Player]"
#^ Enchant: "&6Votre &b[Item]&6 a été enchanté avec &b[Enchantment]"
#^ 
#^ # Command /tp
#^ TeleportToCoordinates: "&6Téléportation vers les coordonnées &b[Coordinates]"
#^ TeleportToPlayer: "&6Téléportation vers le joueur &b[Player]"
#^ TeleportPlayerToPlayer: "&6Téléportation du joueur &b[Player1]&6 vers &b[Player2]"
#^ MessageToTeleportedPlayer: "&6Vous avez été téléporté vers &b[Player]"
#^ 
#^ # Command /warp; /delwarp; /setwarp
#^ Warping: "&6Téléportation vers &b[Warp]"
#^ WarpedPlayer: "&6Téléportation du joueur &b[Player] &6vers &b[Warp]"
#^ MessageToWarpedPlayer: "&6Vous avez été téléporté vers &b[Warp]"
#^ DelWarp: "&6Le warp &b[Warp]&6 a été supprimé!"
#^ SetWarp: "&6Le warp &b[Warp]&6 a été créé!"
#^ WarpList: "&6Liste des warps: &b[Warps]"
#^ NoWarpMatch: "&6Le warp &b[Warp]&6 n'existe pas!"
#^ NotAnyWarp: "&6Il n'existe aucun warp"
#^ 
#^ # Command /home; /delhome /sethome
#^ HomeSet: "&6Vous avez définit le home &b[Home]"
#^ HomeDeleted: "&6Le home &b[Home] &6a été supprimé"
#^ HomeList: "&6Liste des homes: &b[Homes]"
#^ TeleportingToHome: "&6Téléportation au home &b[Home]"
#^ NoHomeMatch: "&6Vous n'avez pas de home &b[Home]"
#^ NotAnyHome: "&6Vous n'avez aucun home"
#^ MaxHomeReached: "&6Vous avez atteint la limite de &b[Max] &6home(s)"
#^ 
#^ # Command /tpa, /tpahere, /tpdeny, tpyes, /TpaAll
#^ TpaAll: "&6Demande envoyée à tous les joueurs"
#^ TPA: "&6Demande de téléportation envoyée"
#^ PlayerWantTeleportToYou: "&6Le joueur &b[Sender] &6a demandé à se téléporter à vous, faites &b/tpaccept &6pour accepter (la demande expire après 120 secondes)"
#^ PlayerWantYouToTeleportToHim: "&6Le joueur &b[Sender] &6souhaite que vous vous téléportiez à lui, faites &b/tpaccept &6pour accepter (la demande expire après 120 secondes)"
#^ TPAaccepted: "&6Demande de téléportation acceptée"
#^ TPArefused: "&6Demande de téléportation refusée"
#^ NoTpaAsked: "&6Vous n'avez aucune demande de téléportation"
#^ 
#^ # Command /tpall
#^ Tpall: "&6Tous les joueurs ont été téléportés vers &b[Player]"
#^ 
#^ # Command /tphere
#^ Tphere: "&b[Player] &6a été téléporté vers vous"
#^ YouWereTeleportedTo: "&6Vous avez été téléporté à &b[Player]"
#^ 
#^ # Command /setspawn
#^ SetSpawn: "&6Spawn définie à votre position!"
#^ 
#^ # Command /spawn
#^ Spawn: "&6Téléportation vers le Spawn"
#^ TeleportPlayerToSpawn: "&6Vous avez téléporté &b[Player] &6au spawn."
#^ 
#^ # Command /feed
#^ PlayerFed: "&6Vous avez nourrit [Player]"
#^ YouWereFed: "&6Vous avez été nourrit"
#^ 
#^ # Command /afk
#^ NowAfk: "&6Le joueur &b[Player] &6est maintenant afk"
#^ NoLongerAfk: "&6Le joueur &b[Player] &6n'est plus afk"
#^ 
#^ # Command /vanish
#^ YouAreHidden: "&6Vous êtes caché"
#^ YouAreNoLongerHidden: "&6Vous n'êtes plus caché"
#^ 
#^ # Command /fly
#^ FlySetForPlayer: "&6Le fly a été mis en &b[FlightMode]&6 pour &b[Player]"
#^ 
#^ # Command /heal
#^ PlayerHealed: "&6Le joueur &b[Player] &6a été soigné"
#^ YouWereHealed: "&6Vous avez été soigné"
#^ 
#^ # Command /money
#^ YourMoney: "&6Monaie: &b[Money]"
#^ MoneyOfPlayer: "&6Monaie de &b[Player]&6:&b [Money]"
#^ 
#^ # Command /pay
#^ MoneySentToPlayer: "&6Vous avez envoyé &b[Money]$ &6à &b[Player]"
#^ MoneyRecievedFromPlayer: "&6Vous avez recut &b[Money]$ &6de &b[Player]"
#^ NotEnoughMoney: "&6Vous n'avez pas assez d'argent (vous devez avoir &b[Money]&6)"
#^ 
#^ # Command /helpop
#^ Helpop: "&1[Aide] &b[Player]&6: [Message]"
#^ 
#^ # Command /depth
#^ Depth: "&6Hauteur en fonction du niveau de la mer: &b[Height]"
#^ 
#^ # Command /mute, /unmute
#^ PlayerMuted: "&6Le joueur &b[Player]&6 a été réduit au silence par &b[Sender]&6 pour la raison &b[Reason]"
#^ PlayerMuted2: "&6Le joueur &b[Player]&6 a été réduit au silence par &b[Sender] &6pendant : &b[Time]"
#^ PlayerMuted3: "&6Le joueur &b[Player]&6 a été réduit au silence par &b[Sender] &6pendant : &b[Time]&6 pour la raison &b[Reason]"
#^ PlayerMuted4: "&6Le joueur &b[Player]&6 a été réduit au silence par &b[Sender]"
#^ YouCanSpeakNow: "&6Vous pouvez de nouveau parler"
#^ PlayerUnmuted: "&6Vous avez unmute [player]"
#^ 
#^ # Command /list
#^ List: "&6Joueurs en ligne: &f[List]"
#^ 
#^ # Command /broadcast
#^ Broadcast: "&4[Broadcast] &6[Message]"
#^ 
#^ # Command /msg
#^ MessageSent: "&6Envoyé à &b[Player]&f: &f&o[Message]"
#^ MessageRecieved: "&6Recu de &b[Player]&f: &f&o[Message]"
#^ 
#^ # Command /recipe
#^ NoRecipeForThis: "&6Désolé, il n'y a pas de recettes pour &b[Item]"
#^ 
#^ # Command /back
#^ Back: "&6Téléportation à votre dernière position connue"
#^ 
#^ # Command /kit
#^ WaitBeforeUseAnotherTime: "&6Vous devez attendre [Time] secondes avant de réutiliser ce kit"
#^ 
#^ # Command /ban, /tempban
#^ BanWithoutReason: "Le marteau du bannissement a frappé!"
#^ BanWithReason: "Bannis pour: [Reason]"
#^ TempBanWithoutReason: "Bannis jusqu'au [Date]"
#^ TempBanWithReason: "Bannis pour: [Reason] jusqu'au [Date]"
#^ BannMessage: "&b[Player]&6 a été banni par &b[Sender] &6pour: &b[Reason] &6jusqu'au &b[Date]"
#^ UntilHisDeath: "jour de sa mort"
#^ 
#^ # Command /nick
#^ NickNameSet: "&6Le NickName de &b[Player] &6est maintenant &b[Nick]"
#^ NickNameRemoved: "&6Le nickname de &b[Player] &6a été supprimé"
#^ 
#^ # Command /god
#^ GodMode: "&6God Mode changé en &b[State] &6pour le joueur &b[Player]"
#^ 
#^ # Command /ptime
#^ Ptime: "Temps du joueur [Player] changé: [Time]"
#^ 
#^ # Command /give
#^ PlayerGaveToPlayer: "&6Vous avez donné &b[Item] &6à &b[Player]"
#^ YouWereGiven: "&6L'item &b[Item] &6vous a été donné"
#^ 
#^ 
#^ Language: "en" 
#^ Usage: "&6Usage: &b[command]"
#^ NoPermission: "&4You don't have permission &c[Permission]"
#^ SignNotEnable: "&6Signs &b[Sign] &6must be enabled in config!"
#^ TeleportingIn: "&6Teleportation begin in &b[Time] seconds&6. Wait please."
#^ TeleportingInDontMove: "&6Teleportation begin in &b[Time] seconds&6. Please, don't move!"
#^ TeleportationCanceled: "&4Teleportation canceled, you moved!"
#^ Gamemode: "&6Gamemode set to &b[Gamemode]&6 for player &b[Player]"
#^ Enchant: "&6Your &b[Item]&6 was enchanted with &b[Enchantment]"
#^ 
#^ # Command /tp
#^ TeleportToCoordinates: "&6Teleporting to coordinates &b[Coordinates]"
#^ TeleportToPlayer: "&6Teleporting to player &b[Player]"
#^ TeleportPlayerToPlayer: "&6Teleporting player &b[Player1]&6 to &b[Player2]"
#^ MessageToTeleportedPlayer: "&6You were teleported to &b[Player]"
#^ 
#^ # Command /warp; /delwarp; /setwarp
#^ Warping: "&6Teleporting to &b[Warp]"
#^ WarpedPlayer: "&6Teleporting player &b[Player] &6to &b[Warp]"
#^ MessageToWarpedPlayer: "&6You were teleported to &b[Warp]"
#^ DelWarp: "&6The warp &b[Warp]&6 was deleted!"
#^ SetWarp: "&6The warp &b[Warp]&6 was created!"
#^ WarpList: "&6Warps list: &b[Warps]"
#^ NoWarpMatch: "&6The warp &b[Warp]&6 doesn't exists!"
#^ NotAnyWarp: "&6There's not any warp"
#^ 
#^ # Command /home; /delhome /sethome
#^ HomeSet: "&6You set the home &b[Home]"
#^ HomeDeleted: "&6The home &b[Home] &6was deleted"
#^ HomeList: "&6Homes list: &b[Homes]"
#^ TeleportingToHome: "&6Teleporting to home &b[Home]"
#^ NoHomeMatch: "&6You don't have a home named &b[Home]"
#^ NotAnyHome: "&6You don't have any home"
#^ MaxHomeReached: "&6You reached the limit of &b[Max] &6home(s)"
#^ 
#^ # Command /tpa, /tpahere, /tpdeny, tpyes, /TpaAll
#^ TpaAll: "&6You asked for teleportation to all players"
#^ TPA: "&6Teleport request sent"
#^ PlayerWantTeleportToYou: "&6Player &b[Sender] &6wants to teleport to you, you could do &b/tpaccept &6to accept (The request will expire soon!)"
#^ PlayerWantYouToTeleportToHim: "&6Player &b[Sender] &6wants you to teleport to him &b/tpaccept &6to accept (The request will expire soon!)"
#^ TPAaccepted: "&6Teleport request accepted"
#^ TPArefused: "&6Teleport request denied"
#^ NoTpaAsked: "&6You don't have any teleport request"
#^ 
#^ # Command /tpall
#^ Tpall: "&6All players were teleported to &b[Player]"
#^ 
#^ # Command /tphere
#^ Tphere: "&b[Player] &6was teleported to you"
#^ YouWereTeleportedTo: "&6You were teleported to &b[Player]"
#^ 
#^ # Command /setspawn
#^ SetSpawn: "&6Spawn set to your current location!"
#^ 
#^ # Command /spawn
#^ Spawn: "&6Teleporting to spawn..."
#^ TeleportPlayerToSpawn: "&6You teleported &b[Player] &6to spawn."
#^ 
#^ # Command /feed
#^ PlayerFed: "&6You fed [Player]"
#^ YouWereFed: "&6You were fed"
#^ 
#^ # Command /afk
#^ NowAfk: "&6Player &b[Player] &6is now afk"
#^ NoLongerAfk: "&6Player &b[Player] &6is no longer afk"
#^ 
#^ # Command /vanish
#^ YouAreHidden: "&6You're vanished"
#^ YouAreNoLongerHidden: "&6You're no longer hidden"
#^ 
#^ # Command /fly
#^ FlySetForPlayer: "&6Fly mode set to &b[FlightMode]&6 for &b[Player]"
#^ 
#^ # Command /heal
#^ PlayerHealed: "&6Player &b[Player] &6was healed"
#^ YouWereHealed: "&6You were healed"
#^ 
#^ # Command /money
#^ YourMoney: "&6Money: &b[Money]"
#^ MoneyOfPlayer: "&6Money of &b[Player]&6:&b [Money]"
#^ 
#^ # Command /pay
#^ MoneySentToPlayer: "&6You sent &b[Money]$ &6to &b[Player]"
#^ MoneyRecievedFromPlayer: "&6You recieved &b[Money]$ &6from &b[Player]"
#^ NotEnoughMoney: "&6You don't have enough money (you must have &b[Money]&6)"
#^ 
#^ # Command /helpop
#^ Helpop: "&1[Help] &b[Player]&6: [Message]"
#^ 
#^ # Command /depth
#^ Depth: "&6Height in function of see level: &b[Height]"
#^ 
#^ # Command /mute, /unmute
#^ PlayerMuted: "&6Player &b[Player]&6 was muted by &b[Sender]&6 for &b[Reason]"
#^ PlayerMuted2: "&6Player &b[Player]&6 was muted by &b[Sender] &6during : &b[Time]"
#^ PlayerMuted3: "&6Player &b[Player]&6 was muted by &b[Sender] &6during : &b[Time]&6 for &b[Reason]"
#^ PlayerMuted4: "&6Player &b[Player]&6 was muted by &b[Sender]"
#^ YouCanSpeakNow: "&6You can now speak again"
#^ PlayerUnmuted: "&6You unmuted [player]"
#^ Second: "second(s)"
#^ Week: "week(s)"
#^ Year: "year(s)"
#^ Month: "month(s)"
#^ Minute: "minute(s)"
#^ Day: "day(s)"
#^ 
#^ # Command /list
#^ List: "&6Online players: &f[List]"
#^ 
#^ # Command /broadcast
#^ Broadcast: "&4[Broadcast] &6[Message]"
#^ 
#^ # Command /msg
#^ MessageSent: "&6Sent to &b[Player]&f: &f&o[Message]"
#^ MessageRecieved: "&6Recieved from &b[Player]&f: &f&o[Message]"
#^ 
#^ # Command /recipe
#^ NoRecipeForThis: "&6Sorry, there isn't any recipe for &b[Item]"
#^ 
#^ # Command /back
#^ Back: "&6Teleporting to last known location"
#^ 
#^ # Command /kit
#^ WaitBeforeUseAnotherTime: "&6You must wait [Time] seconds before using that kit another time"
#^ 
#^ # Command /ban, /tempban
#^ BanWithoutReason: "The ban hammer has spoken!"
#^ BanWithReason: "Banned for: [Reason]"
#^ TempBanWithoutReason: "Banned until [Date]"
#^ TempBanWithReason: "Banned for: [Reason] until [Date]"
#^ BannMessage: "&b[Player] &6was banned by &b[Sender] &6for: &b[Reason] &6until &b[Date]"
#^ UntilHisDeath: "his death"
#^ 
#^ # Command /nick
#^ NickNameSet: "&b[Player]&6's nickname is now &b[Nick]"
#^ NickNameRemoved: "&b[Player]&6's nickname was removed"
#^ 
#^ # Command /god
#^ GodMode: "&6God Mode set to &b[State] &6for player &b[Player]"
#^ 
#^ # Command /ptime
#^ Ptime: "&6Player time set to &b[Time] &6for player &b[Player]"
#^ 
#^ # Command /give
#^ PlayerGaveToPlayer: "&6You gave &b[Item] &6to player &b[Player]"
#^ YouWereGiven: "&6You were given &b[Item]"