Prototype/Shortcut

From Official Factorio Wiki
Jump to navigation Jump to search

The prototype docs have moved to a new website with an improved format. This documentation page can now be found here: https://lua-api.factorio.com/latest/prototypes/ShortcutPrototype.html

This wiki page is no longer updated and will be removed at some point in the future, so please update your browser bookmarks or other links that sent you here. If you'd like to contribute to the new docs, you can leave your feedback on the forums.


Prototype definitions » PrototypeBase » Prototype/Shortcut


Definition for a shortcut button in the shortcut bar.
This is not a custom keybinding (keyboard shortcut), for that see Prototype/CustomInput.


Prototype/Shortcut — shortcut
action::string
icon::Sprite
associated_control_input::string (optional)
disabled_icon::Sprite (optional)
disabled_small_icon::Sprite (optional)
item_to_spawn::string (optional)
small_icon::Sprite (optional)
style::string (optional)
technology_to_unlock::string (optional)
toggleable::bool (optional)
Inherited from PrototypeBase
name::string
type::string
localised_description::LocalisedString (optional)
localised_name::LocalisedString (optional)
order::Order (optional)

Mandatory properties

Inherits all properties from PrototypeBase.

action

Type: string
One of "toggle-alt-mode", "undo", "copy", "cut", "paste", "import-string", "toggle-personal-roboport", "toggle-equipment-movement-bonus", "spawn-item" and "lua".

If this is "lua", defines.events.on_lua_shortcut is raised when the shortcut is clicked.

icon

Type: Sprite
Scales to fit a 16x16-pixel square.
Note: The scale that can be defined in the sprite may not behave as expected because the game always scales the sprite to fill the GUI slot.

Optional properties

item_to_spawn

Type: string
Name of a Prototype/Item. The item to create when clicking on a shortcut with the action set to "spawn-item". The item must have the "spawnable" flag set.

technology_to_unlock

Type: string
Name of a Prototype/Technology. The technology that must be researched before this shortcut can be used. Once a shortcut is unlocked in one save file, it is unlocked for all future save files.

toggleable

Type: bool
Default: false
Must be enabled for the Factorio API to be able to set the toggled state on the shortcut button, see LuaPlayer.set_shortcut_toggled.

associated_control_input

Type: string
Default: ""
Name of a custom input or vanilla control. This is only used to show the keybind in the tooltip of the shortcut.

small_icon

Type: Sprite
Default: Uses #icon definition
The icon used in the panel for visible shortcuts, when the shortcut is usable.
Note: The scale that can be defined in the sprite may not behave as expected because the game always scales the sprite to fill the GUI slot.

disabled_icon

Type: Sprite
Default: Uses #icon definition
The icon used when the shortcut is shown in the quickbar, and is not usable.
Note: The scale that can be defined in the sprite may not behave as expected because the game always scales the sprite to fill the GUI slot.

disabled_small_icon

Type: Sprite
Default: Uses #disabled_icon definition
The icon used in the panel for visible shortcuts, when the shortcut is not usable.
Note: The scale that can be defined in the sprite may not behave as expected because the game always scales the sprite to fill the GUI slot.

style

Type: string
Default: "default"
One of "default", "blue", "red" and "green".

Example

  {
    type = "shortcut",
    name = "give-deconstruction-planner",
    order = "b[blueprints]-g[deconstruction-planner]",
    action = "spawn-item",
    localised_name = {"shortcut.make-deconstruction-planner"},
    associated_control_input = "give-deconstruction-planner",
    technology_to_unlock = "construction-robotics",
    item_to_spawn = "deconstruction-planner",
    style = "red",
    icon =
    {
      filename = "__base__/graphics/icons/shortcut-toolbar/mip/new-deconstruction-planner-x32-white.png",
      priority = "extra-high-no-scale",
      size = 32,
      mipmap_count = 2,
      flags = {"gui-icon"}
    },
    small_icon =
    {
      filename = "__base__/graphics/icons/shortcut-toolbar/mip/new-deconstruction-planner-x24-white.png",
      priority = "extra-high-no-scale",
      size = 24,
      mipmap_count = 2,
      flags = {"gui-icon"}
    },
    disabled_small_icon =
    {
      filename = "__base__/graphics/icons/shortcut-toolbar/mip/new-deconstruction-planner-x24-white.png",
      priority = "extra-high-no-scale",
      size = 24,
      mipmap_count = 2,
      flags = {"gui-icon"}
    }
  }