public boolean isAdminPlayer(Player p) {
		parent.log.debug("Checking if " + p.getName() + " is a CB admin");
		if ((parent.getConfigu().getBool(Config.Option.ServerOpIsAdmin))
				&& (p.isOp())) {
			parent.log.debug(p.getName()
					+ " is a server operator, and serverOpIsAdmin is set");
			return true;
		}

		if (checkPermissionsEx(p, "controllerblock.admin")) {
			parent.log.debug("PermissionsEx said " + p.getName()
					+ " has admin permissions");
			return true;
		}

		String pn = p.getName();
		Iterator<String> i = builtinAdminPlayers.iterator();
		while (i.hasNext()) {
			if (i.next().equals(pn)) {
				parent.log.debug(p.getName()
						+ " is listed in the ControllerBlock.ini as an admin");
				return true;
			}
		}
		parent.log.debug(p.getName() + " isn't an admin");
		return false;
	}