Class HelpFilters

java.lang.Object
studio.mevera.imperat.command.tree.help.HelpFilters

public final class HelpFilters extends Object
Factory class providing common help filters based on CommandPathway.
  • Method Details

    • depth

      public static <S extends CommandSource> HelpFilter<S> depth(int minSize, int maxSize)
      Creates a filter based on pathway parameter count (depth).
      Parameters:
      minSize - minimum number of parameters (inclusive)
      maxSize - maximum number of parameters (inclusive)
    • hasPermission

      public static <S extends CommandSource> HelpFilter<S> hasPermission(S source, PermissionChecker<S> checker)
      Creates a filter that checks if a source has permission for the pathway.
      Parameters:
      source - the source to check permissions for
      checker - the permission checker
    • hasPermission

      public static <S extends CommandSource> HelpFilter<S> hasPermission(S source, CommandContext<S> context)
      Creates a filter that checks if a source has permission for the pathway.
      Parameters:
      source - the source to check permissions for
      context - the context.
    • hasPermission

      public static <S extends CommandSource> HelpFilter<S> hasPermission(S source, CommandHelp<S> help)
      Creates a filter that checks if a source has permission for the pathway.
      Parameters:
      source - the source to check permissions for
      help - the command help.
    • withPermission

      public static <S extends CommandSource> HelpFilter<S> withPermission(String permission)
      Creates a filter that only includes pathways with a specific permission.
      Parameters:
      permission - the required permission
    • noPermission

      public static <S extends CommandSource> HelpFilter<S> noPermission()
      Creates a filter that only includes pathways without any permission requirement.
    • nameMatches

      public static <S extends CommandSource> HelpFilter<S> nameMatches(String pattern)
      Creates a filter that matches the pathway's formatted usage against a regex pattern.
      Parameters:
      pattern - regex pattern to match
    • nameContains

      public static <S extends CommandSource> HelpFilter<S> nameContains(String substring)
      Creates a filter that matches pathways whose formatted usage contains a substring.
      Parameters:
      substring - the substring to search for (case-insensitive)
    • hasOptionalParam

      public static <S extends CommandSource> HelpFilter<S> hasOptionalParam()
      Creates a filter that only includes pathways containing at least one optional parameter.
    • all

      public static <S extends CommandSource> HelpFilter<S> all()
      Creates a filter that always passes (includes all pathways).
    • none

      public static <S extends CommandSource> HelpFilter<S> none()
      Creates a filter that never passes (excludes all pathways).
    • allOf

      @SafeVarargs public static <S extends CommandSource> HelpFilter<S> allOf(HelpFilter<S>... filters)
      Creates a composite filter from multiple filters (AND logic).
      Parameters:
      filters - the filters to combine
    • anyOf

      @SafeVarargs public static <S extends CommandSource> HelpFilter<S> anyOf(HelpFilter<S>... filters)
      Creates a composite filter from multiple filters (OR logic).
      Parameters:
      filters - the filters to combine
    • childrenOnly

      @NotNull public static <S extends CommandSource> @NotNull HelpFilter<S> childrenOnly()
      Creates a filter that only includes pathways with more than one parameter (i.e. not root-only).