@Override
	public void execute(CommandSender sender, String[] arg1) {
		if (!CommandUtil.hasPermission(sender, PERMISSION_NODES)) {
			sender.sendMessage(plugin.NO_PERMISSION);
			return;
		}

		if (arg1.length < 1) {
			sender.sendMessage(ChatColor.RED + "/" + plugin.kick + " (PlayerName)");
			return;
		}

		String name = arg1[0];

		ProxiedPlayer player = plugin.getUtilities().getClosestPlayer(name);
		String kmessage = plugin.DEFAULT_KICK_PLAYER;
		kmessage = kmessage.replace("%sender", sender.getName());

		if (player != null) {
			if (arg1.length > 1) {
				int count = 0;
				for (String data : arg1) {
					if (count == 0) {
						kmessage = "";
						count++;
					} else {
						kmessage += data + " ";
					}
				}
			}
			player.disconnect(kmessage);
			
			String k2message = plugin.DEFAULT_KICK_BROADCAST;
			k2message = k2message.replace("%sender", sender.getName());
			k2message = k2message.replace("%player", player.getDisplayName());
			k2message = k2message.replace("%message", kmessage);
			plugin.getUtilities().sendBroadcast(k2message);
		} else {
			sender.sendMessage(plugin.PLAYER_NOT_ONLINE);
		}
	}