mirror of
https://github.com/PaperMC/Velocity.git
synced 2026-02-17 14:37:43 +01:00
expose PermissionChecker and use this
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user