Class PermissionPredicates

java.lang.Object
net.fabricmc.fabric.api.permission.v1.PermissionPredicates

public final class PermissionPredicates extends Object
Utility methods for creating permission predicates, mainly to be used for commands, but will work in any context that needs a predicate.

Example usage:

CommandRegistrationCallback.EVENT.register((dispatcher, _, _) -> {
    dispatcher.register(literal("modcommand")
    	   // By using direct Identitier
        .requires(PermissionPredicates.require(Identifier.fromNamespaceAndPath("mymod", "command/main"), true))
        .executes(ModCommands::executeMainCommand)
        .then(literal("admin")
            // By using boolean permission node
            .requires(PermissionPredicates.require(PermissionNode.of(Identifier.fromNamespaceAndPath("mymod", "command/admin")), PermissionLevel.ADMINS))
            .executes(ModCommands::executeMainCommand)
        )
});
  • Method Details

    • require

      public static <T extends PermissionContextOwner> Predicate<T> require(net.minecraft.resources.Identifier permission)
      Predicate checking if context has a permission, defaults to false.
      Type Parameters:
      T - type of the owner
      Parameters:
      permission - permission to check
      Returns:
      predicate checking context's permission
    • require

      public static <T extends PermissionContextOwner> Predicate<T> require(net.minecraft.resources.Identifier permission, boolean defaultValue)
      Predicate checking if context has a permission.
      Type Parameters:
      T - type of the owner
      Parameters:
      permission - permission to check
      defaultValue - default result of permission check
      Returns:
      predicate checking context's permission
    • require

      public static <T extends PermissionContextOwner> Predicate<T> require(net.minecraft.resources.Identifier permission, net.minecraft.server.permissions.PermissionLevel permissionLevel)
      Predicate checking if context has a permission.
      Type Parameters:
      T - type of the owner
      Parameters:
      permission - permission to check
      permissionLevel - fallback permission level check
      Returns:
      predicate checking context's permission
    • require

      public static <T extends PermissionContextOwner> Predicate<T> require(PermissionNode<Boolean> permission)
      Predicate checking if context has a permission, defaults to false.
      Type Parameters:
      T - type of the owner
      Parameters:
      permission - permission to check
      Returns:
      predicate checking context's permission
    • require

      public static <T extends PermissionContextOwner> Predicate<T> require(PermissionNode<Boolean> permission, boolean defaultValue)
      Predicate checking if context has a permission.
      Type Parameters:
      T - type of the owner
      Parameters:
      permission - permission to check
      defaultValue - default result of permission check
      Returns:
      predicate checking context's permission
    • require

      public static <T extends PermissionContextOwner> Predicate<T> require(PermissionNode<Boolean> permission, net.minecraft.server.permissions.PermissionLevel permissionLevel)
      Predicate checking if context has a permission.
      Type Parameters:
      T - type of the owner
      Parameters:
      permission - permission to check
      permissionLevel - fallback permission level check
      Returns:
      predicate checking context's permission