Interface CommandListener
-
- All Implemented Interfaces:
public interface CommandListener
Provides 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 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. 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. 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. -
-
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:
true
if your listener will take over execution of the command from its normal implementation,false
otherwise. 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
true
during 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
-
-
-
-