Warning: Undefined variable $http_response_header in /var/www/html/new/skunity/library/skUnity/Util/HTTP.php on line 95

CustomWorldMod.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.

# ================================================================
# ----------------------------------------------------------------
# 
#                      -ooo| CustomWorldMod |ooo-
# 
#            o- Must-have Skript for FreeOP server! -o
#                         -> Version: 1.0-RELEASE <-
#       o- If you have any problem or idea, contact me with DM on Discord (CustomWorldYT#1012)! :) -o
# 
#
# ----------------------------------------------------------------
# Quick introduction: How to configure my Skript properly?
# 1. Lines starting with "#" (hashtag, without quotes) are ingored by the code. They are called
# comments.
# 2. In the "options:" category below, you can edit prefix, messages and things like that.
# 3. Do not edit the Skript code itself, if you don't understand it.
# 4. NEVER use tabs: Skript files are alergic on tabs and any tab will break entire Skript. 
# This could happen when you copy and paste the Skript, editors like Notepad++ will replace spaces by tabs.
# If you love the TAB key and you use Notepad++, go to "Settings" in the menu above and click on "Preferences > Language"
# Then just tick the "Replace by space" box and you're done. "Tab size" must be 4 to make the Skript work.

# YOU ARE NOT ALLOWED TO REDISTRIBUTE OR USE ANY PIECE OF CODE IN THIS SKRIPT IN OTHER SKRIPTS WITHOUT MY PERMISSION. 
# You may configure this Skript just for your own server. For permission, ask me on my Discord (CustomWorldYT#1012)
#
# Copyright (c) CustomWorld (CustomWorldYT) 2018
# All rights reserved.
#
    
# ================================================================
# When Skript loads and so on stuff:
# ================================================================  
    
on skript start: #When Skript loads...
    send "&aCustomWorld &l>> &eEnabling &7CustomWorldMod v1.0-RELEASE&e..." to console #We need to send message to inform soul inside console, that CWMod loads...
    
#   Setting up language:

    if {cw::lang::prefix} is not set:
        set {cw::lang::prefix} to "&aCustomWorld &l>>"
    
    if {cw::lang::ur-muted-lol} is not set:
        set {cw::lang::ur-muted-lol} to "&cYou are muted."
    
    if {cw::lang::no-perms} is not set:
        set {cw.lang::no-perms} to "&cYou don't have permission to execute this command."
        
    if {cw::lang::staff-exempt} is not set:
        set {cw::lang::staff-exempt} to "&cStaff is immune to this action."
        
    if {cw::lang::only-owners} is not set:
        set {cw::lang::only-owners} to "&cOnly owners can perform this action."
        
    if {cw::lang::no-perms-tospawn-others} is not set:
        set {cw::lang::no-perms-tospawn-others} to "&cYou don't have permission to teleport others to the spawn."
     
    if {cw::lang::specify-player} is not set:
        set {cw::lang::specify-player} to "&cPlease, specify a player."
     
    if {cw::unban-app} is not set:
        set {cw::unban-app} to "change this to what you want."

    if {cw::lang::only-staff} is not set:
        set {cw::lang::only-staff} to "&cOnly staff can perform this action."      
        
        
#   Config:       
    if {cw.config.explosions} is not set:
        set {cw.config.explosions} to "false" 
        
#   Hooks:
        
    if {cw.hooks.coreprotect} is not set:
        set {cw.hooks.coreprotect} to "true"
        
    if {cw.hooks.fawe} is not set:
        set {cw.hooks.fawe} to "true"
        
on load: #The Skript loaded fine.
    send "&aCustomWorld &l>> &aSucesfully enabled CustomWorldMod v1.0" to console #Let's send a message to console.

# ================================================================
# Other stuff:
# ================================================================  

on player world change:
    if world is "adminworld":
        if {cw::staff::staff::*} contains player's name:
            teleport player to {spawn}
            message "%{cw::lang::prefix}% &cYou don't have permission to enter adminworld." to player
            stop
        else:
            stop
    else:
        stop
        
on damage:
    if {cw::staff::staff::*} doesn't contain attacker's name:
        attacker's gamemode is creative:
            cancel event
            message "%{cw::lang::prefix}% &cCreative PvP is disabled." to attacker
            stop
        else:
            stop
    else:
        stop
            
on join:
    if {cw::ips::%player%::*} does not contain player's IP:
        broadcast "&cWARNING - &e%player% &cis an Imposter!"
        wait a tick
        deop player
    else:
        stop 
        
on connect:
    if {cw::staff::staff::*} contains player's name:
        player is banned:
            unban player
            broadcast "&e%player% &cgot banned, but he is staff - Removing the ban."
            stop
        else:
            stop
    else:
        stop
        
command /addip [<text>]:
    trigger:
        if {cw::staff::staff::*} contains player's name:
            if arg 1 is not set:
                add IP of player to {cw::ips::%player%::*}
                message "&aAdded &e%IP of player% &ato list of your IPs." to player
                stop
            else:
                add argument 1 to {cw::ips::%player%::*}
                message "&aAdded &e%argument% &ato list of your IPs." to player
                stop
        else:
            message "%{cw::lang::only-staff}%" to player
            stop
            
command /clearips:
    trigger:
        if {cw::staff::staff::*} contains player's name:
            delete {cw::ips::%player%::*}
            message "&cDeleted &lALL &cof your IPs. Assign a new one right now by using &e/addip&c." to player
            stop
        else:
            message "%{cw::lang::only-staff}%" to player
            stop

# ================================================================
# Fun:
# ================================================================            

command /jumppads [<text>] [<text>]:
    trigger:
        if {cw::staff::staff::*} contains player's name:
            if arg 1 is "on":
                set {cw::jumppads::enabled} to "true"
                broadcast "&e%player% &c- Enabling jumppads."
                stop
            if arg 1 is "off":
                set {cw::jumppads::enabled} to "false"
                broadcast "&e%player% &c- Disabling jumppads."
                stop
            else:
                message "&c/jumppads <on/off>" to player
                stop
        else:
            message "%{cw::lang::no-perms}%" to player

