From 48e4fa637efd2179f621bf72a19c910fdaf1861d Mon Sep 17 00:00:00 2001 From: Aaron Date: Fri, 16 Jun 2023 10:25:01 +0200 Subject: [PATCH] expose PermissionChecker and use this --- .../api/permission/PermissionSubject.java | 10 +++++----- .../proxy/connection/client/ConnectedPlayer.java | 4 ++-- .../velocitypowered/proxy/console/VelocityConsole.java | 4 ++-- .../proxy/command/MockCommandSource.java | 5 +++-- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/api/src/main/java/com/velocitypowered/api/permission/PermissionSubject.java b/api/src/main/java/com/velocitypowered/api/permission/PermissionSubject.java index 3907c2b3e..de3e96b55 100644 --- a/api/src/main/java/com/velocitypowered/api/permission/PermissionSubject.java +++ b/api/src/main/java/com/velocitypowered/api/permission/PermissionSubject.java @@ -22,7 +22,7 @@ public interface PermissionSubject { * @return whether or not the subject has the permission */ default boolean hasPermission(String permission) { - return getPermissionValue(permission).toBooleanOrElse(false); + return this.getPermissionChecker().test(permission); } /** @@ -31,14 +31,14 @@ public interface PermissionSubject { * @param permission the permission * @return the value the permission is set to */ - TriState getPermissionValue(String permission); + default TriState getPermissionValue(String permission) { + return this.getPermissionChecker().value(permission); + } /** * Gets the permission checker for the subject. * * @return subject's permission checker */ - default PermissionChecker getPermissionChecker() { - return this::getPermissionValue; - } + PermissionChecker getPermissionChecker(); } diff --git a/proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java b/proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java index 64edce738..72900fc3f 100644 --- a/proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java +++ b/proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java @@ -908,8 +908,8 @@ public class ConnectedPlayer implements MinecraftConnectionAssociation, Player, } @Override - public TriState getPermissionValue(String permission) { - return permissionChecker.value(permission); + public PermissionChecker getPermissionChecker() { + return this.permissionChecker; } @Override diff --git a/proxy/src/main/java/com/velocitypowered/proxy/console/VelocityConsole.java b/proxy/src/main/java/com/velocitypowered/proxy/console/VelocityConsole.java index 6450d403c..0dd57c9be 100644 --- a/proxy/src/main/java/com/velocitypowered/proxy/console/VelocityConsole.java +++ b/proxy/src/main/java/com/velocitypowered/proxy/console/VelocityConsole.java @@ -75,8 +75,8 @@ public final class VelocityConsole extends SimpleTerminalConsole implements Cons } @Override - public @NonNull TriState getPermissionValue(@NonNull String permission) { - return this.permissionChecker.value(permission); + public PermissionChecker getPermissionChecker() { + return this.permissionChecker; } /** diff --git a/proxy/src/test/java/com/velocitypowered/proxy/command/MockCommandSource.java b/proxy/src/test/java/com/velocitypowered/proxy/command/MockCommandSource.java index 192c85ea8..b1503a5e5 100644 --- a/proxy/src/test/java/com/velocitypowered/proxy/command/MockCommandSource.java +++ b/proxy/src/test/java/com/velocitypowered/proxy/command/MockCommandSource.java @@ -18,6 +18,7 @@ package com.velocitypowered.proxy.command; import com.velocitypowered.api.command.CommandSource; +import net.kyori.adventure.permission.PermissionChecker; import net.kyori.adventure.util.TriState; /** @@ -28,7 +29,7 @@ public class MockCommandSource implements CommandSource { public static final CommandSource INSTANCE = new MockCommandSource(); @Override - public TriState getPermissionValue(final String permission) { - return TriState.NOT_SET; + public PermissionChecker getPermissionChecker() { + return PermissionChecker.always(TriState.NOT_SET); } }