From c59f2ab37aa0267252b676bfe1fbe64bed8cf9f7 Mon Sep 17 00:00:00 2001 From: Luck Date: Mon, 27 Aug 2018 22:06:49 +0100 Subject: [PATCH] Don't call NodeAddEvent when adding the default group (#1177) --- .../common/managers/user/AbstractUserManager.java | 2 +- .../me/lucko/luckperms/common/model/PermissionHolder.java | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/me/lucko/luckperms/common/managers/user/AbstractUserManager.java b/common/src/main/java/me/lucko/luckperms/common/managers/user/AbstractUserManager.java index 75ef8ff45..566afd819 100644 --- a/common/src/main/java/me/lucko/luckperms/common/managers/user/AbstractUserManager.java +++ b/common/src/main/java/me/lucko/luckperms/common/managers/user/AbstractUserManager.java @@ -124,7 +124,7 @@ public abstract class AbstractUserManager extends AbstractManage if (!hasGroup) { user.getPrimaryGroup().setStoredValue(NodeFactory.DEFAULT_GROUP_NAME); - user.setPermission(NodeFactory.buildGroupNode(NodeFactory.DEFAULT_GROUP_NAME).build()); + user.setPermission(NodeFactory.buildGroupNode(NodeFactory.DEFAULT_GROUP_NAME).build(), false); work = true; } diff --git a/common/src/main/java/me/lucko/luckperms/common/model/PermissionHolder.java b/common/src/main/java/me/lucko/luckperms/common/model/PermissionHolder.java index 84ef2490b..c25775243 100644 --- a/common/src/main/java/me/lucko/luckperms/common/model/PermissionHolder.java +++ b/common/src/main/java/me/lucko/luckperms/common/model/PermissionHolder.java @@ -536,6 +536,10 @@ public abstract class PermissionHolder { * @param node the node to set */ public DataMutateResult setPermission(Node node) { + return setPermission(node, true); + } + + public DataMutateResult setPermission(Node node, boolean callEvent) { if (hasPermission(NodeMapType.ENDURING, node, StandardNodeEquality.IGNORE_EXPIRY_TIME_AND_VALUE) != Tristate.UNDEFINED) { return DataMutateResult.ALREADY_HAS; } @@ -545,7 +549,9 @@ public abstract class PermissionHolder { invalidateCache(); ImmutableCollection after = enduringData().immutable().values(); - this.plugin.getEventFactory().handleNodeAdd(node, this, before, after); + if (callEvent) { + this.plugin.getEventFactory().handleNodeAdd(node, this, before, after); + } return DataMutateResult.SUCCESS; }