iEssentials.sk

Created by Unknown

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

on script load:
    load yaml "plugins/iEssentials/config.yml" as "config"
    set the header of "config" to "|-------------|" and "| iEssentials |" and "|-------------|"
    if yaml path "currency-prefix" in "config" doesn't have value:	
        set yaml value "currency-prefix" from "config" to "$"
    if yaml path "starting-balance" in "config" doesn't have value:	
        set yaml value "starting-balance" from "config" to 0
    if yaml path "nickname-max-length" in "config" doesn't have value:	
        set yaml value "nickname-max-length" from "config" to 45
    if yaml path "nickname-prefix" in "config" doesn't have value:
        set yaml value "nickname-prefix" in "config" to "~"
    if yaml path "god-on-disconnect" in "config" doesn't have value:
        set yaml value "god-on-disconnect" in "config" to "true"
    if yaml path "spawn-on-death" in "config" doesn't have value:
        set yaml value "spawn-on-death" in "config" to "true"
    if yaml path "spawn-on-join" in "config" doesn't have value:
        set yaml value "spawn-on-join" in "config" to "true"
    if yaml path "ops-name-color" in "config" doesn't have value:
        set yaml value "ops-name-color" in "config" to "4"
    if yaml path "gamemode-on-join" in "config" doesn't have value:
        set yaml value "gamemode-on-join" in "config" to "false"
    if yaml path "attack-join-delay" in "config" doesn't have value:
        set yaml value "attack-join-delay" in "config" to "10"
    if yaml path "sudo-disabled" in "config" doesn't have value:
        set yaml value "sudo-disabled" in "config" to "false"
    if yaml path "commandspy-disabled" in "config" doesn't have value:
        set yaml value "commandspy-disabled" in "config" to "false"
    set {iEssentials::config::starting-balance} to yaml value "starting-balance" from "config"
    set {iEssentials::config::nickname-max-length} to yaml value "nickname-max-length" from "config"
    set {iEssentials::config::currency-prefix} to yaml value "currency-prefix" from "config"
    set {iEssentials::config::nickname-prefix} to yaml value "nickname-prefix" from "config"
    set {iEssentials::config::spawn-on-death} to yaml value "spawn-on-death" from "config"
    set {iEssentials::config::spawn-on-join} to yaml value "spawn-on-join" from "config"
    set {iEssentials::config::ops-name-color} to yaml value "ops-name-color" from "config"
    set {iEssentials::config::gamemode-on-join} to yaml value "gamemode-on-join" from "config"
    set {iEssentials::config::attack-join-delay} to yaml value "attack-join-delay" from "config"
    set {iEssentials::config::sudo-disabled} to yaml value "sudo-disabled" from "config"
    set {iEssentials::config::commandspy-disabled} to yaml value "commandspy-disabled" from "config"
    save yaml "config"
	
command /iEssentials:
    permission: iEssentials.help 
    permission message: &cYou do not have permission for this command!
    trigger:
        message "&8------------------- &6&liEssentials &8-------------------"
        message "&f   "
        message "&fWelcome to &6&liEssentials&f, a Skript server management system!"
        message "&fThis plugin is great if you are running a server with mainly Skript."
        message "&fAdministrate your server, use some nifty cheats too! Give player's money to their balance."

#iEssentials Economy

