@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()); }
public static LuckPermsPermissions create(Server server, String name) { if (!server.getPluginManager().isPluginEnabled("LuckPerms")) return null; LuckPermsApi luckPerms = server.getServicesManager().load(LuckPermsApi.class); if(luckPerms == null) return null; Log.info("Using LuckPerms " + luckPerms.getPlatformInfo().getVersion() + " for access control"); return new LuckPermsPermissions(name, luckPerms); }
public HookLuckPerms(NametagHandler handler) { this.handler = handler; LuckPermsApi api = LuckPerms.getApi(); EventBus eventBus = api.getEventBus(); eventBus.subscribe(UserDataRecalculateEvent.class, this::onUserDataRecalculateEvent); }
@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; }