Return more detailed information about exactly how a permission check result was determined

This commit is contained in:
Luck
2019-01-31 00:45:56 +00:00
Unverified
parent 83db00aef8
commit f6c0794691
30 changed files with 257 additions and 131 deletions
@@ -32,13 +32,12 @@ import com.velocitypowered.api.permission.PermissionFunction;
import com.velocitypowered.api.permission.PermissionProvider;
import com.velocitypowered.api.permission.PermissionSubject;
import com.velocitypowered.api.proxy.Player;
import me.lucko.luckperms.api.Tristate;
import me.lucko.luckperms.api.context.ContextSet;
import me.lucko.luckperms.common.calculator.result.TristateResult;
import me.lucko.luckperms.common.verbose.event.PermissionCheckEvent;
import me.lucko.luckperms.velocity.LPVelocityPlugin;
import me.lucko.luckperms.velocity.service.CompatibilityUtil;
import org.checkerframework.checker.nullness.qual.NonNull;
public class MonitoringPermissionCheckListener {
@@ -89,7 +88,7 @@ public class MonitoringPermissionCheckListener {
Tristate result = CompatibilityUtil.convertTristate(setting);
String name = "internal/" + this.name;
MonitoringPermissionCheckListener.this.plugin.getVerboseHandler().offerPermissionCheckEvent(PermissionCheckEvent.Origin.PLATFORM_LOOKUP_CHECK, name, ContextSet.empty(), permission, result);
MonitoringPermissionCheckListener.this.plugin.getVerboseHandler().offerPermissionCheckEvent(PermissionCheckEvent.Origin.PLATFORM_LOOKUP_CHECK, name, ContextSet.empty(), permission, TristateResult.of(result));
MonitoringPermissionCheckListener.this.plugin.getPermissionRegistry().offer(permission);
return setting;
@@ -31,11 +31,9 @@ import com.velocitypowered.api.permission.PermissionProvider;
import com.velocitypowered.api.permission.PermissionSubject;
import com.velocitypowered.api.permission.Tristate;
import com.velocitypowered.api.proxy.Player;
import me.lucko.luckperms.common.context.ContextsSupplier;
import me.lucko.luckperms.common.model.User;
import me.lucko.luckperms.common.verbose.event.PermissionCheckEvent;
import org.checkerframework.checker.nullness.qual.NonNull;
public class PlayerPermissionProvider implements PermissionProvider, PermissionFunction {
@@ -57,6 +55,6 @@ public class PlayerPermissionProvider implements PermissionProvider, PermissionF
@Override
public @NonNull Tristate getPermissionValue(@NonNull String permission) {
return CompatibilityUtil.convertTristate(this.user.getCachedData().getPermissionData(this.contextsSupplier.getContexts()).getPermissionValue(permission, PermissionCheckEvent.Origin.PLATFORM_PERMISSION_CHECK));
return CompatibilityUtil.convertTristate(this.user.getCachedData().getPermissionData(this.contextsSupplier.getContexts()).getPermissionValue(permission, PermissionCheckEvent.Origin.PLATFORM_PERMISSION_CHECK).result());
}
}