Factorio API Docs

1.1.54 <>

Class LuaCommandProcessor

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

add_command(name, help, function)

Add a custom console command.


boolean

Remove a custom console command.


:: dictionary[stringLocalisedString]
[R]

Lists the custom commands registered by scripts through LuaCommandProcessor.


:: dictionary[stringLocalisedString]
[R]

Lists the built-in commands of the core game.


:: string
[R]

This object's name.

Methods

add_command(name, help, function)

Add a custom console command.

Parameters

name
:: string

The desired name of the command (case sensitive).


help

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.

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)

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.


remove_command(name) → boolean

Remove a custom console command.

Parameters

name
:: string

The name of the command to remove (case sensitive).

Return values

:: boolean

Whether the command was successfully removed. Returns false if the command didn't exist.

Attributes

commands :: dictionary[stringLocalisedString] [Read]

Lists the custom commands registered by scripts through LuaCommandProcessor.


game_commands :: dictionary[stringLocalisedString] [Read]

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


object_name :: string [Read]

This object's name.

|<

Classes

Events

Concepts

Defines

Builtin types

>|