@Override public boolean hasOfflinePermission(String player, String perm) { PermissionData user = getUser(player); if (user == null) return false; return user.getPermissionValue(name + "." + perm).asBoolean(); }
private PermissionData getUser(String username) { OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(username); UUID uuid; if(offlinePlayer != null && offlinePlayer.getUniqueId() != null) uuid = offlinePlayer.getUniqueId(); else uuid = joinFuture(luckPerms.getStorage().getUUID(username)); if(uuid == null) return null; User user = luckPerms.getUser(uuid); if(user == null) { joinFuture(luckPerms.getStorage().loadUser(uuid)); user = luckPerms.getUser(uuid); } if(user == null) return null; return user.getCachedData().getPermissionData(luckPerms.getContextManager().getStaticContexts()); }
@Override public Set<String> hasOfflinePermissions(String player, Set<String> perms) { Set<String> result = new HashSet<>(); PermissionData user = getUser(player); if(user != null) { for (String p : perms) { if(user.getPermissionValue(name + "." + p).asBoolean()) result.add(p); } } return result; }