on step on slime_block:
    if {cw::jumppads::enabled} is "true":
        push player upwards at speed 2.5
    if {cw::jumppads::enabled} is "false":
        stop
        
# ================================================================
# Blocked blocks:
# ================================================================
# This is the code of the mod, do not touch if you don't understand. You may edit parts of code for your own server, but you are not allowed to redistribute this code anywhere without my permission(s).

on place: #This is the code to block placement of some blocks, configurable via "blocked-blocks:" in "options" section at begining of the Skript.
    if event-block is command_block, repeating_command_block or chain_command_block:
        if {cw::staff::staff+::*} contains player's name: #Allow admins to place blocked blocks.
            stop #Do nothing.
        else: #When player is not admin.
            send "%{cw::lang::prefix}% &cYou may not place &e%block%&c." to player  #Send message to player
            cancel event #Disallow placement.

on break: #Prevent non-admins to break blocks such as command blocks. This affects entire blocked-blocks section, so TNT breaking will be blocked too.
    if event-block is command_block, repeating_command_block or chain_command_block:
        if {cw::staff::staff+::*} contains player's name:
            stop #Do nothing, when player is admin.
        else: #If player is not admin.
            send "%{cw::lang::prefix}% &cYou may not break &e%block%&c." to player #Send message to player.
            cancel event #Disallow breaking of blocked-blocks
            stop #Stop the code
                
on rightclick: #Disallow edit of command blocks.
    if clicked block is command_block, repeating_command_block or chain_command_block: #I think it's clear what it means.
        if {cw::staff::staff+::*} contains player's name:
            stop #Do nothing
        else: #If player is non-admin
            cancel event #Disallow edit of command block. Players can still open GUI to edit command blocks, but they can do nothing with it. Hope it won't get patched :/ Then we would need to kick player.
            message "%{cw::lang::prefix}% &cYou can't edit command blocks." #
            stop #Stop the code

on rightclick: #Disallow edit of structure blocks.
    if clicked block is structure_block: #Structure blocks are special, when it comes to edit blocking. I have tired to cancel event, but it didn't worked and players still could edit structure blocks.
        if {cw::staff::staff+::*} contains player's name:
            stop #Stop the code
        else: #If player is regular OP.
            kick the player due to "%{cw::lang::prefix}% &cYou may not edit structure blocks!" #Here comes the kick, because we cannot just cancel the event. Players can just rejoin.
            stop #Stop the code.

# ================================================================
# Chat related things + On join stuff:
# ================================================================            
on chat: 
    if {muted.%player%} is true:
        cancel event
        message "%{cw::lang::ur-muted-lol}%" to player
        stop
    else:
        cancel event 
        broadcast "%{cw::tag::%player%}% %{cw::nickname::%player%}%&7: &r%colored message%" 
        stop 

on join:  #On join stuff
    set the player's tablist name to {cw::nickname::%player%}
    if {cw::joinmsg::%player%} exists:
        set join message to "&e%player's name% &r%{cw::joinmsg::%player%}%"
        op the player #OP the player on join.
        message "&aYou are now OP!" #Inform player, that he is opped. 
    else:
        set join message to "&8[&a+&8] &e%player's display name%" 
        op the player #OP the player on join.
        message "&aYou are now OP!" #Inform player, that he is opped.
    if {cw::tag::%player%} is not set:
        set {cw::tag::%player%} to "&8[&cOP&8]&r"
        stop
    if {cw::nickname::%player%} is not set:
        set {cw::nickname::%player%} to player's name
        set player's display name to player's name
    else:
        set player's display name to {cw::nickname::%player%}

on quit: #Custom leave message.
    if {cw::leavemsg::%player%} exists:
        set leave message to "&e%player's name% &r%{cw::leavemsg::%player%}%"
    else:
        set leave message to "&8[&c-&8] &e%player's display name%"

# ================================================================
# Anti-grief stuff:
# ================================================================ 
    
on explode: #When stuff like creeper, TNT, ender crystals, etc. explodes:
    {cw.config.explosions} is "false": #Nukes are disabled using /cwedit config nukes false
        cancel event #Disallow explosions
    else:
        stop

# Custom commands:

# ================================================================
# Player commands:
# ================================================================ 

command /staff:
    trigger:
        message "&cStaff: &e%{cw::staff::staff::*}%&c." to player
        message "&c&lStaff+&c: &e%{cw::staff::staff+::*}%&c." to player
        message "&bNote: &3It's not bug that player is both ranks. Ranks above needs to have also ranks (and permissions) below."

command /nick [<text>]:
    aliases: /name, /nickname
    trigger:
        if arg-1 is not set:
            message "&cPlease, type in a nickname."
            stop
        if arg-1 contains "owner", "co-owner", "coowner", "admin", "helper", "mod", "moderator", "founder", "co-founder" or "cofounder":
            if {cw::staff::staff::*} doesn't contain player's name:
                message "&cPlease, type in another nickname. (Rank nicknames are forbidden)" to player
                stop
            else:
                set {cw::nickname::%player%} to colored arguments
                set the player's display name to colored arguments
                set player's tablist name to colored arguments
                message "%{cw::lang::prefix}% &aYour new nickname is: &r&e%arguments%&a!" to player
                stop 
        else:
            set {cw::nickname::%player%} to colored arguments
            set the player's display name to colored arguments
            set player's tablist name to colored arguments
            message "%{cw::lang::prefix}% &aYour new nickname is: &r&e%arguments%&a!" to player
            stop     

command /tag [<text>]:
    trigger:
        if arg 1 is set:
            if arg-1 contains "owner", "co-owner", "coowner", "admin", "helper", "mod", "moderator", "founder", "co-founder" or "cofounder":
                if {cw::staff::staff::*} contains player's name:
                    set {cw::tag::%player%} to colored arguments
                    message "%{cw::lang::prefix}% &aSet your tag to &e%colored arguments%&a." to player
                    stop
                else:
                    message "&cRank tags are forbidden. Please, type in another tag."
        else:
            message "&cPlease, specify a tag." to player
            stop
            
