@Override
	public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args) {
		if (!(sender instanceof Player)) {
			sender.sendMessage(ChatColor.RED + "This command can't run in console!");
			return true;
		}
		Player player = (Player) sender;
		if (!player.hasPermission("VanishCommand.hide")) {
			player.sendMessage(ChatColor.RED + "No permission!");
			return true;
		}
		
		Player hiderPlayer = player;
		if (args.length == 1) {
			if (!player.hasPermission("VanishCommand.hide.others")) {
				player.sendMessage(ChatColor.RED + "No permission!");
				return true;
			}
			hiderPlayer = Bukkit.getPlayer(args[0]);
			if (hiderPlayer == null) {
				player.sendMessage(ChatColor.RED + "The Player " + ChatColor.GRAY + args[0] + ChatColor.RED + " isn't online!");
				return true;
			}
		} else if (args.length > 1)
			return false;
		
		if (this.plugin.isHided(hiderPlayer)) {
			this.plugin.showPlayer(hiderPlayer);
			hiderPlayer.sendMessage(ChatColor.GOLD + "You are now visible!");
			if (player != hiderPlayer) player.sendMessage(ChatColor.GOLD + "The player " + ChatColor.GRAY + hiderPlayer.getName() + ChatColor.GOLD + " is now visible!");
		} else {
			this.plugin.hidePlayer(hiderPlayer);
			hiderPlayer.sendMessage(ChatColor.GOLD + "You are now vanish!");
			if (player != hiderPlayer) player.sendMessage(ChatColor.GOLD + "The player " + ChatColor.GRAY + hiderPlayer.getName() + ChatColor.GOLD + " is now vanish!");
		}
		return true;
	}