From d626c08b4ca8401fe060dd75dfc80f83f41d4e3e Mon Sep 17 00:00:00 2001 From: Luck Date: Mon, 3 Oct 2016 16:45:52 +0100 Subject: [PATCH] Small fix for #getAllWithPermission --- .../me/lucko/luckperms/api/sponge/LuckPermsSubject.java | 6 +++++- .../luckperms/api/sponge/collections/GroupCollection.java | 2 +- .../luckperms/api/sponge/collections/UserCollection.java | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/sponge/src/main/java/me/lucko/luckperms/api/sponge/LuckPermsSubject.java b/sponge/src/main/java/me/lucko/luckperms/api/sponge/LuckPermsSubject.java index 58097b1b2..459839352 100644 --- a/sponge/src/main/java/me/lucko/luckperms/api/sponge/LuckPermsSubject.java +++ b/sponge/src/main/java/me/lucko/luckperms/api/sponge/LuckPermsSubject.java @@ -45,7 +45,7 @@ import static me.lucko.luckperms.utils.ArgumentChecker.unescapeCharacters; @EqualsAndHashCode(of = {"holder"}) public class LuckPermsSubject implements Subject { - public static Subject wrapHolder(PermissionHolder holder, LuckPermsService service) { + public static LuckPermsSubject wrapHolder(PermissionHolder holder, LuckPermsService service) { return new LuckPermsSubject(holder, service); } @@ -104,6 +104,10 @@ public class LuckPermsSubject implements Subject { return transientData; } + public boolean isPermissionSet(@NonNull Set contexts, @NonNull String node) { + return getPermissionValue(contexts, node) != Tristate.UNDEFINED; + } + @Override public boolean hasPermission(@NonNull Set contexts, @NonNull String node) { return getPermissionValue(contexts, node).asBoolean(); diff --git a/sponge/src/main/java/me/lucko/luckperms/api/sponge/collections/GroupCollection.java b/sponge/src/main/java/me/lucko/luckperms/api/sponge/collections/GroupCollection.java index daba3cc66..2156e3ee6 100644 --- a/sponge/src/main/java/me/lucko/luckperms/api/sponge/collections/GroupCollection.java +++ b/sponge/src/main/java/me/lucko/luckperms/api/sponge/collections/GroupCollection.java @@ -83,7 +83,7 @@ public class GroupCollection implements SubjectCollection { public Map getAllWithPermission(@NonNull Set contexts, @NonNull String node) { return manager.getAll().values().stream() .map(u -> LuckPermsSubject.wrapHolder(u, service)) - .filter(sub -> sub.hasPermission(contexts, node)) + .filter(sub -> sub.isPermissionSet(contexts, node)) .collect(Collectors.toMap(sub -> sub, sub -> sub.getPermissionValue(contexts, node).asBoolean())); } diff --git a/sponge/src/main/java/me/lucko/luckperms/api/sponge/collections/UserCollection.java b/sponge/src/main/java/me/lucko/luckperms/api/sponge/collections/UserCollection.java index 8211b5c1d..8fa442487 100644 --- a/sponge/src/main/java/me/lucko/luckperms/api/sponge/collections/UserCollection.java +++ b/sponge/src/main/java/me/lucko/luckperms/api/sponge/collections/UserCollection.java @@ -129,7 +129,7 @@ public class UserCollection implements SubjectCollection { @Override public Map getAllWithPermission(@NonNull Set contexts, @NonNull String node) { return users.values().stream() - .filter(sub -> sub.hasPermission(contexts, node)) + .filter(sub -> sub.isPermissionSet(contexts, node)) .collect(Collectors.toMap(sub -> sub, sub -> sub.getPermissionValue(contexts, node).asBoolean())); }