LuaCommandProcessor

Allows for the registration of custom console commands. Similarly to event subscriptions, these don't persist through a save-and-load cycle.

class LuaCommandProcessor - sort
add_command(name, help, function) Add a custom console command.
remove_command(name) → boolean Remove a custom console command.
commands :: dictionary[stringLocalisedString] [R] Lists the custom commands registered by scripts through LuaCommandProcessor.
game_commands :: dictionary[stringLocalisedString] [R] Lists the built-in commands of the core game.
object_name :: string [R] This object's name.
add_command(name, help, function)

Add a custom console command.

Parameters
name :: string: The desired name of the command (case sensitive).
help :: LocalisedString: The localised help message. It will be shown to players using the /help command.
function :: function(CustomCommandData): The function that will be called when this command is invoked.
Note: Trying to add a command with the name of a game command or the name of a custom command that is already in use will result in an error.
Example
This will register a custom event called print_tick that prints the current tick to either the player issuing the command or to everyone on the server, depending on the command parameter. It shows the usage of the table that gets passed to any function handling a custom command. This specific example makes use of the tick and the optional player_index and parameter fields. The user is supposed to either call it without any parameter ("/print_tick") or with the "me" parameter ("/print_tick me").
commands.add_command("print_tick", nil, function(command)
  if command.player_index ~= nil and command.parameter == "me" then
    game.get_player(command.player_index).print(command.tick)
  else
    game.print(command.tick)
  end
end)
remove_command(name) → boolean

Remove a custom console command.

Parameters
name :: string: The name of the command to remove (case sensitive).
Return value
Whether the command was successfully removed. Returns false if the command didn't exist.
commands :: dictionary[stringLocalisedString] [Read-only]

Lists the custom commands registered by scripts through LuaCommandProcessor.

game_commands :: dictionary[stringLocalisedString] [Read-only]

Lists the built-in commands of the core game. The wiki has an overview of these.

object_name :: string [Read-only]

This object's name.