Add workaround for plugins adding/removing/modifying permission attachments via reflection (#1024)

who knows why they're doing it, it's not even beneficial for performance...
This commit is contained in:
Luck
2018-05-30 13:17:41 +01:00
Unverified
parent c66622bd09
commit 644c53a074
11 changed files with 361 additions and 43 deletions
@@ -173,6 +173,11 @@ public final class SubjectProxy implements Subject, ProxiedSubject {
return CompatibilityUtil.convertContexts(getContextsCache().getContextSet());
}
@Override
public ImmutableContextSet getActiveContextSet() {
return getContextsCache().getContextSet();
}
@Override
public boolean equals(Object o) {
return o == this || o instanceof SubjectProxy && this.ref.equals(((SubjectProxy) o).ref);
@@ -174,6 +174,11 @@ public final class SubjectProxy implements Subject, ProxiedSubject {
return CompatibilityUtil.convertContexts(getContextsCache().getContextSet());
}
@Override
public ImmutableContextSet getActiveContextSet() {
return getContextsCache().getContextSet();
}
@Override
public boolean equals(Object o) {
return o == this || o instanceof SubjectProxy && this.ref.equals(((SubjectProxy) o).ref);
@@ -25,6 +25,8 @@
package me.lucko.luckperms.sponge.service.model;
import me.lucko.luckperms.api.context.ImmutableContextSet;
import org.spongepowered.api.service.permission.Subject;
import javax.annotation.Nonnull;
@@ -37,4 +39,6 @@ public interface ProxiedSubject {
@Nonnull
LPSubjectReference asSubjectReference();
ImmutableContextSet getActiveContextSet();
}