diff --git a/common/src/main/java/me/lucko/luckperms/common/core/model/PermissionHolder.java b/common/src/main/java/me/lucko/luckperms/common/core/model/PermissionHolder.java index eb4611573..373e632ef 100644 --- a/common/src/main/java/me/lucko/luckperms/common/core/model/PermissionHolder.java +++ b/common/src/main/java/me/lucko/luckperms/common/core/model/PermissionHolder.java @@ -173,9 +173,7 @@ public abstract class PermissionHolder { mergedCache.invalidate(); // Invalidate inheritance caches - getAllNodesCache.invalidateAll(); - getAllNodesFilteredCache.invalidateAll(); - exportNodesCache.invalidateAll(); + invalidateInheritanceCaches(); // Get previous references Set refs = plugin.getCachedStateManager().getInheritances(toReference()); @@ -190,6 +188,13 @@ public abstract class PermissionHolder { CachedStateManager.invalidateInheritances(plugin, refs); } + public void invalidateInheritanceCaches() { + getAllNodesCache.invalidateAll(); + getAllNodesFilteredCache.invalidateAll(); + exportNodesCache.invalidateAll(); + declareState(); + } + private ImmutableSortedSet cacheApply() { TreeSet combined = new TreeSet<>(PriorityComparator.reverse()); Set enduring = getNodes();