Interface CommandListener
-
- All Implemented Interfaces:
public interface CommandListenerProvides an interface to listen for command execution, with the option to intercept the command and execute your own code instead. Listeners are registered in
data/console/command_listeners.csv.Important performance note:CommandListeners are persistent through the entire game session, so be careful with your memory management!
- Since:
3.0
LazyWizard
-
-
Method Summary
Modifier and Type Method Description abstract booleanonPreExecute(String command, String args, BaseCommand.CommandContext context, boolean alreadyIntercepted)Called before a console command is executed, and gives the listener a chance to intercept execution and run its own code. abstract BaseCommand.CommandResultexecute(String command, String args, BaseCommand.CommandContext context)Called when your CommandListener declares that it wants to take over execution of a command. abstract voidonPostExecute(String command, String args, BaseCommand.CommandResult result, BaseCommand.CommandContext context, CommandListener interceptedBy)Called after a command is run, regardless of whether execution was intercepted by a CommandListener or not. -
-
Method Detail
-
onPreExecute
abstract boolean onPreExecute(String command, String args, BaseCommand.CommandContext context, boolean alreadyIntercepted)
Called before a console command is executed, and gives the listener a chance to intercept execution and run its own code.
- Parameters:
command- The command that is about to be run.args- The arguments passed into the command.context- The current console CommandContext.alreadyIntercepted- Whether another, higher-priority CommandListener has already declared they will intercept execution for this command.- Returns:
trueif your listener will take over execution of the command from its normal implementation,falseotherwise. Iftrue, execute will be called by the console if your listener was the highest priority listener to request execution takeover.- Since:
3.0
-
execute
abstract BaseCommand.CommandResult execute(String command, String args, BaseCommand.CommandContext context)
Called when your CommandListener declares that it wants to take over execution of a command.
This is only called if your listener returned
trueduring onPreExecute and was the highest priority listener to do so.- Parameters:
command- The command to be executed.args- The arguments passed into the command.context- The current console CommandContext.- Returns:
A CommandResult describing the result of execution.
- Since:
3.0
-
onPostExecute
abstract void onPostExecute(String command, String args, BaseCommand.CommandResult result, BaseCommand.CommandContext context, CommandListener interceptedBy)
Called after a command is run, regardless of whether execution was intercepted by a CommandListener or not.
- Parameters:
command- The command that was executed.args- The arguments passed into the command.result- The result of the command's execution.context- The current console CommandContext.interceptedBy- The CommandListener that intercepted the commands execution, if any.- Since:
3.0
-
-
-
-