command /gms [<player>]:
    aliases: /survival
    trigger:
        if arg 1 is not set:
            set gamemode of player to survival
            message "%{cw::lang::prefix}% &aYou have set your gamemode to survival." to player
            stop
        else:
            if {cw::staff::staff::*} contains player's name:
                set gamemode of player argument to survival
                message "%{cw::lang::prefix}% &aYou have set &e%argument 1%&a's gamemode to survival." to player
                stop
            else:
                message "%{cw::lang::prefix}% &cYou don't have permission to change other's gamemode!"
		
command /gmc [<player>]:
    aliases: /creative
    trigger:
        if arg 1 is not set:
            set gamemode of player to creative
            message "%{cw::lang::prefix}% &aYou have set your gamemode to creative." to player
            stop
        else:
            if {cw::staff::staff::*} contains player's name:
                set gamemode of player argument to creative
                message "%{cw::lang::prefix}% &aYou have set &e%argument 1%&a's gamemode to creative." to player
                stop
            else:
                message "%{cw::lang::prefix}% &cYou don't have permission to change other's gamemode!"

command /gma [<player>]:
    aliases: /adventure
    trigger:
        if arg 1 is not set:
            set gamemode of player to adventure
            message "%{cw::lang::prefix}% &aYou have set your gamemode to adventure." to player
            stop
        else:
            if {cw::staff::staff::*} contains player's name:
                set gamemode of player argument to adventure
                message "%{cw::lang::prefix}% &aYou have set &e%argument 1%&a's gamemode to adventure." to player
                stop
            else:
                message "%{cw::lang::prefix}% &cYou don't have permission to change other's gamemode!"
        
command /gmsp [<player>]:
    aliases: /spectator
    trigger:
        if {cw::staff::staff::*} contains player's name:
            set gamemode of player argument to spectator
            message "%{cw::lang::prefix}% &aYou have set &e%player argument%&a's gamemode to spectator" to player
            stop  
        else:
            message "%{cw::lang::no-perms}%" to player
        
command /me <text>:
    trigger:
        broadcast "&5* &r%player's display name% &5%colored arguments%"
        stop
        
command /iname <text>:
    trigger:
        set the name of the player's tool to colored arguments
        message "%{cw::lang::prefix}% &aSet name of your tool to &e%colored arguments%&a." to player
        stop

command /ilore <number> <text>:
    trigger:
        set line number arg-1 of lore of player's tool to colored arg-2
        message "%{cw::lang::prefix}% &aSet &e%arg-1% &aline of lore to &e%colored arg-2%&a!" to player
        stop
        
command /broadcast [<text>]:
    aliases: /bcast, /broad, /bc, /say 
    trigger:
        if {cw::staff::staff::*} doesn't contain player's name:
            message "%{cw::lang::no-perms}%" to player
        else:
            if arg 1 is not set:
                message "&cUsage: /broadcast (message)" to player
                stop
            if arg 1 is set:
                broadcast "{&e%player%&r} &d%colored arg-1%"
                stop

command /customworldmod:
    aliases: /cw, /cwmod
    trigger:
        message "&eServer is running &aCustomWorldMod &eversion &7v1.0 RELEASE&e." to player     

command /setwarp <text>:
    description: Create a warp!
    trigger:
        set {warp.%argument 1%} to location of player
        message "%{cw::lang::prefix}% &aWarp set."
        stop
             
        
command /warp <text> [<player>]:
    description: Warp to a warp.
    trigger:
        if {warp.%argument 1%} does not exist:
            message "%{cw::lang::prefix}% &cThat warp does not exist!"
            stop
        else:
            if argument 2 is not set:
                teleport player to {warp.%argument 1%}
                message "%{cw::lang::prefix}% &aWarped you to &e%argument 1%&a."
                stop
            else:
                if {cw::staff::staff::*} contains player's name:
                    teleport arg 2 to {warp.%argument 1%}
                    message "%{cw::lang::prefix}% &aWarped &e%argument 2% &ato warp &e%{warp.%argument 1%}%&a."
                    stop
                else:
                    message "&cYou don't have permission to warp other players."
                    stop
			
command /delwarp <text>:
    description: Delete a warp
    trigger:
        if {warp.%argument 1%} does not exist:
            message "%{cw::lang::prefix}% &cPlease, type a valid warp to delete."
            stop
        else:
            delete {warp.%argument 1%}
            message "%{cw::lang::prefix}% &cDeleted warp &e%argument 1%&c!"
            stop

command /sethome:
    executable by: players
    trigger:
        set {homes.%player%.location} to location of player
        message "&eSet your home to &7%location of player%&r"
        stop

command /home:
    executable by: players
    trigger:
        if {homes.%player%.location} is not set:
            message "%{cw::lang::prefix}% &cYou have not set your home yet!"
            stop trigger
        teleport player to {homes.%player%.location}
        stop
		
command /setspawn:
    trigger:
        if {cw::staff::staff::*} contains player's name:
            set {spawn} to location of player
            message "%{cw::lang::prefix}% &aYou set the server spawn!"
            stop
        else:
            message "%{cw::lang::no-perms}%" to player
		
command /spawn [<player>]:
    trigger:
        if {spawn} isn't set:
            message "%{cw::lang::prefix}% %{cw::lang::no-spawn-set}%"
            stop
        else:
            if argument 1 isn't set:
                teleport player to {spawn}
                message "%{cw::lang::prefix}% %{cw::lang::to-spawn}%" to player
            else:
                if {cw::staff::staff::*} contains player's name:
                    teleport arg 1 to {spawn}
                    message "%{cw::lang::prefix}% &aTeleported &e%arg 1% &ato spawn." to player
                else:
                    send "&cYou cannot teleport others to spawn." to player
                    stop
                