command /eco [<text>] [<player>] [<number>]:
    usage: /eco
    permission: iEssentials.eco
    permission message: &cYou do not have permission for this command!
    trigger:
        if arg 1 is "set":
            if argument 2 is set:
                if arg 2 isn't offline:
                    if arg 3 is set:
                        player has permission "iEssentials.eco.set":
                            set {iEssentials::eco::users::%arg 2's uuid%} to arg 3
                            message "&c%argument 2%&6's balance has been set to:&a%{iEssentials::config::currency-prefix}%&c%arg 3%"   
                        player doesn't have permission "iEssentials.eco.set":
                            message "&cYou do not have permission for this command!"         
        if arg 1 is "give":
            if arg 2 is set:
                if arg 2 isn't offline:
                    player has permission "iEssentials.eco.give":
                        increase {iEssentials::eco::users::%arg 2's uuid%} by arg 3
                        message "&6You have given &a%{iEssentials::config::currency-prefix}%&c%argument 3% &6to &a%argument 2%&6's balance!"    
                    else:
                        message "&cYou do not have permission for this command!"
        if arg 1 is "take":
            if arg 2 is set:
                if arg 2 isn't offline:
                    if arg 3 is set:
                        player has permission "iEssentials.eco.take":
                            remove argument 3 from {iEssentials::eco::users::%argument 2's uuid%}
                            message "&6You have taken &a%{iEssentials::config::currency-prefix}%&c%argument 3% &6from &c%argument 2%&6's balance!"
                        else:
                            message "&cYou do not have permission for this command!"
        if arg 1 is "reset":
            if arg 2 is set:
                if arg 2 isn't offline:
                    player has permission "iEssentials.eco.reset":
                        set {iEssentials::eco::users::%argument 2's uuid%} to 0
                        message "&6You have reset&c %argument 2%&6's balance!"
                    else:
                        message "&cYou do not have permission for this command!"
            else:
                set {iMoney::users::%player's uuid%} to 0    
                message "&6You have reset your balance!"           
command /balance [<player>]:
    aliases: bal
    permission: iEssentials.balance
    permission message: &cYou do not have permission for this command!
    trigger:
        if argument 1 is set:
            player has permission "iEssentials.balance.others":
                message "&6Balance of &a%arg 1%&6: &a%{iEssentials::config::currency-prefix}%&c%{iEssentials::eco:users::%arg 1's uuid%}%"
        else:
            message "&6Balance: &a%{iEssentials::config::currency-prefix}%&c%{iEssentials::eco::users::%player's uuid%}%"
command /pay <player> <number>:
    permission: iEssentials.pay
    permission message: &cYou do not have permission for this command!
    trigger:
        if argument 2 is greater than {iEssentials::eco::users::%player's uuid%}:
            message "&eYou do not have enough money to do this!"
        else:
            if arg 2 is greater than 0:
                remove arg 2 from {iEssentials::eco::users::%player's uuid%}
                increase {iEssentials::eco::users::%arg 1's uuid%} by arg 2
                message "&6You have payed &a%argument 2% %argument 1%&6!"
                send "&a%player% &6has payed you &a%{iEssentials::config::currency-prefix}%&c%argument 2%&6!" to arg 1
            else:
                message "&cYou cannot pay players &f%argument 2%&c!" 

#iEssentials Cheat Commands

command /getpos [<player>]:
    aliases: coords, pos
    permission: iEssentials.getpos
    permission message: &cYou do not have permission for this command!
    trigger:
        if arg is set:
            if arg is online:
                if player has permission "iEssentials.getpos.others":
                    set {iEssentials::getpos} to location of arg
                    message "&6%argument% &eis at: &c%{iEssentials::getpos}%&6!"
                else:
                    message "&cYou do not have permission for this command!"
        if arg isn't set: 
            set {iEssentials::getpos} to location of player
            message "&6You are at: &c%{iEssentials::getpos}%&6!"            
command /tp <player>:
    permission: iEssentials.tp
    permission message: &cYou do not have permission for this command!
    trigger:
        set {iEssentials::tp} to location of argument
        teleport player to {iEssentials::tp}
        message "&6You have teleported to &c%argument%&6."
command /tphere <player>:
    permission: iEssentials.tphere
    permission message: &cYou do not have permission for this command!
    trigger:
        set {iEssentials::tphere} to location of player
        teleport argument to {iEssentials::tphere}
        message "&6You have teleported &c%argument% &6to yourself."
command /tpall:
    permission: iEssentials.tpall
    permission message: &cYou do not have permission for this command!
    trigger:
        loop all players: 
            add loop-player to {iEssentials::player-list}
            set {iEssentials::tpall} to location of player
            teleport loop-player to {iEssentials::tpall}
        message "&6You have teleported everyone online to yourself."
command /god [<player>]:
    permission: iEssentials.god
    permission message: &cYou do not have permission for this command!
    trigger:
        if argument isn't set:
            if {iEssentials::god::%player's uuid%} is true:
                set {iEssentials::god::%player's uuid%} to false
                message "&6You are no longer in god mode!"
            else:
                set {iEssentials::god::%player's uuid%} to true
                message "&6You are now in god mode!"
        if argument is set:
            if player has permission "iEssentials.god.others":
                if {iEssentials::god::%argument's uuid%} is true:
                    set {iEssentials::god::%argument's uuid%} to false
                    send "&6You are no longer in god mode!" to argument
                    message "&c%argument% &6is no longer in god mode!"
                else:
                    set {iEssentials::god::%argument's uuid%} to true
                    send "&6You are now in god mode!" to argument
                    message "&c%argument% &6is now in god mode!"
            else:
                message "&cYou do not have permission for this command!"
command /heal [<player>]:
    permission: iEssentials.heal
    permission message: &cYou do not have permission for this command!
    trigger:
        if argument is set:
            if player has permission "iEssentials.heal.others":
                heal argument
                set argument's hunger to 20
                message "&6You have healed &c%argument%&6!"
                send "&6You have been healed!" to argument
            else:
                message "&cYou do not have permission for this command!"
        else:
            heal player
            set player's hunger to 20
            message "&6You have been healed!"
command /sudo <player> <text>:
    permission: iEssentials.sudo
    permission message: &cYou do not have permission for this command!
    trigger:
        if {iEssentials::config::sudo-disabled} is false:
            make argument 1 execute command "%argument 2%"
            message "&6You have made &f%argument 1% &6do &f/%argument 2%&6!"
        else:
            message "&cSudo is disabled!"
command /clear [<player>]:
    aliases: /ci
    permission: iEssentials.clear
    permission message: &cYou do not have permission for this command!
    trigger:
        if argument is set:
            if player has permission "iEssentials.clear.others":
                message "&6You have &c%argument%&6's your inventory!"
                send "&6Your inventory has been cleared!" to argument
                clear argument's inventory
        else:
            message "&6You have cleared your inventory!"
            clear player's inventory
command /feed [<player>]:
    permission: iEssentials.feed
    permission message: &cYou do not have permission for this command!
    trigger:
        if arg isn't set:
            set player's hunger to 20
            message "&6You have been fed!"
        if arg is set:
            if player has permission "iEssentials.feed.others":
                set arg's hunger to 20
                send "&6You have been fed!" to arg
                message "&6You have fed &c%argument%&6!"
            else:
                message "&cYou do not have permission for this command!"
command /vanish [<player>]:
    aliases: v
    permission: iEssentials.vanish
    permission message: &cYou do not have permission for this command!
    trigger:
        if argument isn't set:
            if {iEssentials::vanish::%player's uuid%} is true:
                set {iEssentials::vanish::%player's uuid%} to false
                reveal the player from all players
                message "&6You are no longer vanished!"
            else:
                set {iEssentials::vanish::%player's uuid%} to true
                hide the player from all players
                message "&6You have been vanished!"
        if argument is set:
            if player has permission "iEssentials.vanish.others":
                if {iEssentials::vanish::%argument's uuid%} is true:
                    set {iEssentials::vanish::%argument's uuid%} to false
                    reveal the argument from all players
                    send "&6You are no longer vanished!" to argument
                    message "&c%argument% &6is no longer vanished!" 
                else:
                    set {iEssentials::vanish::%argument's uuid%} to true
                    hide the argument from all players
                    send "&6You are now vanished!" to argument
                    message "&c%argument% &6is now vanished!" 
            else:
                message "&cYou do not have permission for this command!"

#iEssentials Administration / Moderation

command /ban <offlineplayer>:
    permission: iEssentials.ban
    permission message: &cYou do not have permission for this command!
    trigger:
        kick arg 1 due to "&c&lBanned!"
        set {iEssentials::banned::%argument's uuid%} to true
command /mute <player>:
    permission: iEssentials.mute
    permission message: &cYou do not have permission for this command!
    trigger:
        if {iEssentials::mute::%argument's uuid%} is true:
            set {iEssentials::mute::%argument's uuid%} to false
            message "&6%argument% &ehas been unmuted!"
            send "&6You have been unmuted!" to argument
        else:
            set {iEssentials::mute::%argument's uuid%} to true
            message "&6%argument% &ehas been muted!"
            send "&6You have been muted!" to argument
command /freeze <player>:
    permission: iEssentials.freeze
    permission message: &cYou do not have permission for this command!
    trigger:
        if {iEssentials::freeze::%argument's uuid%} is false:
            set {iEssentials::freeze::%argument's uuid%} to true
            message "&6You have froze &a%argument%&e!"
            send "&6You are now frozen!" to argument
        else:
            set {iEssentials::freeze::%argument's uuid%} to false
            message "&6You have unfroze &a%argument%&e!"
            send "&6You are no longer frozen!" to argument      
command /kick <player>:
    permission: iModerate.kick
    permission message: &cYou do not have permission for this command!
    trigger:
        kick arg 1 due to "&c&lKicked! &6By: &f %player%"
command /unban <offlineplayer>:
    aliases: pardon
    permission: iModerate.unban
    permission message: &cYou do not have permission for this command!
    trigger:
        if {iEssentials::banned::%argument's uuid%} is true:    
            set {iEssentials::banned::%argument's uuid%} to false
command /broadcast <text>:
    aliases: bc
    permission: iEssentials.broadcast
    permission message: &cYou do not have permission for this command!
    trigger:
        if arg 1 is set:
            if player has permission "iEssentials.broadcast.color":
                broadcast "&8[&cBroadcast&8] &f%colored argument%"
            else:
                broadcast "&8[&cBroadcast&8] &f%uncolored argument%"
command /gamemode <text> [<player>]:
    aliases: gm
    permission: iEssentials.gamemode
    permission message: &cYou do not have permission for this command!
    trigger:
        if argument 2 isn't set:
            if argument 1 is "0" or "survival":
                if player has permission "iEssentials.gamemode.survival":
                    set player's gamemode to survival
                    message "&6You are now in &cSurvival &6mode!"
            if argument 1 is "1" or "creative":
                if player has permission "iEssentials.gamemode.creative":
                    set player's gamemode to creative
                    message "&6You are now in &cCreative &6mode!"
            if argument 1 is "2" or "adventure":
                if player has permission "iEssentials.gamemode.adventure":
                    set player's gamemode to adventure
                    message "&6You are now in &cAdventure &6mode!"
            if argument 1 is "3" or "spectator":
                if player has permission "iEssentials.gamemode.spectator":               
                    set player's gamemode to spectator
                    message "&6You are now in &cSpectator &6mode!"
        if argument 2 is set:
            if argument 1 is "0" or "survival":
                if player has permission "iEssentials.gamemode.survival.others":
                    set argument 2's gamemode to survival
                    send "&6You are now in &cSurvival &6mode!" to arg 2
                    message "&c%argument 2% &6is now in &cSurvival &6mode!"
            if argument 1 is "1" or "creative":
                if player has permission "iEssentials.gamemode.creative.others":
                    set argument 2's gamemode to creative
                    send "&6You are now in &cCreative &6mode!" to arg 2
                    message "&c%argument 2% &6is now in &cCreative &6mode!"
            if argument 1 is "2" or "adventure":
                if player has permission "iEssentials.gamemode.adventure.others":
                    set argument 2's gamemode to adventure
                    send "&6You are now in &cAdventure &6mode!" to arg 2
                    message "&c%argument 2% &6is now in &cAdventure &6mode!"
            if argument 1 is "3" or "spectator":
                if player has permission "iEssentials.gamemode.spectator.others":               
                    set argument 2's gamemode to spectator
                    send "&6You are now in &cSpectator &6mode!" to arg 2
                    message "&c%argument 2% &6is now in &cSpectator &6mode!"
command /gms [<player>]:
    permission: iEssentials.gamemode.survival
    permission message: &cYou do not have permission for this command!
    trigger:
        if argument isn't set:
            set player's gamemode to survival
            message "&6You are now in &cSurvival &6mode!"   
        if argument is set:  
            if player has permission "iEssentials.gamemode.survival.others": 
                set argument's gamemode to survival
                send "&6You are now in &cSurvival &6mode!" to arg 1
                message "&c%argument% &6is now in &cSurvival &6mode!"
            else: 
                message "&cYou do not have permission for this command!"   
command /gmc [<player>]:
    permission: iEssentials.gamemode.creative
    permission message: &cYou do not have permission for this command!
    trigger:
        if argument isn't set:
            set player's gamemode to creative
            message "&eYou are now in &aCreative &emode!"   
        if argument is set:  
            if player has permission "iEssentials.gamemode.creative.others": 
                set argument's gamemode to creative
                send "&6You are now in &cCreative &6mode!" to arg
                message "&c%argument% &6is now in &cCreative &6mode!"
            else: 
                message "&cYou do not have permission for this command!"   
command /gma [<player>]:
    permission: iModerate.gamemode.adventure
    permission message: &cYou do not have permission for this command!
    trigger:
        if argument isn't set:
            set player's gamemode to adventure
            message "&6You are now in &cAdventure &6mode!"  
        if argument is set:  
            if player has permission "iEssentials.gamemode.adventure.others": 
                set argument's gamemode to adventure
                send "&6You are now in &cAdventure &6mode!" to arg 1
                message "&c%argument% &6is now in &cAdventure &6mode!"
            else: 
                message "&cYou do not have permission for this command!"   
command /gmsp [<player>]:
    permission: iEssentials.gamemode.spectator
    permission message: &cYou do not have permission for this command!
    trigger:
        if argument isn't set:
            set player's gamemode to spectator
            message "&6You are now in &cSpectator &6mode!"  
        if argument is set:  
            if player has permission "iEssentials.gamemode.spectator.others": 
                set argument's gamemode to spectator
                send "&6You are now in &cSpectator &6mode!" to arg 1
                message "&c%argument% &6is now in &cSpectator &6mode!"
            else: 
                message "&cYou do not have permission for this command!"  
command /skull [<offlineplayer>]:
    permission: iEssentials.skull
    permission message: &cYou do not have permission for this command!
    trigger:
        if argument is set:
            give player skull of argument        
            message "&6You have been given the skull of &c%argument%&e!"
        else:
            give player skull of player
            message "&6You have been given the skull of yourself!"
on script load:
    if {iEssentials::blocked-words::*} isn't set:
        add "fuck" to {iEssentials::blocked-words::*}
        add "bitch" to {iEssentials::blocked-words::*}
        add "nigger" to {iEssentials::blocked-words::*}
        add "shit" to {iEssentials::blocked-words::*}
        add "asshole" to {iEssentials::blocked-words::*}
        add "pussy" to {iEssentials::blocked-words::*}
        add "cock" to {iEssentials::blocked-words::*}
        add "dick" to {iEssentials::blocked-words::*}
        add "damn" to {iEssentials::blocked-words::*}
    if {iEssentials::anti-advert::*} isn't set:
        add "mc." to {iEssentials::anti-advert::*}
        add "play." to {iEssentials::anti-advert::*}
        add "join." to {iEssentials::anti-advert::*}
        add ".com" to {iEssentials::anti-advert::*}
        add ".net" to {iEssentials::anti-advert::*}
        add ".uk" to {iEssentials::anti-advert::*}
        add ".us" to {iEssentials::anti-advert::*}
        add ".eu" to {iEssentials::anti-advert::*}
        add ".to" to {iEssentials::anti-advert::*}
        add ".nu" to {iEssentials::anti-advert::*}
        add ".co" to {iEssentials::anti-advert::*}
        add ".gg" to {iEssentials::anti-advert::*}
        add ".ca" to {iEssentials::anti-advert::*}
        add ".de" to {iEssentials::anti-advert::*}
        add ".es" to {iEssentials::anti-advert::*}
        add ".io" to {iEssentials::anti-advert::*}
        add ".gs" to {iEssentials::anti-advert::*}
        add ".nl" to {iEssentials::anti-advert::*}
        add ".ws" to {iEssentials::anti-advert::*}
        add ".games" to {iEssentials::anti-advert::*}
        add ".cl" to {iEssentials::anti-advert::*}
        add ".br" to {iEssentials::anti-advert::*}
        add ".it" to {iEssentials::anti-advert::*}
        add ".rocks" to {iEssentials::anti-advert::*}
        add ".li" to {iEssentials::anti-advert::*}
        add ".gq" to {iEssentials::anti-advert::*}
        add ".gs" to {iEssentials::anti-advert::*}
        add ".xyz" to {iEssentials::anti-advert::*}
        add ".pw" to {iEssentials::anti-advert::*}
        add ".online" to {iEssentials::anti-advert::*}
        add ".network" to {iEssentials::anti-advert::*}
        add ".sc" to {iEssentials::anti-advert::*}
        add ".lv" to {iEssentials::anti-advert::*}
        add ".sx" to {iEssentials::anti-advert::*}
        add ".ro" to {iEssentials::anti-advert::*}
        add ".tk" to {iEssentials::anti-advert::*}
        add ".ir" to {iEssentials::anti-advert::*}
        add ".blue" to {iEssentials::anti-advert::*}
        add ".info" to {iEssentials::anti-advert::*}
        add ".cf" to {iEssentials::anti-advert::*}
        add ".dk" to {iEssentials::anti-advert::*}
        add ".ms" to {iEssentials::anti-advert::*}
        add ".se" to {iEssentials::anti-advert::*}
        add ".biz" to {iEssentials::anti-advert::*}
command /word [<text>] [<text>]:
    permission: iEssentials.word
    permission message: &cYou do not have permission for this command!
    trigger:
        if argument 1 is "block":
            if player has permission "iEssentials.word.block":
                if argument 2 is set:   
                    add argument 1 to {iEssentials::blocked-words::*}
                    message "&6You have blocked the word &a%argument 2%&e."
                else:
                    message "&cPlease specify what word to block!"
        else if argument 1 is "blocked":
            if player has permission "iEssentials.word.blocked":
                message "&6&lBlocked Words&f: %{iEssentials::blocked-words::*}%"
        else if argument 1 is "unblock":
            if player has permission "iEssentials.word.unblock":
                remove argument 2 from {iEssentials::blocked-words::*}
                message "&6You have removed &c%argument 2% &efrom the swear word filter!"
        else:
            message "&cPlease use /word <block|blocked|unblock> [word]"
command /clearchat:
    permission: iEssentials.clearchat
    permission message: &cYou do not have permission for this command!
    trigger:
        loop 200 times:
            broadcast "&f   "
        broadcast "&6&lChat Cleared by &c%player%&e&l."
command /mutechat: 
    permission: iEssentials.mutechat
    permission message: {iEssentials::config::no-permission-message}
    trigger:
        if {iEssentials::mutechat} is true:
            set {iEssentials::mutechat} to false
            broadcast "&6&lChat has been unmuted!"
        else:
            set {iEssentials::mutechat} to true 
            broadcast "&6&lChat has been muted!"
command /banip <offlineplayer>:
    permission: iEssentials.banip
    permission message: &cYou do not have permission for this command!
    trigger:
        if arg is online:
            set {iEssentials::bannedips::%argument's ip%} to true
            set {iEssentials::banned-ips::%argument%} to argument's ip
            loop all players:
                if loop-player's ip is {iEssentials::bannedips::*}:
                    kick loop-player due to "&c&lBanned!"
        else:
            set {iEssentials::bannedips::%argument%} to true
command /unbanip <text>:
    aliases: pardonip
    permission: iEssentials.unbanip
    permission message: &cYou do not have permission for this command!
    trigger:
        if {iEssentials::bannedips::%argument%} is true:
            set {iEssentials::bannedips::%argument%} to false        
            message "&6This IP has been unbanned!"
        else if {iEssentials::banned-ips::%argument%} is set:
            set {iEssentials::bannedips::%{iEssentials::banned-ips::%argument%}%} to false
            message "&6You have unbanned &c%argument%&6's ip!"
command /commandspy:
    permission: iEssentials.commandspy
    permission message: {iEssentials::config::no-permission-message}
    trigger:
        if {iEssentials::config::commandspy-disabled} is false:
            if {iEssentials::commandspy::%player's uuid%} is true:
                set {iEssentials::commandspy::%player's uuid%} to false
                message "&6You have disabled command spy!"
            else:
                set {iEssentials::commandspy::%player's uuid%} to true
                message "&6You have enabled command spy!"
        else:
            message "&cCommand Spy is disabled!"
command /day:    
    permission: iEssentials.day
    permission message: &cYou do not have permission for this command!
    trigger:
        make console execute command "gamerule sendCommandFeedback false"
        make console execute command "time set 5000"
        message "&6You have set the time to day!"
command /night:
    permission: iEssentials.night
    permission message: &cYou do not have permission for this command!
    trigger:
        make console execute command "gamerule sendCommandFeedback false"
        make console execute command "time set 15000"
        message "&6You have set the time to night!"
command /sun:
    permission: iEssentials.sun
    permission message: &cYou do not have permission for this command!
    trigger:
        make console execute command "gamerule sendCommandFeedback false"
        make console execute command "weather clear 600"
        message "&6You have set the weather to sun!"
command /rain:
    permission: iEssentials.rain
    permission message: &cYou do not have permission for this command!
    trigger:
        make console execute command "gamerule sendCommandFeedback false"
        make console execute command "weather rain 600"
        message "&6You have set the weather to rain!"
command /thunder:
    permission: iEssentials.thunder
    permission message: &cYou do not have permission for this command!
    trigger:
        make console execute command "gamerule sendCommandFeedback false"
        make console execute command "weather thunder 600"
        message "&6You have set the weather to thunder!"

#iEssentials Basic Player Commands

command /msg <player> <text>:
    usage: /msg <player> <message>
    aliases: pm, dm, m
    permission: iBasics.msg
    permission message: &cYou do not have permission for this command!
    trigger:
        if player has permission "iEssentials.msg.color":
            send "&6[&7%player%&6 -> me]&f %colored argument 2%" to player
            set {iEssentials::reply::%argument 1%} to player
            wait 90 seconds
            clear {iEssentials::reply::%argument 1%}
        else:
            send "&6[&7%player% &6-> me]&f %uncolored argument 2%" to player
command /helpop <text>:
    permission: iEssentials.helpop
    permission message: &cYou do not have permission for this command!
    trigger:
        broadcast "&8[&cHelpOp&8] &7> &b%player% &fsays: %argument%"
command /afk:
    permission: iEssentials.afk
    permission message: &cYou do not have permission for this command!
    trigger:
        if {iEssentials::afk::%player's uuid%} is true:
            set {iEssentials::afk::%player's uuid%} to false
            broadcast "&f%player% &7is no longer AFK."
        else:
            broadcast "&f%player% &7is now AFK."   
            set {iEssentials::afk::%player's uuid%} to true
command /warp <text> [<player>]:
    permission: iEssentials.warp 
    permission message: &cYou do not have permission for this command!
    trigger:
        if argument 2 is set:
            if {iEssentials::warp::%argument 1%} is set:
                if player has permission "iEssentials.warps.%argument 1%" and "iEssentials.warp.others":
                    teleport argument 2 to {iEssentials::warp::%argument 1%}
                    send "{iEssentials::config::teleporation-message}" to argument 2
                    message "&6Teleporting &c%argument 2%&6..."
                else:
                    message "&cYou do not have permission for this command!"
            else:
                message "&eThis warp does not exist!"
        else:  
            if {iEssentials::warp::%argument 1%} is set:
                if player has permission "iEssentials.warps.%argument 1%":
                    teleport player to {iEssentials::warp::%argument 1%}
                    message "&6Teleporting..."
                else:
                    message "&cYou do not have permission for this command!"
            else:
                message "&eThis warp does not exist!"
command /setwarp <text>:
    permission: iEssentials.setwarp
    permission message: &cYou do not have permission for this command!
    trigger:
        set {iEssentials::warp::%argument%} to location of player
        set {iEssentials::warpn::%argument%} to argument
        message "&6Warp Created!"
command /delwarp <text>:
    permission: iEssentials.delwarp
    permission message: &cYou do not have permission for this command!
    trigger:
        if {iEssentials::warpn::%argument%} is set:
            clear {iEssentials::warp::%argument%}
            clear {iEssentials::warpn::%argument%}
            message "&6Warp Deleted!"
command /warps:
    permission: iEssentials.warps
    permission message: &cYou do not have permission for this command!
    trigger:
        message "&6&lWarps&f: %{iEssentials::warpn::*}%"
command /mail [<text>] [<player>] [<text>]:
    permission: iEssentials.mail
    permission message: &cYou do not have permission for this command!
    trigger:
        if arg 1 is "read":
            if player has permission "iBasics.mail.read":
                message "&6&lYour mail:"
                loop {iEssentials::mail::%player's uuid%::*}:
                    message "%loop-value%"
            else:
                message "&cYou do not have permission for this command!"
        if arg 1 is "clear":
            if player has permission "iEssentials.mail.clear":
                clear {iEssentials::mail::%player's uuid%::*}
                message "&6Your mail has been cleared!"
            else:
                message "&cYou do not have permission for this command!"
        if arg 1 is "send":
            if arg 2 is set:
                if arg 3 is set:
                    if player has permission "iEssentials.mail.send":
                        if player has permission "iEssentials.mail.color":
                            if {iEssentials::mailtoggle::%argument 2's uuid%} is false:
                                add "&f[%player%] %argument 3%" to {iEssentials::mail::%argument 2's uuid%::*}
                                message "&6You have sent &f%colored argument 3% &6to &f%argument 2%&6's mailbox!"
                            else:                        
                                message "&6This player has mail disabled, meaning you cannot send them mail!"
                        else:
                            if {iEssentials::mailtoggle::%argument 2's uuid%} is false:
                                add "&f[%player%] %argument 3%" to {iEssentials::mail::%argument 2's uuid%::*}
                                message "&6You have sent &f%argument 3% &6to &f%argument 2%&6's mailbox!"
                            else:                        
                                message "&6This player has mail disabled, meaning you cannot send them mail!"
                    else:
                        message "&cYou do not have permission for this command!"
command /mailtoggle:
    permission: iEssentials.mailtoggle
    permission message: &cYou do not have permission for this command!
    trigger:
        if {iEssentials::mailtoggle::%player's uuid%} is true:
            set {iEssentials::mailtoggle::%player's uuid%} to false
            message "&6You have enabled mail! Players can send you mail now!"
        else:
            set {iEssentials::mailtoggle::%player's uuid%} to true
            message "&6You have disabled mail! Players cannot send you mail now!"
command /nick <text>: 
    aliases: nickname
    permission: iEssentials.nick
    permission message: &cYou do not have permission for this command!
    trigger:
        if argument is set:
            if length of argument is less than {iEssentials::config::nickname-max-length}:
                set {iEssentials::nickname::%player's uuid%} to "%{iEssentials::config::nickname-prefix}%%colored argument%"     
                set player's nickname to {iEssentials::nickname::%player's uuid%}
                message "&6Your nickname is now:&f %player's nickname%"
            else:
                message "&cYour nickname is too long!"
        if argument isn't set:
            message "&cPlease specify a nickname!"
command /ignore [<player>]:
    permission: iEssentials.ignore
    permission message: &cYou do not have permission for this command!
    trigger:
        if arg is set:
            if arg isn't player:
                if {iEssentials::ignored::%player's uuid%::%argument's uuid%} is false:
                    set {iEssentials::ignored::%player's uuid%::%argument's uuid%} to true
                    message "&6You have ignored &f%argument%&6!"
            
                else:
                    set {iEssentials::ignored::%player's uuid%::%argument's uuid%} to false
                    message "&6You have unignored &c%argument%&6!"
            else:
                message "&cYou can't ignore yourself!"
        else:
            message "&cPlease specify who to ignore or unignore!!"
command /list:
    permission: iEssentials.list
    permission message: {iEssentials::config::no-permission-message}
    trigger:
        clear {iEssentials::online::*}
        set {iEssentials.online-amount} to 0
        loop all players:
            add loop-player to {iEssentials::online::*}
            increase {iEssentials.online-amount} by 1
        message "&c&lPlayer List &f(%{iEssentials.online-amount}% players online)"
        message "   "
        message "&6Online Players&f: %{iEssentials::online::*}%"

#iEssentials Spawn System

command /setspawn:
    usage: /setspawn
    permission: iEssentials.setspawn
    permission message: &cYou do not have permission for this command!
    trigger: 
        set {iEssentials::spawn} to location of player
        message "&eSpawn Set!"
command /spawn [<player>]:
    usage: /spawn
    trigger:
        if argument is set:
            if player has permission "iEssentials.spawn.others":
                if {iEssentials::spawn} is set:
                    message "{iEssentials::config::teleporation-message} &c%argument%"
                    send "{iEssentials::config::teleporation-message}" to argument
                    teleport argument to {iEssentials::spawn}
                else:
                    if player is op:
                        message "&cNo spawn! Please set the spawn with &f/setspawn&c!"
                    else if player has permission "iEssentials.setspawn":
                        message "&cNo spawn! Please set the spawn with &f/setspawn&c!"            
                    else:
                        message "&cPlease tell an administrator to set the spawn."
        else:
            if {iEssentials::spawn} is set:
                message "&6Teleporting..."
                teleport player to {iEssentials::spawn}
            else:
                if player is op:
                    message "&cNo spawn! Please set the spawn with &f/setspawn&c!"
                else if player has permission "iEssentials.setspawn":
                    message "&cNo spawn! Please set the spawn with &f/setspawn&c!"            
                else:
                    message "&cPlease tell an administrator to set the spawn."


#iEssentials Event Management

on chat:
    if {iEssentials::afk::%player's uuid%} is true:     
        set {iEssentials::afk::%player's uuid%} to false
        broadcast "&f%player% &7is no longer AFK." 
    if {iEssentials::mute::%player's uuid%} is true:
        cancel event
        message "&cMuted Players cannot chat!"
    loop {iEssentials::blocked-words::*}:
        if message contains loop-value:
            cancel event
            message "&eYou may not use swear words in chat!"  
    loop {iEssentials::anti-advert::*}:
        if message contains loop-value:
            cancel event
            message "&cPlease do not try to advertise!"
    loop recipients:
        if {iEssentials::ignored::%loop-player's uuid%::%player's uuid%} is true:
            remove loop-player from recipients
    if player has permission "iEssentials.chat.color":
        set message to colored message
on any movement:
    if {iEssentials::afk::%player's uuid%} is true:     
        set {iEssentials::afk::%player's uuid%} to false
        broadcast "&f%player% &7is no longer AFK."
    if {iEssentials::freeze::%player's uuid%} is true:
        cancel event
        message "&cFrozen Players cannot move!"
on damage:
    if victim is a player:
        if {iEssentials::god::%victim's uuid%} is true:
            cancel event
            message "&cYou cannot attack players in god mode!"
on connect:
    if {iEssentials::banned::%player's uuid%} is true:
        kick player due to "&c&lBanned"
    if {iEssentials::bannedips::%player's ip%} is true:
        kick player due to "&c&lBanned"
on join:
    if {iEssentials::config::spawn-on-join} is true:
        teleport player to {iEssentials::spawn}
    if {iEssentials::eco::users::%player's uuid%} isn't set:
        set {iEssentials::eco::users::%player's uuid%} to {iEssentials::config::starting-balance}
    delete player's nickname   
    if {iEssentials::nickname::%player's uuid%} is set:
        set player's nickname to {iEssentials::nickname::%player's uuid%}
    else:
        if player is op:
            if {iEssentials::config::ops-name-color} isn't "none":
                set {_op-name} to "&%{iEssentials::config::ops-name-color}%%player%"
                set player's nickname to "%colored {_op-name}%"
    if {iEssentials::config::gamemode-on-join} isn't false:
        if {iEssentials::config::gamemode-on-join} is "0" parsed as a number or "survival":
            set player's gamemode to survival
        if {iEssentials::config::gamemode-on-join} is "1" parsed as a number or "survival":
            set player's gamemode to creative	
        if {iEssentials::config::gamemode-on-join} is "2" parsed as a number or "survival":
            set player's gamemode to adventure	
        if {iEssentials::config::gamemode-on-join} is "3" parsed as a number or "survival":
            set player's gamemode to spectator	
    if {iEssentials::config::attack-join-delay} isn't "false":
        if {iEssentials::god::%player's uuid%} isn't "true":
            set {iEssentials::god::%player's uuid%} to true
            loop {iEssentials::config::attack-join-delay} times:
                wait 1 seconds
            set {iEssentials::god::%player's uuid%} to false
    while player is online:
        wait 1 seconds
    if {iEssentials::config::god-on-disconnect} is false:
        set {iEssentials::god::%player's uuid%} to false
on death:
    if {iEssentials::config::spawn-on-death} is true:
        teleport player to {iEssentials::spawn}
on command:
    loop all players:
        if {iEssentials::commandspy::%loop-player's uuid%} is true:
            if player isn't loop-player:
                if arguments isn't "<none>":
                    send "&f[%player%] /%command% %arguments%" to loop-player
                else:
                    send "&f[%player%] /%command%" to loop-player