Interface CommandSourceStack
The command source type for Brigadier commands registered using Paper API.
While the general use case for CommandSourceStack is similar to that of CommandSender, it provides access to
important additional context for the command execution.
Specifically, commands such as /execute may alter the location or executor of the source stack before
passing it to another command.
The CommandSender returned by getSender() may be a "no-op"
instance of CommandSender in cases where the server either doesn't
exist yet, or no specific sender is available. Methods on such a CommandSender
will either have no effect or throw an UnsupportedOperationException.
-
Method Summary
Modifier and TypeMethodDescriptionGets the entity that executes this command.Gets the location that this command is being executed at.Gets the command sender that executed this command.withExecutor(Entity executor) Creates a new CommandSourceStack object with a different executor for redirecting commands to other nodes.withLocation(Location location) Creates a new CommandSourceStack object with a different location for redirecting commands to other nodes.
-
Method Details
-
getLocation
Location getLocation()Gets the location that this command is being executed at.- Returns:
- a cloned location instance.
-
getSender
CommandSender getSender()Gets the command sender that executed this command. The sender of a command source stack is the one that initiated/triggered the execution of a command. It differs togetExecutor()as the executor can be changed by a command, e.g. /execute.- Returns:
- the command sender instance
-
getExecutor
Gets the entity that executes this command. May not always begetSender()as the executor of a command can be changed to a different entity than the one that triggered the command.- Returns:
- entity that executes this command
-
withLocation
Creates a new CommandSourceStack object with a different location for redirecting commands to other nodes.- Parameters:
location- The location to create a new CommandSourceStack object with- Returns:
- The newly created CommandSourceStack
- See Also:
-
withExecutor
Creates a new CommandSourceStack object with a different executor for redirecting commands to other nodes.- Parameters:
executor- The executing entity to create a new CommandSourceStack object with- Returns:
- The newly created CommandSourceStack
- See Also:
-