command /realname [<text>]:
    trigger:
        if arg 1 is set:
            loop all players:
                uncolored {cw::nickname::%loop-player%} contains arg 1
                message "%{cw::lang::prefix}% &e%{cw::nickname::%loop-player%}% &cis &e%loop-player%" to player
                stop 
        else:
            message "%{cw::lang::specify-player}%"
            stop
                
# ================================================================
# Blocked commands:
# ================================================================         

#Spigot/Bukkit commands:

on command "/stop":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/restart":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop            

on command "/spigot":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/reload":
    if {cw::staff::staff+::*} contains player's name:
        cancel event
        message "%{cw::lang::no-perms}%" to player
        stop
    else:
        stop 

on command "/rl":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop
            
#Vanilla commands: 
       
on command "/advancement":
    if {cw::staff::staff::*} doesn't contain player's name:
        cancel event
        message "%{cw::lang::no-perms}%" to player
        stop
    else:
        stop
 
on command "/blockdata":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop
 
on command "/clone":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop 
 
on command "/gamemode":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::prefix}% &cUse /gmc, /gms and /gma to set your gamemode." to player
            stop
        else:
            stop
            
on command "/gm":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::prefix}% &cUse /gmc, /gms and /gma to set your gamemode." to player
            stop
        else:
            stop
 
on command "/debug":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop 
 
on command "/defaultgamemode":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop 
 
on command "/deop":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop 
        
on command "/difficulty":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop        
 
on command "/entitydata":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop 
 
