Prototype/Shortcut: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(tech to unlock behaviour)
m (only)
Line 27: Line 27:


{{Prototype property|associated_control_input|[[Types/string|string]]|""|optional=true}}
{{Prototype property|associated_control_input|[[Types/string|string]]|""|optional=true}}
Name of a custom input or vanilla control. Used to show the keybind in the tooltip of the shortcut.
Name of a custom input or vanilla control. This is only used to show the keybind in the tooltip of the shortcut.


{{Prototype property|small_icon|[[Types/Sprite|Sprite]]|Uses [[#icon]] definition|optional=true}}
{{Prototype property|small_icon|[[Types/Sprite|Sprite]]|Uses [[#icon]] definition|optional=true}}

Revision as of 17:19, 1 December 2022

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

Template:Prototype TOC

Mandatory properties

Inherits all properties from PrototypeBase.

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

Template:Prototype property 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

Template:Prototype property 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.

Template:Prototype property 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.

Template:Prototype property Must be enabled for the Factorio API to be able to set the toggled state on the shortcut button, see LuaPlayer.set_shortcut_toggled.

Template:Prototype property Name of a custom input or vanilla control. This is only used to show the keybind in the tooltip of the shortcut.

Template:Prototype property 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.

Template:Prototype property 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.

Template:Prototype property 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.

Template:Prototype property 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"}
    }
  }