bukkit: Update PEX permission provider.

This commit is contained in:
bloodshot 2019-12-23 09:16:17 -05:00
parent 57357bf4d8
commit 53ad9e1f84
4 changed files with 19 additions and 9 deletions

View File

@ -43,6 +43,11 @@ public boolean matches(@NotNull ContextValue<T> contextValue, T t) {
return contextValue.getParsedValue(this).equals(t); return contextValue.getParsedValue(this).equals(t);
} }
@Override
public boolean matches(T t, T t2) {
return t.getId().equalsIgnoreCase(t2.getId());
}
@NotNull @NotNull
@Override @Override
public String serialize(T t) { public String serialize(T t) {

View File

@ -5,14 +5,9 @@
import ca.stellardrift.permissionsex.subject.CalculatedSubject; import ca.stellardrift.permissionsex.subject.CalculatedSubject;
import ca.stellardrift.permissionsex.util.Util; import ca.stellardrift.permissionsex.util.Util;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import com.griefdefender.GDPlayerData;
import com.griefdefender.GriefDefenderPlugin;
import com.griefdefender.api.GriefDefender; import com.griefdefender.api.GriefDefender;
import com.griefdefender.api.claim.Claim; import com.griefdefender.api.claim.Claim;
import com.griefdefender.api.permission.ContextKeys; import com.griefdefender.api.permission.ContextKeys;
import com.griefdefender.claim.GDClaim;
import kotlin.Unit; import kotlin.Unit;
import kotlin.jvm.functions.Function1; import kotlin.jvm.functions.Function1;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@ -56,6 +51,11 @@ public boolean matches(@NotNull ContextValue<UUID> contextValue, UUID claim) {
return contextValue.getParsedValue(this).equals(claim); return contextValue.getParsedValue(this).equals(claim);
} }
@Override
public boolean matches(UUID uuid, UUID uuid2) {
return uuid.equals(uuid2);
}
@Override @Override
@NotNull @NotNull
public Set<UUID> suggestValues(@NotNull CalculatedSubject subj) { public Set<UUID> suggestValues(@NotNull CalculatedSubject subj) {

View File

@ -43,6 +43,11 @@ public boolean matches(@NotNull ContextValue<CatalogType> contextValue, CatalogT
return contextValue.getParsedValue(this).equals(t); return contextValue.getParsedValue(this).equals(t);
} }
@Override
public boolean matches(CatalogType t, CatalogType t2) {
return t.getId().equalsIgnoreCase(t2.getId());
}
@NotNull @NotNull
@Override @Override
public String serialize(CatalogType t) { public String serialize(CatalogType t) {

View File

@ -41,7 +41,6 @@
import net.kyori.text.event.HoverEvent; import net.kyori.text.event.HoverEvent;
import net.kyori.text.format.TextColor; import net.kyori.text.format.TextColor;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin; import org.bukkit.plugin.Plugin;
import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.nullness.qual.Nullable;
@ -67,9 +66,9 @@ public class PermissionsExProvider implements PermissionProvider {
private static final ContextDefinition<CatalogType> CTX_STATE = new MultiCatalogTypeContextDefinition(ContextKeys.STATE); private static final ContextDefinition<CatalogType> CTX_STATE = new MultiCatalogTypeContextDefinition(ContextKeys.STATE);
private static final ContextDefinition<CatalogType> CTX_TARGET = new MultiCatalogTypeContextDefinition(ContextKeys.TARGET); private static final ContextDefinition<CatalogType> CTX_TARGET = new MultiCatalogTypeContextDefinition(ContextKeys.TARGET);
private final PermissionsEx pex; private final PermissionsEx<?> pex;
public PermissionsExProvider(PermissionsEx engine) { public PermissionsExProvider(PermissionsEx<?> engine) {
this.pex = engine; this.pex = engine;
engine.registerContextDefinition(CTX_CLAIM); engine.registerContextDefinition(CTX_CLAIM);
engine.registerContextDefinition(CTX_CLAIM_DEFAULT); engine.registerContextDefinition(CTX_CLAIM_DEFAULT);
@ -422,7 +421,8 @@ public void setTransientPermission(GDPermissionHolder holder, String permission,
@Override @Override
public void refreshCachedData(GDPermissionHolder holder) { public void refreshCachedData(GDPermissionHolder holder) {
holderToPEXSubject(holder).accept(null); holderToPEXSubject(holder).data().getCache().invalidate(holder.getIdentifier());
holderToPEXSubject(holder).transientData().getCache().invalidate(holder.getIdentifier());
} }
} }