on command "/execute":
    if sender is a player:
        if {cw::staff::staff+::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop 

on command "/fill":
    if sender is a player:
        if {cw::staff::staff+::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop
 
on command "/pardon":
    if sender is a player:
        if {cw::staff::staff+::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop

on command "/pardon-ip":
    if sender is a player:
        if {cw::staff::staff+::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop
 
on command "/particle":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop
 
on command "/playsound":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop 
 
on command "/recipe":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop 
 
on command "/replaceitem":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop
 
on command "/save-all":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop 

on command "/save-off":
    if sender is a player:
        if {cw::staff::staff+::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop
 
on command "/save-on":
    if sender is a player:
        if {cw::staff::staff+::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop
 
on command "/gamerule":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop 

on command "/setblock":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop
 
 
on command "/scoreboard":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop 

#Multiverse-Core commands:
            
on command "/mv":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvc":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop            

on command "/mvclone":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mv":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvco":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvconfirm":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvcoord":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvcreate":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvdebug":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
 
on command "/mvdelete":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvenv":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvgamerule":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvgamerules":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvgenerators":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvgens":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvh":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvhelp":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvi":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvim":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvimport":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvinfo":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvl":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvlist":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvload":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvm":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvmadd":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvmclear":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvmodify":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
            
on command "/mvmremove":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop            

on command "/mvmset":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvpurge":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvr":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvregen":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvreload":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvremove":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvrule":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvrules":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvs":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvscript":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvsearch":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvset":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvsetspawn":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvsilent":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvspawn":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
 
on command "/mvss":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvtp":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvunload":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvv":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvversion":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvw":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

on command "/mvwho":
    if sender is a player:
        if {cw::staff::staff+::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop

#Punishment commands            
            
on command "/kick":
    if sender is a player:
        if {cw::staff::staff::*} contains player's name:
            stop
        else:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop   
        
        
on command "/ban-ip":
    if sender is a player:
        cancel event
        message "%{cw::lang::no-perms}% &cIf you are admin, use /banip to ban IPs." to player
        stop
        
on command "/banlist":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop

#FastAsyncWorldEdit/WorldEdit commands:            
            
on command "/we":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop
        
on command "/worldedit":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop
            
on command "/br":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop            

on command "/brush":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop

on command "/frb":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop

on command "//frb":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop

on command "/inspect":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop

#WorldGuard commands:
            
on command "/rg":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop
 
on command "/region":
    if sender is a player: 
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop

on command "/worldguard":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop
 
on command "/wg":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop
 
#CoreProtect commands:
        
on command "/co":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop
            
on command "/core":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop            
  
on command "/coreprotect":
    if sender is a player:
        if {cw::staff::staff::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop

#Skript commands:            
            
on command "/skript":
    if sender is a player:
        if {cw::staff::staff+::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop
 
on command "/sk":
    if sender is a player:
        if {cw::staff::staff+::*} doesn't contain player's name:
            cancel event
            message "%{cw::lang::no-perms}%" to player
            stop
        else:
            stop
 
#Plugin specific commands or /blockcmd:
 
on command:
    if {cw::staff::staff+::*} doesn't contain player's name:
        command contains ":"
        cancel event
        message "%{cw::lang::prefix}% &cPlugin specific commands are disabled."
        stop
    else:
        stop
        
# ================================================================
# Staff commands:
# ================================================================                  
       
command /ban [<Offlineplayer>] [<Text>]:
    trigger:
        if {cw::staff::staff+::*} contains player's name:
            if arg 1 is set:
                if arg 2 is set:
                    loop 20 times:
                        strike lightning effect at arg 1
                    set {banned.%arg 1%} to true
                    set {ban.time.%arg 1%} to now
                    set {ban.reason.%arg 1%} to argument-2
                    set {ban.bannedby.%arg 1%} to player
                    set {ban.expire.%arg 1%} to "Never"
                    set {BanIP.%arg 1%} to "False"
                    kick arg 1 due to "&c&lBanned! &cReason: &e%arg 2% &cBanned by: &e%player% &cExpiraion: &e&lNEVER &r &cUnban application at &e%{cw::unban-app}%"
                    ban arg 1 due to "&c&lBanned! &cReason: &e%arg 2% &cBanned by: &e%player% &cExpiraion: &e&lNEVER &r &cUnban application at &e%{cw::unban-app}%"
                    broadcast "&e%player% &cbanned &e%arg 1%" 
                    broadcast "&cReason: &e%arg 2%" 
                else:
                    send "%{cw::lang::prefix}% &cUsage: /Ban <Player> <Reason>" to player
            else:
                send "%{cw::lang::prefix}% &c/Ban <Player> <Reason>" to player
        else:
            send "%{cw::lang::no-perms}%" to player
            stop      
       
command /banip [<Offlineplayer>] [<Text>]:
    trigger:
        if {cw::staff::staff+::*} contains player's name:
            if arg 1 is set:
                if arg 2 is set:
                    loop 20 times:
                        strike lightning effect at arg 1
                    set {banned.%arg 1%} to true
                    set {banip.time.%arg 1%} to now
                    set {banip.reason.%arg 1%} to argument-2
                    set {banip.expire.%arg 1%} to "Never"
                    set {banip.bannedby.%arg 1%} to player
                    set {IP.%arg 1%} to ip of arg 1
                    set {hasBannedIP.%arg 1%} to "True"
                    kick arg 1 due to "&c&lIP-Banned for &e%arg 2% &cby &e%player%&c."
                    ban arg 1 due to "&c&lIP-Banned for &e%arg 2% &cby &e%player%&c."
                    ban ip of arg 1 due to "&c&lIP-Banned for &e%arg 2% &cby &e%player%&c."
                    broadcast "%{cw::lang::prefix}% &e%player% &cbanned IP of &e%argument 1%&c."
                    broadcast "&cReason: &e%arg 2%&c."
                else:
                    send "%{cw::lang::prefix}% &cUsage: /Banip <Player> <Reason>" to player
            else:
                send "%{cw::lang::prefix}% &cUsage: /Banip <Player> <Reason>" to player
        else:
            send "%{cw::lang::no-perms}%" to player
            stop  

command /tempban [<Offlineplayer>] [<Text>] [<Timespan>]:
    trigger:
        if {cw::staff::staff::*} contains player's name:
            if arg 1 is set:
                if arg 2 is set:
                    if arg 3 is set:
                        loop 20 times:
                            strike lightning effect at arg 1
                        set {tempbanned.%arg 1%} to true
                        set {tempban.time.%arg 1%} to now
                        set {tempban.reason.%arg 1%} to argument-2
                        set {tempban.expire.%arg 1%} to now
                        add arg-3 to {tempban.expire.%arg 1%}
                        set {_tempunbantime} to difference between {tempban.expire.%arg 1%} and now
                        set {tempban.bannedby.%arg 1%} to player
                        kick arg 1 due to "&c&lTemp Banned for &e%arg 3%&c: &c%arg 2%&c. Banned by: &e%player% &c- You will be unbanned in &e%{tempban.expire.%arg 1%}% EST."
                        ban arg 1 due to "&c&lTemp Banned for &e%arg 3%&c: &c%arg 2%&c. Banned by: &e%player% &c- You will be unbanned in &e%{tempban.expire.%arg 1%}% EST."
                        broadcast "&e%player% &ctempbanned &e%arg 1% &cfor &e%arg 3%&c: &e%arg 2%&c."
                        wait {_tempunbantime}
                        unban arg-1
                        stop
                    else:
                        send "%{cw::lang::prefix}% &c/Tempban <Player> <Reason> <Timespan>" to player
                        stop
                else:
                    send "%{cw::lang::prefix}% &c/Tempban <Player> <Reason> <Timespan>" to player
                    stop
            else:
                send "%{cw::lang::prefix}% &c/Tempban <Player> <Reason> <Timespan>" to player
                stop
        else:
            send "%{cw::lang::no-perms}%" to player
            stop            

command /hell [<Offlineplayer>] [<Text>]:
    trigger:
        if {cw::staff::staff::*} contains player's name:
            if arg 1 is set:
                if arg 2 is set:
                    if {cw.hooks.coreprotect} is true:
                        make player execute command "/co rollback u:%arg 1% t:7d r:100"
                        loop 20 times:
                            strike lightning effect at arg 1
                        set {cw.hell.%arg 1%} to true
                        set {cw.hell.time.%arg 1%} to now
                        set {cw.hell.reason.%arg 1%} to arg 2
                        set {cw.hell.expire.%arg 1%} to now
                        add 24 hours to {cw.hellban.expire.%arg 1%}
                        set {cw.hell.helledby.%arg 1%} to player
                        kick arg 1 due to "&c&lHELL: &e%arg 2%&c. Banned by: &e%player% &c- You will be unbanned in &e%{cw.hell.expire.%arg 1%}% EST&c."
                        ban ip of arg 1 due to "&c&lHELL: &e%arg 2%&c. Banned by: &e%player% &c- You will be unbanned in &e%{cw.hell.expire.%arg 1%}% EST&c."
                        broadcast "&e%player% &c- Sending &e%arg 1% &cto the &lHELL&c."
                        wait 24 hours
                        unban arg-1
                        stop
                    if {cw.hooks.fawe} is true:
                        make player execute command "//frb %arg 1% 100 7d"
                        loop 20 times:
                            strike lightning effect at arg 1
                        set {cw.hell.%arg 1%} to true
                        set {cw.hell.time.%arg 1%} to now
                        set {cw.hell.reason.%arg 1%} to arg 2
                        set {cw.hell.expire.%arg 1%} to now
                        add 24 hours to {cw.hellban.expire.%arg 1%}
                        set {cw.hell.helledby.%arg 1%} to player
                        kick arg 1 due to "&c&lHELL: &e%arg 2%&c. Banned by: &e%player% &c- You will be unbanned in &e%{cw.hell.expire.%arg 1%}% EST&c."
                        ban ip of arg 1 due to "&c&lHELL: &e%arg 2%&c. Banned by: &e%player% &c- You will be unbanned in &e%{cw.hell.expire.%arg 1%}% EST&c."
                        broadcast "&e%player% &c- Sending &e%arg 1% &cto the &lHELL&c."
                        wait 24 hours
                        unban arg-1
                        stop
                    else:
                        loop 20 times:
                            strike lightning effect at arg 1
                        set {cw.hell.%arg 1%} to true
                        set {cw.hell.time.%arg 1%} to now
                        set {cw.hell.reason.%arg 1%} to arg 2
                        set {cw.hell.expire.%arg 1%} to now
                        add 24 hours to {cw.hellban.expire.%arg 1%}
                        set {cw.hell.helledby.%arg 1%} to player
                        kick arg 1 due to "&c&lHELL: &e%arg 2%&c. Banned by: &e%player% &c- You will be unbanned in &e%{cw.hell.expire.%arg 1%}% EST&c."
                        ban ip of arg 1 due to "&c&lHELL: &e%arg 2%&c. Banned by: &e%player% &c- You will be unbanned in &e%{cw.hell.expire.%arg 1%}% EST&c."
                        broadcast "&e%player% &c- Sending &e%arg 1% &cto the &lHELL&c."
                        wait 24 hours
                        unban arg-1
                        stop
                else:
                    send "%{cw::lang::prefix}% &c/hell <Player> <Reason>" to player
                    stop
            else:
                send "%{cw::lang::prefix}% &c/hell <Player> <Reason>" to player
                stop
        else:
            send "%{cw::lang::no-perms}%" to player
            stop
            
command /smite <Player> [<Text>]:
    trigger:
        if {cw::staff::staff::*} contains player's name:
            if arg 1 is set:
                if arg 2 is set:
                    loop 20 times:
                        strike lightning effect at arg 1
                    add 1 to {smitted.times}
                    clear inventory of arg 1
                    deop arg 1
                    kill arg 1
                    message "&cYou have been smitted! Reason: &e%arg 2%&c. Smitten by: &e%player%&c." to arg 1
                    broadcast "&e%arg 1% &cgot terrifying shocks from &e%player% &cfor: &e%arg 2%&c."
                    message "&cYou shocked &e%arg 1% &cfor: &e%arg 2%&c." to player
                    stop
                else:
                    loop 20 times:
                        strike lightning at arg 1
                    add 1 to {smitted.times}
                    clear inventory of arg 1
                    deop arg 1
                    kill arg 1
                    message "&cYou have been smitted by &e%player%&c." to arg 1
                    broadcast "&e%arg 1% &cgot terrifying shocks from &e%player%&c."
                    stop
            else:
                message "%{cw::lang::prefix}% &cYou need to spefify a player to smite. (Optionally, you can put a sweet reason too. ˘)"
                stop
        else:
            message "%{cw::lang::no-perms}%" to player 
            stop
                    
command /mute <player> [<Text>]:
    usage: /mute <Player> [Reason]
    aliases: /stfu, /shutthefuckup, /;x
    trigger:
        if {cw::staff::staff::*} contains player's name:
            if argument 2 is set:
                set {muted.%argument 1%} to true
                broadcast "&e%player% &cmuted &e%argument 1% &cfor: &e%argument 2%&c."
                message "%{cw::lang::prefix}% &cYou are muted by &e%player%&c! Reason: &e%argument 2%&c." to arg 1
                stop
            else:
                set {muted.%argument 1%} to true
                broadcast "&e%player% &cmuted &e%argument 1%&c. STFU!"
                message "%{cw::lang::prefix}% &cYou are muted by &e%player%&c. " to arg 1
                stop
        else:
            message "%{cw::lang::no-perms}%" to player
            stop
		
command /unmute <player>:
    usage: /unmute <Player>
    trigger:
        if {cw::staff::staff::*} contains player's name:
            set {muted.%argument 1%} to false
            message "%{cw::lang::prefix}% &cYou can now talk again. Phew!" to arg 1
            broadcast "&e%player% &cunmuted &e%arg 1%&c. WB..."
            stop
        else:
            message "%{cw::lang::no-perms}%" to player
            stop         
        
command /sudo [<player>] [<text>]:
    trigger:
        if {cw::staff::staff::*} contains player's name:
            if arg 1 is not set:
                send "%{cw::lang::prefix}% &cYou must specify a player to sudo."
                stop
            if arg 1 is set:
                if arg 2 is not set:
                    send "%{cw::lang::prefix}% &cYou must specify a command to sudo on &e%arg 1%&c."
                    stop
                if arg 2 is set:
                    make arg 1 execute command arg 2
                    send "%{cw::lang::prefix}% &e%arg 1% &c:: &e%arg 2%"
                    loop all players:
                        if {cw::staff::staff::*} contains player's name:
                            send "%{cw::lang::prefix}% &e%player% &csudoed &e%arg 1% &cto execute command(s): &e%arg 2%" to loop-player
                            stop
                    stop
        else:
            message "%{cw::lang::no-perms}%" to player        
 
command /inv <player>:
    aliases: /invsee, /inventory
    trigger:
        if {cw::staff::staff::*} contains player's name:
            open inventory of arg 1 to the player
            message "&aViewing inv of &e%arg 1%" to player
        else:
            message "%{cw::lang::no-perms}%" to player
 
command /commandspy [<player>]:
    aliases: /cmdspy, /commands, /cspy
    trigger:
        if {cw::staff::staff::*} contains player's name:
            if arg 1 is set:
                if {cmdspy::%arg 1%} is set:
                    clear {cmdspy::%arg 1%}
                    send "%{cw::lang::prefix}% &cCommand spy has been disabled for %arg 1%."
                    send "%{cw::lang::prefix}% &cYour command spy has been disabled." to arg 1
                else:
                    set {cmdspy::%arg 1%} to true
                    send "%{cw::lang::prefix}% &aYour command spy has been enabled." to arg 1
                    send "%{cw::lang::prefix}% &aCommand spy has been enabled for %arg 1%."
            else:
                if {cmdspy::%player%} is set:
                    clear {cmdspy::%player%}
                    send "%{cw::lang::prefix}% &cYour command spy has been disabled."
                else:
                    set {cmdspy::%player%} to true
                    send "%{cw::lang::prefix}% &aYour command spy has been enabled."
        else:
            message "%{cw::lang::no-perms}%" to player
            stop
            
on command:
    if sender is a player:
        loop all players:
            if {cmdspy::%loop-player%} is set:
                if "%player%" is not "%loop-player%":
                    send "%{cw::lang::prefix}% &7%player% executed the command  &l/%complete command%&7" to loop-player

command /blockcmd [<player>]:
    trigger:
        if {cw::staff::staff::*} contains player's name:
            if arg 1 is set:
                if {blockcmd.%arg 1%} is true:
                    set {blockcmd.%arg 1%} to false
                    message "&cUnblocked all commands for %arg 1%." to player
                    broadcast "&e%player% &c- Unblocking all commands for &e%arg 1%&c."     
                    stop
                if {blockcmd.%arg 1%} is false:
                    set {blockcmd.%arg 1%} to true
                    message "&cBlocked all commands for %arg 1%." to player
                    broadcast "&e%player% &c- Blocking all commands for &e%arg 1%&c."   
                    stop
            if arg 1 is not set:
                loop all players:
                    if {blockcmd.%loop-player%} is true:
                        set {blockcmd.%loop-player%} to false
                        message "&cUnblocked all commands for all players." to player
                        broadcast "&e%player% &c- Unblocking all commands for all players."
                        stop
                    if {blockcmd.%loop-player%} is false:
                        set {blockcmd.%loop-player%} to true
                        message "&cBlocked all commands for all players" to player
                        broadcast "&e%player% &c- Blocking all commands for all players."
                        stop
        else:
            message "%{cw::lang::no-perms}%" to player
            stop                    

on command:
    if {blockcmd.%player%} is true:
        cancel event
        message "%{cw::lang::prefix}% &cYour commands are currently blocked."   
        stop
    else:  
        stop
            
command /opall:
    aliases: /freeop, /opeveryone
    trigger:
        if {cw::staff::staff::*} contains player's name:
            op all players
            broadcast "&e%player% &c- Opping all player's on server."
            stop
        else:
            message "%{cw::lang::no-perms}%" to player
            stop
            
command /deopall:
    aliases: /defreeop, /deopeveryone
    trigger:
        if {cw::staff::staff::*} contains player's name:
            deop all players
            broadcast "&e%player% &c- Deopping all player's on server."
            stop
        else:
            message "%{cw::lang::no-perms}%" to player
            stop            
 
command /staffchat [<text>]:
    aliases: /sc, /staffc
    trigger:
        if {cw::staff::staff::*} contains player's name:
            loop all players:
                if {cw::staff::staff::*} contains loop-player's name:
                    message "&8(&aStaff Chat&8) &e%player%&c: &r%colored arguments%" to loop-player
                    stop
        else:
            message "%{cw::lang::no-perms}%" to player
            stop

command /day:
    trigger:
        if {cw::staff::staff::*} contains player's name:
            set time to day
            message "%{cw::lang::prefix}% &aChanged time to daytime." to player
            stop
        else:
            message "%{cw::lang::no-perms}%" to player           

command /night:
    trigger:
        if {cw::staff::staff::*} contains player's name:
            set time to night
            message "%{cw::lang::prefix}% &aChanged time to &7night&a." to player
            stop
        else:
            message "%{cw::lang::no-perms}%" to player               
            
command /thunder:
    trigger:
        if {cw::staff::staff::*} contains player's name:
            if weather is thunder:
                message "&cIt's already storm" to player
                stop
            else:
                set weather to thunder
                message "%{cw::lang::prefix}% &aSet weather to thunder." to player
                stop
        else:
            message "%{cw::lang::no-perms}%" to player

command /sun:
    trigger:
        if {cw::staff::staff::*} contains player's name:
            if weather is sunny:
                message "&cIt's already &esunny&c. &a:)" to player
                stop
            else:
                set weather to sun
                message "%{cw::lang::prefix}% &aSet weather to sunny" to player
                stop
        else:
            message "%{cw::lang::no-perms}%" to player

command /rain:
    trigger:
        if {cw::staff::staff::*} contains player's name:
            if weather is rainy:
                message "&cIt already rains." to player
                stop
            else:
                set weather to rain
                message "%{cw::lang::prefix}% &aSet weather to rainy." to player
                stop
        else:
            message "%{cw::lang::no-perms}%" to player
		
command /freeze <player> <timespan>:
    usage: /freeze <player> <time>. Example: /freeze PlayerName 20 seconds
    trigger:
        if {cw::staff::staff::*} contains player's name:
            if {cw::staff::staff::*} doesn't contain arg 1:
                set argument 1's gamemode to adventure
                apply slowness 100 to argument 1 for argument 2
                apply mining fatigue 100 to argument 1 for argument 2
                apply jump boost 200 to argument 1 for argument 2
                apply resistance 255 to argument 1 for argument 2
                stop
            else:
                message "%{cw::lang::staff-exempt}%" to player
        else:
            message "%{cw::lang::no-perms}%" to player
command /unfreeze <player> :
    trigger:
        if {cw::staff::staff::*} contains player's name:
            remove slowness from argument
            remove mining fatigue from argument
            remove jump boost from argument
            remove resistance from argument
            stop           
        else:
            message "%{cw::lang::no-perms}%" to player
            
command /delspawn:
    trigger:
        if {cw::staff::staff::*} contains player's name:
            delete {spawn}
            message "%{cw::lang::prefix}% &aYou deleted the server spawn!"
            stop
        else:
            message "%{cw::lang::no-perms}%" to player
        stop

# ================================================================
# Config Wizard:
# ================================================================
        
command /cwedit [<text>] [<text>] [<text>]:
    usage: /cwedit <category> <option> <new value>
    aliases: /edit
    trigger:
        if {cw::staff::staff+::*} contains player's name:
            if arg 1 is "lang":
                if arg 2 is "prefix":
                    set {cw::lang::prefix} to arg 3
                    message "&aSet the CustomWorldMod prefix to &r%arg 3%&a" to player
                    stop
                if arg 2 is "no-perms":
                    set {cw::lang::no-perms} to arg 3
                    message "%{cw::lang::prefix}% &aSet the no permission message to &r%arg 3%" to player
                    stop
                if arg 2 is "staff-exempt":
                    set {cw::lang::staff-exempt} to arg 3
                    message "%{cw::lang::prefix}% &aSet staff exempt message to &r%arg 3%" to player
                    stop
                if arg 2 is "blocked-blocks":
                    set {blocked::blocks} to arg 3
                    message "%{cw::lang::prefix}% &aSet blocked blocks to &r%arg 3%" to player
                    stop
                if arg 2 is "no-spawn-set":
                    set {cw::lang::no-spawn-set} to arg 3
                    message "%{cw::lang::prefix}% &aSet no-spawn-set to &r%arg 3%" to player
                    stop
                if arg 2 is "to-spawn":
                    set {cw::lang::to-spawn} to arg 3
                    message "%{cw::lang::prefix}% &aSet to-spawn to &r%arg 3%" to player
                    stop
                if arg 2 is "muted":
                    set {cw::lang::ur-muted-lol} to arg 3
                    message "%{cw::lang::prefix}% &aSet &e%arg 2% &ato &e%arg 3%&a." to player
                    stop
                if arg 2 is "only-staff":
                    set {cw::lang::only-staff} to arg 3
                    message "%{cw::lang::prefix}% &aSet &e%arg 2% &ato &e%arg 3%&a." to player
                    stop
                if arg 2 is "specify-player":
                    set {cw::lang::specify-player} to arg 3
                    message "%{cw::lang::prefix}% &aSet &e%arg 2% &ato &e%arg 3%&a." to player
                    stop
                else:
                    message "&cThat's not valid message." to player
                    stop
            if arg 1 is "hooks":
                if arg 2 is "coreprotect" or "co":
                    if arg 3 is "true" or "false":
                        set {cw.hooks.coreprotect} to arg 3
                        message "&aSet option &e%arg 2% &cto &e%arg 3%&c." to player
                        stop
                    else:
                        message "&cThis has to be &etrue &cor &efalse &cvalue." to player
                if arg 2 is "fawe" or "fastasyncworldedit":
                    if arg 3 is "true" or "false":
                        set {cw.hooks.fawe} to arg 3
                        message "&aSet option &e%arg 2% &cto &e%arg 3%&c." to player
                        stop
                    else:
                        message "&cThis has to be &etrue &cor &efalse &cvalue." to player
                else:
                    message "&cThat's not valid hook." to player
            if arg 1 is "config":
                if arg 2 is "explosions" or "explosions-enabled":
                    if arg 3 is "true" or "false":
                        set {cw.config.explosions} to arg 3
                        message "%{cw::lang::prefix}% &aSet &e%arg 2% &ato &e%arg 3%&a." to player
                        stop
                    else:
                        message "&cThis has to be &etrue &cor &efalse &cvalue." to player
                        stop
                if arg 2 is "blocked-blocks" or "blockedblocks":
                    if arg 3 is set:
                        add arg 3 to {blockedblocks::*}
                        message "&cAdded &e%arg 3% &cto blocked blocks." to player
                        stop
                    else:
                        message "&cSpecify argument." to player
                else:
                    message "&cThat's not valid config option." to player
            else:
                message "&cThat's not valid category." to player
                stop
        else:
            message "%{cw::lang::no-perms}% &cOnly Staff+ can edit in-game messages." to player
            stop
            
command /setrank <player> <text>:
    executable by: console
    trigger:
        if arg 1 is set:
            if arg 2 is set:
                if arg 2 is "OP" or "default": 
                    remove arg 1 from {cw::staff::staff::*}
                    remove arg 1 from {cw::staff::staff+::*}
                    broadcast "&eConsole &c- Removing &e%arg 1% &cfrom the staff list."
                    stop
                if arg 2 is "staff+" or "staff-plus":
                    if {cw::staff::staff+::*} contains player's name:
                        message "&cPlayer is already in staff list." to console
                        stop
                    else:
                        broadcast "&eConsole &c- Adding &e%arg 1% &cto the Staff+ list."
                        add arg 1 to {cw::staff::staff+::*}
                        stop
                if arg 2 is "staff":
                    if {cw::staff::staff::*} contains player's name:
                        message "&cPlayer is already in staff list." to console
                        stop
                    else:
                        broadcast "&eConsole &c- Adding &e%arg 1% &cto the Staff list."
                        add arg 1 to {cw::staff::staff::*}
                        stop
                        
command /admintools [<text>] [<text>]:
    aliases: /at, /admin, /myadmin
    executable by: players
    trigger:
        if {cw::staff::staff::*} contains player's name:
            if arg 1 is "loginmsg" or "joinmsg" or "setlogin" or "hi" or "connectmsg":
                if arg 2 is set:
                    set {cw::loginmsg::%player%} to arg 2
                    broadcast "&e%player% &c- Setting personal join message."
                    message "&aYour join message will now look like:" to player
                    message "&e%player's name% &r%{cw::loginmsg::%player%}%" to player
                    stop
                else:
                    message "&cPlease, specify arguments." to player
                    stop
            if arg 1 is "leavemsg" or "disconnectmsg" or "byemsg" or "setleave" or "setleavemsg":
                if arg 2 is set:
                    set {cw::leavemsg::%player%} to arg 2
                    broadcast "&e%player% &c- Setting personal leave message."
                    message "&aYour leave message will now look like:" to player
                    message "&e%player's name% &r%{cw::leavemsg::%player%}%" to player
                    stop
                else:
                    message "&cPlease, specify arguments." to player
                    stop
            else:
                message "&cThat's not valid option." to player
        else:
            message "%{cw::lang::no-perms}%" to player
                       
# ================================================================
# Essentials (Kinda):
# ================================================================

#In progress, you can see some things progress above.

            
#(c) 2018 | CustomWorld (CustomWorldYT) All rights reserved. No parts of this code may be redistributed or modified without author's permissions.