Class PermissionOrArgument<T>
java.lang.Object
org.core.command.argument.arguments.operation.permission.PermissionOrArgument<T>
- Type Parameters:
T
- The returning class type
- All Implemented Interfaces:
CommandArgument<T>
,ParseCommandArgument<T>
,SuggestCommandArgument<T>
Allows to provide a better argument to the source if they have the provided permission
-
Constructor Summary
ConstructorDescriptionPermissionOrArgument(String id, Predicate<? super CommandSource> permission, ParseCommandArgument<T> with, ParseCommandArgument<T> or)
-
Method Summary
Modifier and TypeMethodDescriptiongetId()
Gets the ID of the command argument.parse(CommandContext context, CommandArgumentContext<T> argument)
suggest(CommandContext context, CommandArgumentContext<T> argument)
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.core.command.argument.CommandArgument
getUsage
Methods inherited from interface org.core.command.argument.SuggestCommandArgument
errorMessage
-
Constructor Details
-
PermissionOrArgument
public PermissionOrArgument(String id, Predicate<? super CommandSource> permission, ParseCommandArgument<T> with, ParseCommandArgument<T> or)- Parameters:
id
- The id of the command argumentpermission
- the check for if the provided command source has permission. If needed this can be checked for other boolean values such as if a player is part of a townwith
- The command argument to use if the user has permissionor
- The command argument to use if the user doesn't have permission
-
-
Method Details
-
getId
Description copied from interface:CommandArgument
Gets the ID of the command argument. A command argument id needs to be unique within the command, the ID is what separates the arguments. There isn't a standard message structure, however by default the id will be what shows in the usage- Specified by:
getId
in interfaceCommandArgument<T>
- Returns:
- a string Id
-
parse
public CommandArgumentResult<T> parse(CommandContext context, CommandArgumentContext<T> argument) throws IOException- Specified by:
parse
in interfaceParseCommandArgument<T>
- Throws:
IOException
-
suggest
public Collection<String> suggest(CommandContext context, CommandArgumentContext<T> argument) throws NotEnoughArguments- Specified by:
suggest
in interfaceSuggestCommandArgument<T>
- Throws:
NotEnoughArguments
-