diff --git a/common/src/main/java/me/lucko/luckperms/groups/Group.java b/common/src/main/java/me/lucko/luckperms/groups/Group.java index 8d15bd6e3..347a1e9ec 100644 --- a/common/src/main/java/me/lucko/luckperms/groups/Group.java +++ b/common/src/main/java/me/lucko/luckperms/groups/Group.java @@ -26,6 +26,7 @@ import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.ToString; import me.lucko.luckperms.LuckPermsPlugin; +import me.lucko.luckperms.api.Node; import me.lucko.luckperms.api.event.events.GroupAddEvent; import me.lucko.luckperms.api.implementation.internal.GroupLink; import me.lucko.luckperms.api.implementation.internal.PermissionHolderLink; @@ -321,10 +322,11 @@ public class Group extends PermissionHolder implements Identifiable { */ private List getGroups(String server, String world, boolean includeGlobal) { // Call super #getPermissions method, and just sort through those - Map perms = exportNodes(server, world, null, includeGlobal, true, null); - return perms.keySet().stream() - .filter(s -> Patterns.GROUP_MATCH.matcher(s).matches()) - .map(s -> Patterns.DOT.split(s, 2)[1]) + return getNodes().stream() + .filter(n -> n.shouldApplyOnWorld(world, includeGlobal, true)) + .filter(n -> n.shouldApplyOnServer(server, includeGlobal, true)) + .filter(Node::isGroupNode) + .map(Node::getGroupName) .collect(Collectors.toList()); } } diff --git a/common/src/main/java/me/lucko/luckperms/users/User.java b/common/src/main/java/me/lucko/luckperms/users/User.java index d7d22e3ed..1e8a0825d 100644 --- a/common/src/main/java/me/lucko/luckperms/users/User.java +++ b/common/src/main/java/me/lucko/luckperms/users/User.java @@ -329,7 +329,9 @@ public abstract class User extends PermissionHolder implements Identifiable getGroups(String server, String world, boolean includeGlobal) { // Call super #getPermissions method, and just sort through those - return getAllNodesFiltered(server, world, Collections.emptyMap(), includeGlobal, true).stream() + return getNodes().stream() + .filter(n -> n.shouldApplyOnWorld(world, includeGlobal, true)) + .filter(n -> n.shouldApplyOnServer(server, includeGlobal, true)) .filter(Node::isGroupNode) .map(Node::getGroupName) .collect(Collectors.toList());