public boolean isAdminPlayer(Player p) {
		parent.log.debug("Checking if " + p.getName() + " is a CB admin");
		if (parent.getConfig().getBool(Option.ServerOpIsAdmin) && p.isOp()) {
			parent.log.debug(p.getName() + " is a server operator, and serverOpIsAdmin is set");
			return true;
		}
		
		if (checkNijikokunPermissions(p, "controllerblock.admin")) {
			parent.log.debug("Nijikokun Permissions 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;
	}