-
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
{@code data/console/command_listeners.csv}
.Important performance note:CommandListeners are persistent through the entire game session, so be careful with your memory management!
-
-
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 itsown 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 ornot. -
-
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 itsown 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 willintercept execution for this command.
-
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
{@code true}
during 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.
-
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 ornot.
- 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.
-
-
-
-