<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.factorio.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Therenas</id>
	<title>Official Factorio Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.factorio.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Therenas"/>
	<link rel="alternate" type="text/html" href="https://wiki.factorio.com/Special:Contributions/Therenas"/>
	<updated>2026-04-23T04:26:18Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Tutorial:Mod_changelog_format&amp;diff=190520</id>
		<title>Tutorial:Mod changelog format</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Tutorial:Mod_changelog_format&amp;diff=190520"/>
		<updated>2022-12-07T14:59:38Z</updated>

		<summary type="html">&lt;p&gt;Therenas: Made some opinionated changes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}__NOTOC__&lt;br /&gt;
This is the format required to display mod changelogs in the in-game mod browsing GUI. The changelog.txt file needs to be located in the root of the mod folder (See [[Tutorial:Mod_structure#Files]]).&lt;br /&gt;
&lt;br /&gt;
The [https://mods.factorio.com/ mod portal] website does &#039;&#039;not&#039;&#039; require this changelog format, it will display the changelog.txt content as plain text.&lt;br /&gt;
&lt;br /&gt;
Parsing errors are written to the [[log file]] found in the [[user data directory]].&lt;br /&gt;
&lt;br /&gt;
It may be simpler to copy and modify the [[#Example changelog]] than to start from scratch.&lt;br /&gt;
&lt;br /&gt;
== Formatting rules ==&lt;br /&gt;
The changelog format consists of one or multiple version sections, which are read line by line. Each version section has to start with the [[#Version section start]] line. Each version section describes exactly one mod version with an arbitrary amount of categories that each may have an arbitrary amount of entries.&lt;br /&gt;
&lt;br /&gt;
Completely empty lines will be skipped by the parser, except the line after [[#Version section start]], which may not be empty.&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
* Do not use tabs.&lt;br /&gt;
* Do not leave whitespace at the end of lines (&amp;quot;trailing spaces&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
It is recommended to set up the text editor to enforce this automatically. Usage of tabs and trailing spaces is likely to result in confusing error messages.&lt;br /&gt;
&lt;br /&gt;
=== Version section start ===&lt;br /&gt;
The line must be 99 dashes exactly: &amp;lt;code&amp;gt;---------------------------------------------------------------------------------------------------&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The following line must be a [[#Version]] line. It cannot be empty.&lt;br /&gt;
=== Version ===&lt;br /&gt;
The line must start with exactly &amp;lt;code&amp;gt;Version:&amp;amp;nbsp;&amp;lt;/code&amp;gt; (note the space after the colon). The remaining part of the line will be parsed as the version the section is about.&amp;lt;br&amp;gt;&lt;br /&gt;
The version itself is formatted as &amp;lt;code&amp;gt;number.number.number&amp;lt;/code&amp;gt; (as in &amp;lt;code&amp;gt;major.minor.sub&amp;lt;/code&amp;gt;), for example &amp;lt;code&amp;gt;0.6.4&amp;lt;/code&amp;gt;. Each number can range from 0 to 65535. &amp;lt;code&amp;gt;0.0.0&amp;lt;/code&amp;gt; is not considered a valid version.&lt;br /&gt;
&lt;br /&gt;
There may not be two version sections with the same version.&amp;lt;br&amp;gt;&lt;br /&gt;
This line is mandatory.&lt;br /&gt;
&lt;br /&gt;
Example:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Version: 0.12.35&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Date ===&lt;br /&gt;
The line must start with exactly &amp;lt;code&amp;gt;Date:&amp;amp;nbsp;&amp;lt;/code&amp;gt; (note the space after the colon). The remaining part of the line will be parsed as the date the version was released. There are no restrictions for the format of the date itself.&lt;br /&gt;
&lt;br /&gt;
There may not be two date lines within the same version section.&amp;lt;br&amp;gt;&lt;br /&gt;
This line is optional.&lt;br /&gt;
&lt;br /&gt;
Example:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Date: 01. 06. 2016&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Category ===&lt;br /&gt;
The line must start with exactly two spaces. The remaining part of the line will be parsed as the category. The line must end with a colon. When displaying the changelog, this colon is removed.&lt;br /&gt;
&lt;br /&gt;
This line and the entry lines following it are optional.&lt;br /&gt;
&lt;br /&gt;
There are no restrictions for the format of the category itself.&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width: 60em;&amp;quot;&amp;gt;&lt;br /&gt;
However, some categories are recognized by the game and sorted before the &amp;quot;All&amp;quot; tab in the GUI:&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt; &lt;br /&gt;
* Major Features&lt;br /&gt;
* Features&lt;br /&gt;
* Minor Features&lt;br /&gt;
* Graphics&lt;br /&gt;
* Sounds&lt;br /&gt;
* Optimizations&lt;br /&gt;
* Balancing&lt;br /&gt;
* Combat Balancing&lt;br /&gt;
* Circuit Network&lt;br /&gt;
* Changes&lt;br /&gt;
* Bugfixes&lt;br /&gt;
* Modding&lt;br /&gt;
* Scripting&lt;br /&gt;
* Gui&lt;br /&gt;
* Control&lt;br /&gt;
* Translation&lt;br /&gt;
* Debug&lt;br /&gt;
* Ease of use&lt;br /&gt;
* Info&lt;br /&gt;
* Locale&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;Minor Features:&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Entry ===&lt;br /&gt;
&lt;br /&gt;
The line must start with exactly four spaces followed by exactly &amp;lt;code&amp;gt;- &amp;lt;/code&amp;gt;&amp;amp;nbsp;(note the space after the dash) for a single line entry. For a multiline entry, lines after the first line must start with exactly six spaces.&lt;br /&gt;
&lt;br /&gt;
If an entry is used, a previous line in the version section must be a [[#Category]] line. The entry is then associated with the category (see [[#Example changelog]]).&lt;br /&gt;
&lt;br /&gt;
Entries for the same version and the same category may not be exact duplicates.&lt;br /&gt;
&lt;br /&gt;
Example:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;- Fixed the missing title in character logistics window.&amp;lt;/code&amp;gt;&lt;br /&gt;
== Example changelog ==&lt;br /&gt;
It may be simpler to copy and modify this example than to start from scratch.&lt;br /&gt;
&amp;lt;pre&amp;gt;---------------------------------------------------------------------------------------------------&lt;br /&gt;
Version: 1.1.60&lt;br /&gt;
Date: 06. 06. 2022&lt;br /&gt;
  Features:&lt;br /&gt;
    - This is an entry in the &amp;quot;Features&amp;quot; category.&lt;br /&gt;
    - This is another entry in the &amp;quot;Features&amp;quot; category.&lt;br /&gt;
    - This general section is the 1.1.60 version section.&lt;br /&gt;
  Balancing:&lt;br /&gt;
    - This is a multiline entry in the &amp;quot;Balancing&amp;quot; category.&lt;br /&gt;
      There is some extra text here because it is needed for the example.&lt;br /&gt;
      Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.&lt;br /&gt;
  Bugfixes:&lt;br /&gt;
    - Fixed that canceling syncing mods with a save would exit the GUI.&lt;br /&gt;
    - Fixed a desync when fast-replacing burner generators.&lt;br /&gt;
---------------------------------------------------------------------------------------------------&lt;br /&gt;
Version: 1.1.59&lt;br /&gt;
Date: 06. 05. 2022&lt;br /&gt;
  Bugfixes:&lt;br /&gt;
    - This general section is the 1.1.59 version section.&lt;br /&gt;
    - This is an entry in the &amp;quot;Bugfixes&amp;quot; category.&lt;br /&gt;
    - Fixed grenade shadows.&lt;br /&gt;
---------------------------------------------------------------------------------------------------&lt;br /&gt;
Version: 0.1.0&lt;br /&gt;
Date: 24. 12. 2012&lt;br /&gt;
  Major Features:&lt;br /&gt;
    - Initial release.&lt;br /&gt;
    - This general section is the 0.1.0 version section.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://forums.factorio.com/67140 Forum thread about the changelog format]&lt;br /&gt;
* [[Tutorial:Mod structure]]&lt;/div&gt;</summary>
		<author><name>Therenas</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Prototype/SelectionTool&amp;diff=189991</id>
		<title>Prototype/SelectionTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Prototype/SelectionTool&amp;diff=189991"/>
		<updated>2022-09-20T14:32:33Z</updated>

		<summary type="html">&lt;p&gt;Therenas: Update selection_mode flags to equal runtime docs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Prototype parent|Prototype/ItemWithLabel}}&lt;br /&gt;
Used in the base game as a base for the blueprint item and the deconstruction item.&lt;br /&gt;
&lt;br /&gt;
{{Prototype TOC|selection-tool}}&lt;br /&gt;
&lt;br /&gt;
== Extensions ==&lt;br /&gt;
* [[Prototype/BlueprintItem]] &#039;&#039;&#039;blueprint&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/CopyPasteTool]] &#039;&#039;&#039;copy-paste-tool&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/DeconstructionItem]] &#039;&#039;&#039;deconstruction-item&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/UpgradeItem]] &#039;&#039;&#039;upgrade-item&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mandatory properties ==&lt;br /&gt;
This prototype inherits all the properties from [[Prototype/ItemWithLabel]].&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|selection_color|[[Types/Color|Color]]}}&lt;br /&gt;
The color of the rectangle used when standard selection is done in-game.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|alt_selection_color|[[Types/Color|Color]]}}&lt;br /&gt;
The color of the rectangle used when alt-selection is done in-game.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|selection_mode|[[Types/table|table]] of [[Types/string|string]]}}&lt;br /&gt;
A list of selection mode flags that define how the selection tool selects things in-game.&lt;br /&gt;
&lt;br /&gt;
Possible values are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Flag !! meaning&lt;br /&gt;
|-&lt;br /&gt;
| blueprint  || Selects entities and tiles as if selecting them for a blueprint.&lt;br /&gt;
|-&lt;br /&gt;
| deconstruct || Selects entities and tiles as if selecting them for deconstruction.&lt;br /&gt;
|-&lt;br /&gt;
| cancel-deconstruct || Selects entities and tiles as if selecting them for deconstruction cancellation.&lt;br /&gt;
|-&lt;br /&gt;
| items || Selects items on the ground.&lt;br /&gt;
|-&lt;br /&gt;
| trees || Selects trees.&lt;br /&gt;
|-&lt;br /&gt;
| buildable-type || Selects entities which are considered a building, plus landmines.&lt;br /&gt;
|-&lt;br /&gt;
| nothing || Selects no entities or tiles, but is useful to select an area.&lt;br /&gt;
|-&lt;br /&gt;
| items-to-place || Selects entities and tiles that can be built by an item.&lt;br /&gt;
|-&lt;br /&gt;
| any-entity || Selects all entities.&lt;br /&gt;
|-&lt;br /&gt;
| any-tile || Selecty all tiles.&lt;br /&gt;
|-&lt;br /&gt;
| same-force || Selects entities with the same force as the selecting player.&lt;br /&gt;
|-&lt;br /&gt;
| not-same-force || Selects entities with a different force as the selecting player.&lt;br /&gt;
|-&lt;br /&gt;
| friend || Selects entities from a friendly force.&lt;br /&gt;
|-&lt;br /&gt;
| enemy || Selects entities from an enemy force.&lt;br /&gt;
|-&lt;br /&gt;
| upgrade || Selects entities as if selecting them for upgrading.&lt;br /&gt;
|-&lt;br /&gt;
| cancel-upgrade || Selects entities as if selecting them for upgrade cancellation.&lt;br /&gt;
|-&lt;br /&gt;
| downgrade || Selects entities as if selecting them for downgrading.&lt;br /&gt;
|-&lt;br /&gt;
| entity-with-health || Selects entities that are an [[Prototype/EntityWithHealth]].&lt;br /&gt;
|-&lt;br /&gt;
| entity-with-force || Deprecated. Replaced by &amp;quot;is-military-target&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| is-military-target || Selects entities which are [[Prototype/EntityWithOwner#is_military_target]].&lt;br /&gt;
|-&lt;br /&gt;
| entity-with-owner || Selects entities that are an [[Prototype/EntityWithOwner]].&lt;br /&gt;
|-&lt;br /&gt;
| avoid-rolling-stock || Selects entities that are not a [[Prototype/RollingStock]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|alt_selection_mode|[[Types/table|table]] of [[Types/string|string]]}}&lt;br /&gt;
A list of selection mode flags that define how the selection tool alt-selects things in-game. Possible values are identical to normal selection_mode.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|selection_cursor_box_type|[[Types/CursorBoxType|CursorBoxType]]}}&lt;br /&gt;
The type of cursor box used to render selection of entities/tiles when standard selecting.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|alt_selection_cursor_box_type|[[Types/CursorBoxType|CursorBoxType]]}}&lt;br /&gt;
The type of cursor box used to render selection of entities/tiles when alt selecting.&lt;br /&gt;
&lt;br /&gt;
== Optional properties ==&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|reverse_selection_color|[[Types/Color|Color]]|Value of &amp;lt;code&amp;gt;selection_color&amp;lt;/code&amp;gt;|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|selection_count_button_color|[[Types/Color|Color]]|Value of &amp;lt;code&amp;gt;selection_color&amp;lt;/code&amp;gt;|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|alt_selection_count_button_color|[[Types/Color|Color]]|Value of &amp;lt;code&amp;gt;alt_selection_color&amp;lt;/code&amp;gt;|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|reverse_selection_count_button_color|[[Types/Color|Color]]|Value of &amp;lt;code&amp;gt;reverse_selection_color&amp;lt;/code&amp;gt;|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|chart_selection_color|[[Types/Color|Color]]|Value of &amp;lt;code&amp;gt;selection_color&amp;lt;/code&amp;gt;|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|chart_alt_selection_color|[[Types/Color|Color]]|Value of &amp;lt;code&amp;gt;alt_selection_color&amp;lt;/code&amp;gt;|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|chart_reverse_selection_color|[[Types/Color|Color]]|Value of &amp;lt;code&amp;gt;reverse_selection_color&amp;lt;/code&amp;gt;|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|reverse_selection_mode|[[Types/table|table]] of [[Types/string|string]]|Value of &amp;lt;code&amp;gt;selection_mode&amp;lt;/code&amp;gt;|optional=true}}&lt;br /&gt;
A list of selection mode flags that define how the selection tool reverse-selects things in-game. Possible values are identical to normal selection_mode.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|reverse_selection_cursor_box_type|[[Types/CursorBoxType|CursorBoxType]]|Value of &amp;lt;code&amp;gt;selection_cursor_box_type&amp;lt;/code&amp;gt;|optional=true}}&lt;br /&gt;
The type of cursor box used to render selection of entities/tiles when reverse-selecting.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|always_include_tiles|[[Types/bool|bool]]|false|optional=true}}&lt;br /&gt;
If tiles should be included in the selection regardless of entities also being in the selection. This is a visual only setting.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|mouse_cursor|[[Types/string|string]]|&amp;quot;selection-tool-cursor&amp;quot;|optional=true}}&lt;br /&gt;
Name of a [[Prototype/MouseCursor]].&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|entity_filters|[[Types/table|table]] of [[Types/string|string]]|optional=true}}&lt;br /&gt;
Array of [[Prototype/Entity]] names.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|alt_entity_filters|[[Types/table|table]] of [[Types/string|string]]|optional=true}}&lt;br /&gt;
Array of [[Prototype/Entity]] names.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|reverse_entity_filters|[[Types/table|table]] of [[Types/string|string]]|optional=true}}&lt;br /&gt;
Array of [[Prototype/Entity]] names.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|entity_type_filters|[[Types/table|table]] of [[Types/string|string]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|alt_entity_type_filters|[[Types/table|table]] of [[Types/string|string]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|reverse_entity_type_filters|[[Types/table|table]] of [[Types/string|string]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|tile_filters|[[Types/table|table]] of [[Types/string|string]]|optional=true}}&lt;br /&gt;
Array of [[Prototype/Tile]] names.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|alt_tile_filters|[[Types/table|table]] of [[Types/string|string]]|optional=true}}&lt;br /&gt;
Array of [[Prototype/Tile]] names.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|reverse_tile_filters|[[Types/table|table]] of [[Types/string|string]]|optional=true}}&lt;br /&gt;
Array of [[Prototype/Tile]] names.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|entity_filter_mode|[[Types/string|string]]|&amp;quot;whitelist&amp;quot;|optional=true}}&lt;br /&gt;
One of &amp;quot;whitelist&amp;quot; and &amp;quot;blacklist&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|alt_entity_filter_mode|[[Types/string|string]]|&amp;quot;whitelist&amp;quot;|optional=true}}&lt;br /&gt;
One of &amp;quot;whitelist&amp;quot; and &amp;quot;blacklist&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|reverse_entity_filter_mode|[[Types/string|string]]|&amp;quot;whitelist&amp;quot;|optional=true}}&lt;br /&gt;
One of &amp;quot;whitelist&amp;quot; and &amp;quot;blacklist&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|tile_filter_mode|[[Types/string|string]]|&amp;quot;whitelist&amp;quot;|optional=true}}&lt;br /&gt;
One of &amp;quot;whitelist&amp;quot; and &amp;quot;blacklist&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|alt_tile_filter_mode|[[Types/string|string]]|&amp;quot;whitelist&amp;quot;|optional=true}}&lt;br /&gt;
One of &amp;quot;whitelist&amp;quot; and &amp;quot;blacklist&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|reverse_tile_filter_mode|[[Types/string|string]]|&amp;quot;whitelist&amp;quot;|optional=true}}&lt;br /&gt;
One of &amp;quot;whitelist&amp;quot; and &amp;quot;blacklist&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Therenas</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Types/MapGenPreset&amp;diff=186170</id>
		<title>Types/MapGenPreset</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Types/MapGenPreset&amp;diff=186170"/>
		<updated>2021-05-17T15:09:59Z</updated>

		<summary type="html">&lt;p&gt;Therenas: Fix default_enable_all_autoplace_controls description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basics ==&lt;br /&gt;
A map gen preset. Used in [[Prototype/MapGenPresets]].&lt;br /&gt;
&lt;br /&gt;
== Mandatory properties ==&lt;br /&gt;
&lt;br /&gt;
=== order ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/Order]]&lt;br /&gt;
&lt;br /&gt;
Specifies the ordering in the [[map generator]] gui.&lt;br /&gt;
&lt;br /&gt;
== Optional properties ==&lt;br /&gt;
&lt;br /&gt;
=== default ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/bool]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: true&lt;br /&gt;
&lt;br /&gt;
Whether this is the default preset. If set to true, this preset may not have any other properties besides this and order.&lt;br /&gt;
&lt;br /&gt;
=== basic_settings ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/table]]&lt;br /&gt;
&lt;br /&gt;
This is a table with the below key/value pairs. All key/value pairs are optional. If not set they will just use the default values.&lt;br /&gt;
&lt;br /&gt;
* terrain_segmentation - [[Types/MapGenSize]]&lt;br /&gt;
:: This is the inverse of &amp;quot;water scale&amp;quot; in the map generator GUI. So a water scale that shows as 50% in the GUI is a value of &amp;lt;code&amp;gt;1/0.5 = 2&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;terrain_segmentation&amp;lt;/code&amp;gt;.&lt;br /&gt;
* water - [[Types/MapGenSize]]&lt;br /&gt;
:: Shown as water coverage in the map generator GUI.&lt;br /&gt;
* default_enable_all_autoplace_controls - [[Types/bool]] - Default: true&lt;br /&gt;
:: Whether undefined autoplace_controls should fall back to the default controls or not.&lt;br /&gt;
* autoplace_controls - [[Types/table]]&lt;br /&gt;
:: Table of [[Data.raw#autoplace-control]] name keys mapped to table values. Each table can have the following fields:&lt;br /&gt;
::* frequency - [[Types/MapGenSize]]&lt;br /&gt;
::* size - [[Types/MapGenSize]]&lt;br /&gt;
::* richness - [[Types/MapGenSize]]&lt;br /&gt;
::Example:&lt;br /&gt;
::&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;autoplace_controls =&lt;br /&gt;
  {&lt;br /&gt;
    [&amp;quot;iron-ore&amp;quot;] = { richness = 2, size = 0.5, frequency=2},&lt;br /&gt;
    [&amp;quot;enemy-base&amp;quot;] = { size = 1},&lt;br /&gt;
    [&amp;quot;trees&amp;quot;] = { richness = 4}&lt;br /&gt;
  }&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* autoplace_settings - [[Types/table]]&lt;br /&gt;
* property_expression_names - [[Types/table]]&lt;br /&gt;
:: Map of property name (e.g. &amp;quot;elevation&amp;quot;) to name of [[Prototype/NamedNoiseExpression|noise expression]] that will provide it. Entries may be omitted. A notable usage is changing autoplace behavior of an entity based on the preset, which cannot be read from a noise expression.&lt;br /&gt;
* starting_points - [[Types/table]] of [[Types/Position]]&lt;br /&gt;
:: Array of the positions of the starting areas.&lt;br /&gt;
* seed - [[Types/uint32]]&lt;br /&gt;
:: Read by the game, but not used or set in the GUI.&lt;br /&gt;
* width - [[Types/uint32]]&lt;br /&gt;
* height - [[Types/uint32]]&lt;br /&gt;
* starting_area - [[Types/MapGenSize]]&lt;br /&gt;
:: Size of the starting area. The starting area only effects enemy placement, and has no effect on resources.&lt;br /&gt;
* peaceful_mode - [[Types/bool]]&lt;br /&gt;
* cliff_settings - [https://lua-api.factorio.com/latest/Concepts.html#CliffPlacementSettings CliffPlacementSettings]&lt;br /&gt;
&lt;br /&gt;
=== advanced_settings ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/table]]&lt;br /&gt;
&lt;br /&gt;
This is a table with the below key/value pairs. All key/value pairs are optional, if not set they will just use the existing values.&lt;br /&gt;
* pollution - [[Types/table]]&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Property name !! Type !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| enabled || [[Types/bool]]&lt;br /&gt;
|-&lt;br /&gt;
| diffusion_ratio || [[Types/double]] || Must be &amp;lt;= 0.25.&lt;br /&gt;
|-&lt;br /&gt;
| ageing || [[Types/double]] || Also known as dissipation rate. Must be &amp;gt;= 0.5. &lt;br /&gt;
|-&lt;br /&gt;
| enemy_attack_pollution_consumption_modifier ||  [[Types/double]] &lt;br /&gt;
|-&lt;br /&gt;
| min_pollution_to_damage_trees || [[Types/double]]&lt;br /&gt;
|-&lt;br /&gt;
| pollution_restored_per_tree_damage || [[Types/double]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
* enemy_evolution - [[Types/table]]&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Property name !! Type&lt;br /&gt;
|- &lt;br /&gt;
| enabled || [[Types/bool]]&lt;br /&gt;
|- &lt;br /&gt;
| time_factor || [[Types/double]]&lt;br /&gt;
|- &lt;br /&gt;
| destroy_factor || [[Types/double]]&lt;br /&gt;
|- &lt;br /&gt;
| pollution_factor || [[Types/double]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
* enemy_expansion - [[Types/table]]&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Property name !! Type !! Comment&lt;br /&gt;
|-                                            &lt;br /&gt;
| enabled || [[Types/bool]]&lt;br /&gt;
|-&lt;br /&gt;
| max_expansion_distance || [[Types/double]]&lt;br /&gt;
|-&lt;br /&gt;
| settler_group_min_size || [[Types/double]]&lt;br /&gt;
|-&lt;br /&gt;
| settler_group_max_size || [[Types/double]]&lt;br /&gt;
|-&lt;br /&gt;
| min_expansion_cooldown || [[Types/double]] || In ticks.&lt;br /&gt;
|-&lt;br /&gt;
| max_expansion_cooldown || [[Types/double]] || In ticks.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* difficulty_settings - [[Types/table]]&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Property name !! Type !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| recipe_difficulty || [https://lua-api.factorio.com/latest/defines.html#defines.difficulty_settings defines.difficulty_settings.recipe_difficulty]&lt;br /&gt;
|-&lt;br /&gt;
| technology_difficulty || [https://lua-api.factorio.com/latest/defines.html#defines.difficulty_settings defines.difficulty_settings.technology_difficulty]&lt;br /&gt;
|-&lt;br /&gt;
| technology_price_multiplier || [[Types/double]]&lt;br /&gt;
|-&lt;br /&gt;
| research_queue_setting || [[Types/string]] || Either &amp;quot;after-victory&amp;quot;, &amp;quot;always&amp;quot; or &amp;quot;never&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Therenas</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Types/CursorBoxType&amp;diff=185769</id>
		<title>Types/CursorBoxType</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Types/CursorBoxType&amp;diff=185769"/>
		<updated>2021-04-27T10:25:17Z</updated>

		<summary type="html">&lt;p&gt;Therenas: Updated the colors. Changed the order to be the one in utility-sprites.lua&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A [[types/string|string]].&lt;br /&gt;
Possible values are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! String !! Description&lt;br /&gt;
|-&lt;br /&gt;
| entity  || The normal entity selection box. Yellow by default.&lt;br /&gt;
|-&lt;br /&gt;
| not-allowed || The selection box used when specifying colliding entities. Red by default.&lt;br /&gt;
|-&lt;br /&gt;
| electricity || The selection box used to specify electric poles an entity is connected to. Light blue by default.&lt;br /&gt;
|-&lt;br /&gt;
| pair || Light blue by default.&lt;br /&gt;
|-&lt;br /&gt;
| copy || The selection box used when doing entity copy-paste. Green by default.&lt;br /&gt;
|-&lt;br /&gt;
| train-visualization || White by default.&lt;br /&gt;
|-&lt;br /&gt;
| logistics || Light blue by default.&lt;br /&gt;
|-&lt;br /&gt;
| blueprint-snap-rectangle || Green by default.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Therenas</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Types/ItemPrototypeFlags&amp;diff=185691</id>
		<title>Types/ItemPrototypeFlags</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Types/ItemPrototypeFlags&amp;diff=185691"/>
		<updated>2021-04-21T20:06:54Z</updated>

		<summary type="html">&lt;p&gt;Therenas: Document primary-place-result&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A [[Types/table]] (array) of [[types/string]]. The possible strings are listed below.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;draw-logistic-overlay&amp;quot; ==&lt;br /&gt;
Whether the logistics areas of roboports should be drawn when holding this item. Used for example by the [[deconstruction planner]].&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;hidden&amp;quot; ==&lt;br /&gt;
Item will not appear in lists of all items such as those for logistics requests, filters, etc.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;always-show&amp;quot; ==&lt;br /&gt;
Always show the item in selection lists (item filter, logistic request etc.) even when locked recipe for that item is present.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;hide-from-bonus-gui&amp;quot; ==&lt;br /&gt;
Item will not appear in the bonus gui.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;hide-from-fuel-tooltip&amp;quot; ==&lt;br /&gt;
Item will not appear in the tooltips shown when hovering over a burner inventory with the fuel category the item is in.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;not-stackable&amp;quot; ==&lt;br /&gt;
The item can never be stacked.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;can-extend-inventory&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;primary-place-result&amp;quot; ==&lt;br /&gt;
Item will be preferred by construction bots when building the entity specified by the item&#039;s [[Prototype/Item#place_result|place_result]].&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;mod-openable&amp;quot; ==&lt;br /&gt;
Only works for [[Prototype/SelectionTool]] and derived classes.&amp;lt;br&amp;gt;&lt;br /&gt;
This property corresponds to the following event in the lua api: [https://lua-api.factorio.com/latest/events.html#on_mod_item_opened defines.events.on_mod_item_opened]&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;only-in-cursor&amp;quot; ==&lt;br /&gt;
Item is deleted when removed from the cursor by pressing {{keybinding|Q}} (clear cursor). Used for example by the copy paste tools.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;spawnable&amp;quot; ==&lt;br /&gt;
Item is able to be spawned by a [[Prototype/Shortcut]] or [[Prototype/CustomInput]].&lt;/div&gt;</summary>
		<author><name>Therenas</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Prototype/Item&amp;diff=185690</id>
		<title>Prototype/Item</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Prototype/Item&amp;diff=185690"/>
		<updated>2021-04-21T20:03:00Z</updated>

		<summary type="html">&lt;p&gt;Therenas: Refer to primary-place-result on place_result&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Prototype parent|PrototypeBase}}&lt;br /&gt;
Possible configuration for all items.&lt;br /&gt;
&lt;br /&gt;
{{Prototype TOC|item}}&lt;br /&gt;
&lt;br /&gt;
== Extensions ==&lt;br /&gt;
* [[Prototype/AmmoItem]] &#039;&#039;&#039;ammo&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/Capsule]] &#039;&#039;&#039;capsule&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/Gun]] &#039;&#039;&#039;gun&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/ItemWithEntityData]] &#039;&#039;&#039;item-with-entity-data&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/ItemWithLabel]] &#039;&#039;&#039;item-with-label&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/ItemWithInventory]] &#039;&#039;&#039;item-with-inventory&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/BlueprintBook]] &#039;&#039;&#039;blueprint-book&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/ItemWithTags]] &#039;&#039;&#039;item-with-tags&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/SelectionTool]] &#039;&#039;&#039;selection-tool&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/BlueprintItem]] &#039;&#039;&#039;blueprint&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/CopyPasteTool]] &#039;&#039;&#039;copy-paste-tool&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/DeconstructionItem]] &#039;&#039;&#039;deconstruction-item&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/UpgradeItem]] &#039;&#039;&#039;upgrade-item&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/Module]] &#039;&#039;&#039;module&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/RailPlanner]] &#039;&#039;&#039;rail-planner&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/SpidertronRemote]] &#039;&#039;&#039;spidertron-remote&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/Tool]] &#039;&#039;&#039;tool&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Armor]] &#039;&#039;&#039;armor&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/MiningTool]] &#039;&#039;&#039;mining-tool&#039;&#039;&#039; (for migration, cannot be used)&lt;br /&gt;
** [[Prototype/RepairTool]] &#039;&#039;&#039;repair-tool&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mandatory properties ==&lt;br /&gt;
Inherits all properties from [[PrototypeBase]].&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|icons, icon,  icon_size (IconSpecification)|[[Types/IconSpecification|IconSpecification]]}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|stack_size|[[Types/ItemCountType|ItemCountType]]}}&lt;br /&gt;
Count of items of the same name that can be stored in one inventory slot. Must be 1 when &amp;lt;code&amp;gt;stackable&amp;lt;/code&amp;gt; is false.&lt;br /&gt;
  stack_size = 64&lt;br /&gt;
&lt;br /&gt;
== Optional properties ==&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|place_result|[[Types/string|string]]|&amp;quot;&amp;quot;|optional=true}}&lt;br /&gt;
Name of [[prototype/Entity]] that can be built using this item. If this item should be the one that construction bots use to build the specified place_result, set the [[Types/ItemPrototypeFlags#&amp;quot;primary-place-result&amp;quot;|primary-place-result]] item flag.&lt;br /&gt;
&lt;br /&gt;
The localised name of the entity will be used as the in-game item name. This behavior can be overwritten by specifying &amp;lt;code&amp;gt;localised_name&amp;lt;/code&amp;gt; on this item, it will be used instead.&lt;br /&gt;
  place_result = &amp;quot;wooden-chest&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|placed_as_equipment_result|[[Types/string|string]]|&amp;quot;&amp;quot;|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|subgroup|[[Types/string|string]]|&amp;quot;other&amp;quot;|optional=true}}&lt;br /&gt;
Empty text of subgroup is not allowed. (You can ommit the definition to get the default &amp;quot;other&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|fuel_category|[[Types/string|string]]|&amp;quot;&amp;quot;|optional=true}}&lt;br /&gt;
Must exist when a fuel_value is defined. Name of one of the [[Prototype/FuelCategory|fuel categories]].&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|burnt_result|[[Types/string|string]]|&amp;quot;&amp;quot;|optional=true}}&lt;br /&gt;
The item that is the result when this item gets burned as fuel.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|place_as_tile|[[Types/PlaceAsTile|PlaceAsTile]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|pictures|[[Types/SpriteVariations|SpriteVariations]]|optional=true}}&lt;br /&gt;
Used to give the item multiple different icons so that they look less uniform on belts etc. For inventory icons and similar, &amp;lt;code&amp;gt;icon/icons&amp;lt;/code&amp;gt; will be used. Maximum number of variations is 16.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|flags|[[Types/ItemPrototypeFlags|ItemPrototypeFlags]]|optional=true}}&lt;br /&gt;
Specifies some properties of the item.&lt;br /&gt;
  flags = { &amp;quot;hidden&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|default_request_amount|[[Types/ItemCountType|ItemCountType]]|The stack size of this item.|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|wire_count|[[Types/ItemCountType|ItemCountType]]|0|optional=true}}&lt;br /&gt;
The number of items needed to connect 2 entities with this as wire. In the base game, [[green wire]], [[red wire]] and [[copper cable]] have this set to 1.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|fuel_value|[[Types/Energy|Energy]]|&amp;quot;0J&amp;quot;|optional=true}}&lt;br /&gt;
Mandatory when fuel_acceleration_multiplier, fuel_top_speed_multiplier, fuel_emissions_multiplier, or fuel_glow_color are used. Amount of energy it gives when used as fuel.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|fuel_acceleration_multiplier|[[Types/double|double]]|1.0|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|fuel_top_speed_multiplier|[[Types/double|double]]|1.0|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|fuel_emissions_multiplier|[[Types/double|double]]|1.0|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|fuel_glow_color|[[Types/Color|Color]]|&amp;lt;nowiki&amp;gt;{r=0, g=0, b=0, a=1}&amp;lt;/nowiki&amp;gt;|optional=true}}&lt;br /&gt;
Colors the glow of the burner energy source when this fuel is burned.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|open_sound|[[Types/Sound|Sound]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|close_sound|[[Types/Sound|Sound]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|dark_background_icons, dark_background_icon,  icon_size (IconSpecification)|[[Types/IconSpecification|IconSpecification]]|optional=true}}&lt;br /&gt;
A dark background sprite. Uses &amp;lt;code&amp;gt;dark_background_icons&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;icons&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;dark_background_icon&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;icon&amp;lt;/code&amp;gt;. Inside &amp;lt;code&amp;gt;dark_background_icons&amp;lt;/code&amp;gt;, the property for the file path is &amp;lt;code&amp;gt;dark_background_icon&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;icon&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|rocket_launch_products|[[Types/table|table]] (array) of [[Types/ItemProductPrototype|ItemProductPrototype]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|rocket_launch_product|[[Types/ItemProductPrototype|ItemProductPrototype]]|optional=true}}&lt;/div&gt;</summary>
		<author><name>Therenas</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Prototype/Tile&amp;diff=185683</id>
		<title>Prototype/Tile</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Prototype/Tile&amp;diff=185683"/>
		<updated>2021-04-21T18:49:34Z</updated>

		<summary type="html">&lt;p&gt;Therenas: Note effect of minable on hidden tiles&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Prototype parent|PrototypeBase}}&lt;br /&gt;
A [[tile]]. Only 255 instances of this prototype may be defined.&lt;br /&gt;
&lt;br /&gt;
{{Prototype TOC|tile}}&lt;br /&gt;
&lt;br /&gt;
== Mandatory properties ==&lt;br /&gt;
Inherits all properties from [[PrototypeBase]].&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|collision_mask|[[Types/CollisionMask|CollisionMask]]}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|layer|[[Types/uint8|uint8]]}}&lt;br /&gt;
Specifies transition drawing priority.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|variants|[[Types/TileTransitions|TileTransitions]]}}&lt;br /&gt;
Graphics for this tile. This has extra properties besides the properties from [[Types/TileTransitions|TileTransitions]]:&lt;br /&gt;
&lt;br /&gt;
* main - [[Types/table|table]] of [[Types/TileSprite|TileSprite]] - Mandatory. Array of [[Types/TileSprite|TileSprite]]s with the following extra properties:&lt;br /&gt;
** size - [[Types/uint32|uint32]] - Mandatory. - Only powers of 2 from 1 to 128 can be used. Square size of the tile arrangement this animation is used for. Used to calculate the &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt; of the animation which cannot be set directly. (width or height) = size * 32 / scale.&lt;br /&gt;
** probability - [[Types/double|double]] - Optional. - Default: 1.0 - Probability of 1x1 (size = 1) version of tile must be 1.&lt;br /&gt;
** weights - [[Types/table|table]] of [[Types/double|double]] - Optional. - Array of [[Types/double|double]].&lt;br /&gt;
* material_background - [[Types/TileSprite|TileSprite]] - Optional. Width and height are given by the game, setting them will not have an effect. Width and height are calculated from the expected size (32) and the scale. So, for HR tiles at a size of 64x64, the scale needs to be 0.5.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|map_color|[[Types/Color|Color]]}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|pollution_absorption_per_second|[[Types/double|double]]}}&lt;br /&gt;
Emissions absorbed per second by this tile. Use a negative value if pollution is created instead of removed.&lt;br /&gt;
&lt;br /&gt;
== Optional properties ==&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|transition_overlay_layer_offset|[[Types/uint8|uint8]]|0|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|layer_group|[[Types/string|string]]|&amp;quot;water&amp;quot; if &amp;lt;code&amp;gt;draw_in_water_layer&amp;lt;/code&amp;gt; is true, else &amp;quot;ground&amp;quot;|optional=true}}&lt;br /&gt;
One of &amp;quot;zero&amp;quot;, &amp;quot;water&amp;quot;, &amp;quot;water-overlay&amp;quot;, &amp;quot;ground&amp;quot; and &amp;quot;top&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
{{Prototype property|draw_in_water_layer|[[Types/bool|bool]]|false|optional=true}}&lt;br /&gt;
Used only for the &amp;lt;code&amp;gt;layer_group&amp;lt;/code&amp;gt; default, see above.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|transition_merges_with_tile|[[Types/string|string]]|optional=true}}&lt;br /&gt;
Name of a tile.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|effect_color|[[Types/Color|Color]]|&amp;lt;nowiki&amp;gt;White ({1,1,1,1})&amp;lt;/nowiki&amp;gt;|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|tint|[[Types/Color|Color]]|&amp;lt;nowiki&amp;gt;White ({1,1,1,1})&amp;lt;/nowiki&amp;gt;|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|walking_sound|[[Types/Sound|Sound]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|build_sound|[[Types/table|table]]|optional=true}}&lt;br /&gt;
Either one [[Types/Sound|Sound]] or a table with the following optional key/value pairs:&lt;br /&gt;
* small - [[Types/Sound|Sound]]&lt;br /&gt;
* medium - [[Types/Sound|Sound]]&lt;br /&gt;
* large - [[Types/Sound|Sound]]&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|mined_sound|[[Types/Sound|Sound]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|walking_speed_modifier|[[Types/double|double]]|1|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|vehicle_friction_modifier|[[Types/double|double]]|1|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|decorative_removal_probability|[[Types/float|float]]|0.0|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|allowed_neighbors|[[Types/table|table]] of [[Types/string|string]]|All tiles|optional=true}}&lt;br /&gt;
Array of tile names that are allowed next to this one.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|needs_correction|[[Types/bool|bool]]|false|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|minable|[[Types/MinableProperties|MinableProperties]]|optional=true}}&lt;br /&gt;
If you want the tile to not be mineable, don&#039;t specify the minable property. Only non-mineable tiles become hidden tiles when placing mineable tiles on top of them.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|next_direction|[[Types/string|string]]|optional=true}}&lt;br /&gt;
Name of a tile.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|can_be_part_of_blueprint|[[Types/bool|bool]]|true|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|effect|[[Types/string|string]]|optional=true}}&lt;br /&gt;
Name of a [[Prototype/TileEffect]].&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|trigger_effect|[[Types/TriggerEffect|TriggerEffect]]|optional=true}}&lt;br /&gt;
Called by [[Types/InvokeTileEffectTriggerEffectItem|InvokeTileEffectTriggerEffectItem]].&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|scorch_mark_color|[[Types/Color|Color]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|icons, icon, icon_size (IconSpecification)|[[Types/IconSpecification|IconSpecification]]|optional=true}}&lt;br /&gt;
If this is not set, the &amp;lt;code&amp;gt;material_background&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;variants&amp;lt;/code&amp;gt; is used as the icon.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|effect_color_secondary|[[Types/Color|Color]]|optional=true}}&lt;br /&gt;
Used by the [[pollution]] shader.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|effect_is_opaque|[[Types/bool|bool]]|&amp;lt;code&amp;gt;effect_color&amp;lt;/code&amp;gt; alpha &amp;gt;= 1|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|transitions|[[Types/table|table]] of [[Types/TileTransitions|TileTransitions]]|optional=true}}&lt;br /&gt;
Extra transitions. Array of [[Types/TileTransitions|TileTransitions]]. Each [[Types/TileTransitions|TileTransitions]] needs the extra mandatory property &amp;lt;code&amp;gt;to_tiles&amp;lt;/code&amp;gt;, which is a [[Types/string|string]] which is the name of a tile. Furthermore, each [[Types/TileTransitions|TileTransitions]] needs the extra mandatory property &amp;lt;code&amp;gt;transition_group&amp;lt;/code&amp;gt; which is a [[Types/uint8|uint8]].&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|transitions_between_transitions|[[Types/table|table]] of [[Types/TileTransitions|TileTransitions]]|optional=true}}&lt;br /&gt;
Array of [[Types/TileTransitions|TileTransitions]]. Each [[Types/TileTransitions|TileTransitions]] needs the extra mandatory properties &amp;lt;code&amp;gt;transition_group1&amp;lt;/code&amp;gt; and&amp;lt;code&amp;gt;transition_group2&amp;lt;/code&amp;gt; , which are of  [[Types/uint8|uint8]].&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|autoplace|[[Types/AutoplaceSpecification|AutoplaceSpecification]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|placeable_by|[[Types/ItemToPlace|ItemToPlace]] or [[Types/table|table]] of [[Types/ItemToPlace|ItemToPlace]]|optional=true}}&lt;/div&gt;</summary>
		<author><name>Therenas</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Types/StyleSpecification&amp;diff=184478</id>
		<title>Types/StyleSpecification</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Types/StyleSpecification&amp;diff=184478"/>
		<updated>2021-02-08T22:05:44Z</updated>

		<summary type="html">&lt;p&gt;Therenas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A [[types/table|table]], used as a value in [[Prototype/GuiStyle]], named by the key that is used there. Prototype/GuiStyle loads one of the extensions of this prototype, depending on the specified &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Extensions ==&lt;br /&gt;
* [[Types/ActivityBarStyleSpecification]] &#039;&#039;&#039;activity_bar_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/EmptyWidgetStyleSpecification]] &#039;&#039;&#039;empty_widget_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/CameraStyleSpecification]] &#039;&#039;&#039;camera_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/MinimapStyleSpecification]] &#039;&#039;&#039;minimap_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/DropDownStyleSpecification]] &#039;&#039;&#039;dropdown_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/FlowStyleSpecification]] &#039;&#039;&#039;flow_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/FrameStyleSpecification]] &#039;&#039;&#039;frame_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/GlowStyleSpecification]] &#039;&#039;&#039;glow_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/GraphStyleSpecification]] &#039;&#039;&#039;graph_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/HorizontalFlowStyleSpecification]] &#039;&#039;&#039;horizontal_flow_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/ImageStyleSpecification]] &#039;&#039;&#039;image_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/LabelStyleSpecification]] &#039;&#039;&#039;label_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/LineStyleSpecification]] &#039;&#039;&#039;line_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/ListBoxStyleSpecification]] &#039;&#039;&#039;list_box_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/ProgressBarStyleSpecification]] &#039;&#039;&#039;progressbar_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/ScrollBarStyleSpecification]] &amp;lt;abstract&amp;gt;&lt;br /&gt;
** [[Types/HorizontalScrollBarStyleSpecification]] &#039;&#039;&#039;horizontal_scrollbar_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/VerticalScrollBarStyleSpecification]] &#039;&#039;&#039;vertical_scrollbar_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/ScrollPaneStyleSpecification]] &#039;&#039;&#039;scroll_pane_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/SliderStyleSpecification]] &#039;&#039;&#039;slider_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/DoubleSliderStyleSpecification]] &#039;&#039;&#039;double_slider_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/SpeechBubbleStyleSpecification]] &#039;&#039;&#039;speech_bubble_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/StyleWithClickableGraphicalSetSpecification]] &amp;lt;abstract&amp;gt;&lt;br /&gt;
** [[Types/ButtonStyleSpecification]] &#039;&#039;&#039;button_style&#039;&#039;&#039;&lt;br /&gt;
*** [[Types/TechnologySlotStyleSpecification]] &#039;&#039;&#039;technology_slot_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/CheckBoxStyleSpecification]] &#039;&#039;&#039;checkbox_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/RadioButtonStyleSpecification]] &#039;&#039;&#039;radiobutton_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/SwitchStyleSpecification]] &#039;&#039;&#039;switch_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/TabbedPaneStyleSpecification]] &#039;&#039;&#039;tabbed_pane_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/TableStyleSpecification]] &#039;&#039;&#039;table_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/TabStyleSpecification]] &#039;&#039;&#039;tab_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/TextBoxStyleSpecification]] &#039;&#039;&#039;textbox_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/VerticalFlowStyleSpecification]] &#039;&#039;&#039;vertical_flow_style&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mandatory properties ==&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
The type of one of the above listed extensions, this style specification is then loaded as that extension.&lt;br /&gt;
&lt;br /&gt;
== Optional properties ==&lt;br /&gt;
&lt;br /&gt;
=== parent ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
Name of a [[Types/StyleSpecification]]. This style specification inherits all property values from the parent style specification.&amp;lt;br&amp;gt;&lt;br /&gt;
It is recommended to always set the parent style to at least the basic vanilla style. If no parent is set, some style properties become mandatory and behavior may be unexpected, such as an element not showing up because its size defaults to 0.&lt;br /&gt;
&lt;br /&gt;
=== horizontal_align ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;left&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;left&amp;quot;, &amp;quot;center&amp;quot; or &amp;quot;right&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== vertical_align ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;top&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;top&amp;quot;, &amp;quot;center&amp;quot; or &amp;quot;bottom&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== horizontally_stretchable ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;auto&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;off&amp;quot;, &amp;quot;on&amp;quot;, &amp;quot;auto&amp;quot; or &amp;quot;stretch_and_expand&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== vertically_stretchable ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;auto&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;off&amp;quot;, &amp;quot;on&amp;quot;, &amp;quot;auto&amp;quot; or &amp;quot;stretch_and_expand&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== horizontally_squashable ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;auto&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;off&amp;quot;, &amp;quot;on&amp;quot;, &amp;quot;auto&amp;quot; or &amp;quot;stretch_and_expand&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== vertically_squashable ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;auto&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;off&amp;quot;, &amp;quot;on&amp;quot;, &amp;quot;auto&amp;quot; or &amp;quot;stretch_and_expand&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== size ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]] or [[Types/table|table]] of [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
If this is an array, the first member of the array is &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt; and the second is &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;. Otherwise the size is both &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== width ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
Sets &amp;lt;code&amp;gt;minimal_width&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;maximal_width&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;natural_width&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== minimal_width ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Minimal width ensures, that the widget will never be smaller than than that size. It can&#039;t be squashed to be smaller.&lt;br /&gt;
&lt;br /&gt;
=== maximal_width ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Maximal width ensures, that the widget will never be bigger than than that size. It can&#039;t be stretched to be bigger.&lt;br /&gt;
&lt;br /&gt;
=== natural_width ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Natural width specifies the width of the element tries to have, but it can still be squashed/stretched to have a smaller or bigger size.&lt;br /&gt;
&lt;br /&gt;
=== height ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
Sets &amp;lt;code&amp;gt;minimal_height&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;maximal_height&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;natural_height&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== minimal_height ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Minimal height ensures, that the widget will never be smaller than than that size. It can&#039;t be squashed to be smaller.&lt;br /&gt;
&lt;br /&gt;
=== maximal_height ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Maximal height ensures, that the widget will never be bigger than than that size. It can&#039;t be stretched to be bigger.&lt;br /&gt;
&lt;br /&gt;
=== natural_height ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Natural height specifies the height of the element tries to have, but it can still be squashed/stretched to have a smaller or bigger size.&lt;br /&gt;
&lt;br /&gt;
=== padding ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
Sets &amp;lt;code&amp;gt;top_padding&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;right_padding&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;bottom_padding&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;left_padding&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== top_padding ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== right_padding ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== bottom_padding ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== left_padding ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== margin ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
Sets &amp;lt;code&amp;gt;top_margin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;right_margin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;bottom_margin&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;left_margin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== top_margin ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== right_margin ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== bottom_margin ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== left_margin ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== effect ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
=== effect_opacity ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/float|float]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 1.0&lt;/div&gt;</summary>
		<author><name>Therenas</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Types/StyleSpecification&amp;diff=184477</id>
		<title>Types/StyleSpecification</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Types/StyleSpecification&amp;diff=184477"/>
		<updated>2021-02-08T22:05:35Z</updated>

		<summary type="html">&lt;p&gt;Therenas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A [[types/table|table]], used as a value in [[Prototype/GuiStyle]], named by the key that is used there. Prototype/GuiStyle loads one of the extensions of this prototype, depending on the specified &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Extensions ==&lt;br /&gt;
* [[Types/ActivityBarStyleSpecification]] &#039;&#039;&#039;activity_bar_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/EmptyWidgetStyleSpecification]] &#039;&#039;&#039;empty_widget_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/CameraStyleSpecification]] &#039;&#039;&#039;camera_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/MinimapStyleSpecification]] &#039;&#039;&#039;minimap_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/DropDownStyleSpecification]] &#039;&#039;&#039;dropdown_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/FlowStyleSpecification]] &#039;&#039;&#039;flow_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/FrameStyleSpecification]] &#039;&#039;&#039;frame_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/GlowStyleSpecification]] &#039;&#039;&#039;glow_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/GraphStyleSpecification]] &#039;&#039;&#039;graph_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/HorizontalFlowStyleSpecification]] &#039;&#039;&#039;horizontal_flow_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/ImageStyleSpecification]] &#039;&#039;&#039;image_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/LabelStyleSpecification]] &#039;&#039;&#039;label_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/LineStyleSpecification]] &#039;&#039;&#039;line_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/ListBoxStyleSpecification]] &#039;&#039;&#039;list_box_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/ProgressBarStyleSpecification]] &#039;&#039;&#039;progressbar_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/ScrollBarStyleSpecification]] &amp;lt;abstract&amp;gt;&lt;br /&gt;
** [[Types/HorizontalScrollBarStyleSpecification]] &#039;&#039;&#039;horizontal_scrollbar_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/VerticalScrollBarStyleSpecification]] &#039;&#039;&#039;vertical_scrollbar_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/ScrollPaneStyleSpecification]] &#039;&#039;&#039;scroll_pane_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/SliderStyleSpecification]] &#039;&#039;&#039;slider_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/DoubleSliderStyleSpecification]] &#039;&#039;&#039;double_slider_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/SpeechBubbleStyleSpecification]] &#039;&#039;&#039;speech_bubble_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/StyleWithClickableGraphicalSetSpecification]] &amp;lt;abstract&amp;gt;&lt;br /&gt;
** [[Types/ButtonStyleSpecification]] &#039;&#039;&#039;button_style&#039;&#039;&#039;&lt;br /&gt;
*** [[Types/TechnologySlotStyleSpecification]] &#039;&#039;&#039;technology_slot_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/CheckBoxStyleSpecification]] &#039;&#039;&#039;checkbox_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/RadioButtonStyleSpecification]] &#039;&#039;&#039;radiobutton_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/SwitchStyleSpecification]] &#039;&#039;&#039;switch_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/TabbedPaneStyleSpecification]] &#039;&#039;&#039;tabbed_pane_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/TableStyleSpecification]] &#039;&#039;&#039;table_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/TabStyleSpecification]] &#039;&#039;&#039;tab_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/TextBoxStyleSpecification]] &#039;&#039;&#039;textbox_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/VerticalFlowStyleSpecification]] &#039;&#039;&#039;vertical_flow_style&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mandatory properties ==&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
The type of one of the above listed extensions, this style specification is then loaded as that extension.&lt;br /&gt;
&lt;br /&gt;
== Optional properties ==&lt;br /&gt;
&lt;br /&gt;
=== parent ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
Name of a [[Types/StyleSpecification]]. This style specification inherits all property values from the parent style specification.&amp;lt;br&amp;gt;&lt;br /&gt;
It is recommended to always set the parent style to at least the basic vanilla style. If no parent is set, some style properties become mandatory and behavior may be unexpected, such as an element not showing up because its size defaults to 0.&lt;br /&gt;
&lt;br /&gt;
=== horizontal_align ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;left&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;left&amp;quot;, &amp;quot;center&amp;quot; or &amp;quot;right&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== vertical_align ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;top&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;top&amp;quot;, &amp;quot;center&amp;quot; or &amp;quot;bottom&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== horizontally_stretchable ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;auto&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;off&amp;quot;, &amp;quot;on&amp;quot;, &amp;quot;auto&amp;quot; or &amp;quot;stretch_and_expand&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== vertically_stretchable ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;auto&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;off&amp;quot;, &amp;quot;on&amp;quot;, &amp;quot;auto&amp;quot; or &amp;quot;stretch_and_expand&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== horizontally_squashable ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;auto&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;off&amp;quot;, &amp;quot;on&amp;quot;, &amp;quot;auto&amp;quot; or &amp;quot;stretch_and_expand&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== vertically_squashable ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;auto&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;off&amp;quot;, &amp;quot;on&amp;quot; or &amp;quot;auto&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== size ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]] or [[Types/table|table]] of [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
If this is an array, the first member of the array is &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt; and the second is &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;. Otherwise the size is both &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== width ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
Sets &amp;lt;code&amp;gt;minimal_width&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;maximal_width&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;natural_width&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== minimal_width ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Minimal width ensures, that the widget will never be smaller than than that size. It can&#039;t be squashed to be smaller.&lt;br /&gt;
&lt;br /&gt;
=== maximal_width ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Maximal width ensures, that the widget will never be bigger than than that size. It can&#039;t be stretched to be bigger.&lt;br /&gt;
&lt;br /&gt;
=== natural_width ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Natural width specifies the width of the element tries to have, but it can still be squashed/stretched to have a smaller or bigger size.&lt;br /&gt;
&lt;br /&gt;
=== height ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
Sets &amp;lt;code&amp;gt;minimal_height&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;maximal_height&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;natural_height&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== minimal_height ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Minimal height ensures, that the widget will never be smaller than than that size. It can&#039;t be squashed to be smaller.&lt;br /&gt;
&lt;br /&gt;
=== maximal_height ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Maximal height ensures, that the widget will never be bigger than than that size. It can&#039;t be stretched to be bigger.&lt;br /&gt;
&lt;br /&gt;
=== natural_height ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Natural height specifies the height of the element tries to have, but it can still be squashed/stretched to have a smaller or bigger size.&lt;br /&gt;
&lt;br /&gt;
=== padding ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
Sets &amp;lt;code&amp;gt;top_padding&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;right_padding&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;bottom_padding&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;left_padding&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== top_padding ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== right_padding ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== bottom_padding ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== left_padding ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== margin ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
Sets &amp;lt;code&amp;gt;top_margin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;right_margin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;bottom_margin&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;left_margin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== top_margin ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== right_margin ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== bottom_margin ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== left_margin ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== effect ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
=== effect_opacity ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/float|float]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 1.0&lt;/div&gt;</summary>
		<author><name>Therenas</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Types/StyleSpecification&amp;diff=184476</id>
		<title>Types/StyleSpecification</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Types/StyleSpecification&amp;diff=184476"/>
		<updated>2021-02-08T22:05:21Z</updated>

		<summary type="html">&lt;p&gt;Therenas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A [[types/table|table]], used as a value in [[Prototype/GuiStyle]], named by the key that is used there. Prototype/GuiStyle loads one of the extensions of this prototype, depending on the specified &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Extensions ==&lt;br /&gt;
* [[Types/ActivityBarStyleSpecification]] &#039;&#039;&#039;activity_bar_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/EmptyWidgetStyleSpecification]] &#039;&#039;&#039;empty_widget_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/CameraStyleSpecification]] &#039;&#039;&#039;camera_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/MinimapStyleSpecification]] &#039;&#039;&#039;minimap_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/DropDownStyleSpecification]] &#039;&#039;&#039;dropdown_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/FlowStyleSpecification]] &#039;&#039;&#039;flow_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/FrameStyleSpecification]] &#039;&#039;&#039;frame_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/GlowStyleSpecification]] &#039;&#039;&#039;glow_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/GraphStyleSpecification]] &#039;&#039;&#039;graph_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/HorizontalFlowStyleSpecification]] &#039;&#039;&#039;horizontal_flow_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/ImageStyleSpecification]] &#039;&#039;&#039;image_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/LabelStyleSpecification]] &#039;&#039;&#039;label_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/LineStyleSpecification]] &#039;&#039;&#039;line_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/ListBoxStyleSpecification]] &#039;&#039;&#039;list_box_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/ProgressBarStyleSpecification]] &#039;&#039;&#039;progressbar_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/ScrollBarStyleSpecification]] &amp;lt;abstract&amp;gt;&lt;br /&gt;
** [[Types/HorizontalScrollBarStyleSpecification]] &#039;&#039;&#039;horizontal_scrollbar_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/VerticalScrollBarStyleSpecification]] &#039;&#039;&#039;vertical_scrollbar_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/ScrollPaneStyleSpecification]] &#039;&#039;&#039;scroll_pane_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/SliderStyleSpecification]] &#039;&#039;&#039;slider_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/DoubleSliderStyleSpecification]] &#039;&#039;&#039;double_slider_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/SpeechBubbleStyleSpecification]] &#039;&#039;&#039;speech_bubble_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/StyleWithClickableGraphicalSetSpecification]] &amp;lt;abstract&amp;gt;&lt;br /&gt;
** [[Types/ButtonStyleSpecification]] &#039;&#039;&#039;button_style&#039;&#039;&#039;&lt;br /&gt;
*** [[Types/TechnologySlotStyleSpecification]] &#039;&#039;&#039;technology_slot_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/CheckBoxStyleSpecification]] &#039;&#039;&#039;checkbox_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/RadioButtonStyleSpecification]] &#039;&#039;&#039;radiobutton_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/SwitchStyleSpecification]] &#039;&#039;&#039;switch_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/TabbedPaneStyleSpecification]] &#039;&#039;&#039;tabbed_pane_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/TableStyleSpecification]] &#039;&#039;&#039;table_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/TabStyleSpecification]] &#039;&#039;&#039;tab_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/TextBoxStyleSpecification]] &#039;&#039;&#039;textbox_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/VerticalFlowStyleSpecification]] &#039;&#039;&#039;vertical_flow_style&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mandatory properties ==&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
The type of one of the above listed extensions, this style specification is then loaded as that extension.&lt;br /&gt;
&lt;br /&gt;
== Optional properties ==&lt;br /&gt;
&lt;br /&gt;
=== parent ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
Name of a [[Types/StyleSpecification]]. This style specification inherits all property values from the parent style specification.&amp;lt;br&amp;gt;&lt;br /&gt;
It is recommended to always set the parent style to at least the basic vanilla style. If no parent is set, some style properties become mandatory and behavior may be unexpected, such as an element not showing up because its size defaults to 0.&lt;br /&gt;
&lt;br /&gt;
=== horizontal_align ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;left&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;left&amp;quot;, &amp;quot;center&amp;quot; or &amp;quot;right&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== vertical_align ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;top&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;top&amp;quot;, &amp;quot;center&amp;quot; or &amp;quot;bottom&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== horizontally_stretchable ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;auto&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;off&amp;quot;, &amp;quot;on&amp;quot;, &amp;quot;auto&amp;quot; or &amp;quot;stretch_and_expand&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== vertically_stretchable ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;auto&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;off&amp;quot;, &amp;quot;on&amp;quot;, &amp;quot;auto&amp;quot; or &amp;quot;stretch_and_expand&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== horizontally_squashable ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;auto&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;off&amp;quot;, &amp;quot;on&amp;quot; or &amp;quot;auto&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== vertically_squashable ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;auto&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;off&amp;quot;, &amp;quot;on&amp;quot; or &amp;quot;auto&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== size ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]] or [[Types/table|table]] of [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
If this is an array, the first member of the array is &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt; and the second is &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;. Otherwise the size is both &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== width ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
Sets &amp;lt;code&amp;gt;minimal_width&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;maximal_width&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;natural_width&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== minimal_width ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Minimal width ensures, that the widget will never be smaller than than that size. It can&#039;t be squashed to be smaller.&lt;br /&gt;
&lt;br /&gt;
=== maximal_width ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Maximal width ensures, that the widget will never be bigger than than that size. It can&#039;t be stretched to be bigger.&lt;br /&gt;
&lt;br /&gt;
=== natural_width ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Natural width specifies the width of the element tries to have, but it can still be squashed/stretched to have a smaller or bigger size.&lt;br /&gt;
&lt;br /&gt;
=== height ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
Sets &amp;lt;code&amp;gt;minimal_height&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;maximal_height&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;natural_height&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== minimal_height ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Minimal height ensures, that the widget will never be smaller than than that size. It can&#039;t be squashed to be smaller.&lt;br /&gt;
&lt;br /&gt;
=== maximal_height ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Maximal height ensures, that the widget will never be bigger than than that size. It can&#039;t be stretched to be bigger.&lt;br /&gt;
&lt;br /&gt;
=== natural_height ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Natural height specifies the height of the element tries to have, but it can still be squashed/stretched to have a smaller or bigger size.&lt;br /&gt;
&lt;br /&gt;
=== padding ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
Sets &amp;lt;code&amp;gt;top_padding&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;right_padding&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;bottom_padding&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;left_padding&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== top_padding ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== right_padding ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== bottom_padding ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== left_padding ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== margin ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
Sets &amp;lt;code&amp;gt;top_margin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;right_margin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;bottom_margin&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;left_margin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== top_margin ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== right_margin ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== bottom_margin ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== left_margin ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== effect ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
=== effect_opacity ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/float|float]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 1.0&lt;/div&gt;</summary>
		<author><name>Therenas</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Types/StyleSpecification&amp;diff=184475</id>
		<title>Types/StyleSpecification</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Types/StyleSpecification&amp;diff=184475"/>
		<updated>2021-02-08T22:04:57Z</updated>

		<summary type="html">&lt;p&gt;Therenas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A [[types/table|table]], used as a value in [[Prototype/GuiStyle]], named by the key that is used there. Prototype/GuiStyle loads one of the extensions of this prototype, depending on the specified &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Extensions ==&lt;br /&gt;
* [[Types/ActivityBarStyleSpecification]] &#039;&#039;&#039;activity_bar_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/EmptyWidgetStyleSpecification]] &#039;&#039;&#039;empty_widget_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/CameraStyleSpecification]] &#039;&#039;&#039;camera_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/MinimapStyleSpecification]] &#039;&#039;&#039;minimap_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/DropDownStyleSpecification]] &#039;&#039;&#039;dropdown_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/FlowStyleSpecification]] &#039;&#039;&#039;flow_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/FrameStyleSpecification]] &#039;&#039;&#039;frame_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/GlowStyleSpecification]] &#039;&#039;&#039;glow_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/GraphStyleSpecification]] &#039;&#039;&#039;graph_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/HorizontalFlowStyleSpecification]] &#039;&#039;&#039;horizontal_flow_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/ImageStyleSpecification]] &#039;&#039;&#039;image_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/LabelStyleSpecification]] &#039;&#039;&#039;label_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/LineStyleSpecification]] &#039;&#039;&#039;line_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/ListBoxStyleSpecification]] &#039;&#039;&#039;list_box_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/ProgressBarStyleSpecification]] &#039;&#039;&#039;progressbar_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/ScrollBarStyleSpecification]] &amp;lt;abstract&amp;gt;&lt;br /&gt;
** [[Types/HorizontalScrollBarStyleSpecification]] &#039;&#039;&#039;horizontal_scrollbar_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/VerticalScrollBarStyleSpecification]] &#039;&#039;&#039;vertical_scrollbar_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/ScrollPaneStyleSpecification]] &#039;&#039;&#039;scroll_pane_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/SliderStyleSpecification]] &#039;&#039;&#039;slider_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/DoubleSliderStyleSpecification]] &#039;&#039;&#039;double_slider_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/SpeechBubbleStyleSpecification]] &#039;&#039;&#039;speech_bubble_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/StyleWithClickableGraphicalSetSpecification]] &amp;lt;abstract&amp;gt;&lt;br /&gt;
** [[Types/ButtonStyleSpecification]] &#039;&#039;&#039;button_style&#039;&#039;&#039;&lt;br /&gt;
*** [[Types/TechnologySlotStyleSpecification]] &#039;&#039;&#039;technology_slot_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/CheckBoxStyleSpecification]] &#039;&#039;&#039;checkbox_style&#039;&#039;&#039;&lt;br /&gt;
** [[Types/RadioButtonStyleSpecification]] &#039;&#039;&#039;radiobutton_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/SwitchStyleSpecification]] &#039;&#039;&#039;switch_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/TabbedPaneStyleSpecification]] &#039;&#039;&#039;tabbed_pane_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/TableStyleSpecification]] &#039;&#039;&#039;table_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/TabStyleSpecification]] &#039;&#039;&#039;tab_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/TextBoxStyleSpecification]] &#039;&#039;&#039;textbox_style&#039;&#039;&#039;&lt;br /&gt;
* [[Types/VerticalFlowStyleSpecification]] &#039;&#039;&#039;vertical_flow_style&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mandatory properties ==&lt;br /&gt;
&lt;br /&gt;
=== type ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
The type of one of the above listed extensions, this style specification is then loaded as that extension.&lt;br /&gt;
&lt;br /&gt;
== Optional properties ==&lt;br /&gt;
&lt;br /&gt;
=== parent ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
Name of a [[Types/StyleSpecification]]. This style specification inherits all property values from the parent style specification.&amp;lt;br&amp;gt;&lt;br /&gt;
It is recommended to always set the parent style to at least the basic vanilla style. If no parent is set, some style properties become mandatory and behavior may be unexpected, such as an element not showing up because its size defaults to 0.&lt;br /&gt;
&lt;br /&gt;
=== horizontal_align ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;left&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;left&amp;quot;, &amp;quot;center&amp;quot; or &amp;quot;right&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== vertical_align ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;top&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;top&amp;quot;, &amp;quot;center&amp;quot; or &amp;quot;bottom&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== horizontally_stretchable ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;auto&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;off&amp;quot;, &amp;quot;on&amp;quot;, &amp;quot;auto&amp;quot; or &amp;quot;stretch_and_expand&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== vertically_stretchable ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;auto&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;off&amp;quot;, &amp;quot;on&amp;quot; or &amp;quot;auto&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== horizontally_squashable ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;auto&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;off&amp;quot;, &amp;quot;on&amp;quot; or &amp;quot;auto&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== vertically_squashable ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: &amp;quot;auto&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Either &amp;quot;off&amp;quot;, &amp;quot;on&amp;quot; or &amp;quot;auto&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== size ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]] or [[Types/table|table]] of [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
If this is an array, the first member of the array is &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt; and the second is &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;. Otherwise the size is both &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== width ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
Sets &amp;lt;code&amp;gt;minimal_width&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;maximal_width&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;natural_width&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== minimal_width ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Minimal width ensures, that the widget will never be smaller than than that size. It can&#039;t be squashed to be smaller.&lt;br /&gt;
&lt;br /&gt;
=== maximal_width ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Maximal width ensures, that the widget will never be bigger than than that size. It can&#039;t be stretched to be bigger.&lt;br /&gt;
&lt;br /&gt;
=== natural_width ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Natural width specifies the width of the element tries to have, but it can still be squashed/stretched to have a smaller or bigger size.&lt;br /&gt;
&lt;br /&gt;
=== height ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
Sets &amp;lt;code&amp;gt;minimal_height&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;maximal_height&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;natural_height&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== minimal_height ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Minimal height ensures, that the widget will never be smaller than than that size. It can&#039;t be squashed to be smaller.&lt;br /&gt;
&lt;br /&gt;
=== maximal_height ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Maximal height ensures, that the widget will never be bigger than than that size. It can&#039;t be stretched to be bigger.&lt;br /&gt;
&lt;br /&gt;
=== natural_height ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/uint32|uint32]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
Natural height specifies the height of the element tries to have, but it can still be squashed/stretched to have a smaller or bigger size.&lt;br /&gt;
&lt;br /&gt;
=== padding ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
Sets &amp;lt;code&amp;gt;top_padding&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;right_padding&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;bottom_padding&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;left_padding&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== top_padding ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== right_padding ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== bottom_padding ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== left_padding ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== margin ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
Sets &amp;lt;code&amp;gt;top_margin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;right_margin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;bottom_margin&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;left_margin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== top_margin ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== right_margin ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== bottom_margin ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== left_margin ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/int16|int16]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== effect ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string|string]]&lt;br /&gt;
&lt;br /&gt;
=== effect_opacity ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/float|float]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 1.0&lt;/div&gt;</summary>
		<author><name>Therenas</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Prototype/Entity&amp;diff=184385</id>
		<title>Prototype/Entity</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Prototype/Entity&amp;diff=184385"/>
		<updated>2021-02-02T09:39:29Z</updated>

		<summary type="html">&lt;p&gt;Therenas: Move default of create_smoke to its proper spot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Prototype parent|PrototypeBase}}&lt;br /&gt;
Abstract base of all entities in the game.&lt;br /&gt;
Entity is basically everything that can be on the map (except tiles).&lt;br /&gt;
For in game script access to entity, take a look at [http://lua-api.factorio.com/latest/LuaEntity.html LuaEntity]&lt;br /&gt;
&lt;br /&gt;
{{Prototype TOC|&#039;&#039;abstract&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
== Extensions ==&lt;br /&gt;
&amp;lt;div class=&amp;quot;factorio-list&amp;quot;&amp;gt;&lt;br /&gt;
* [[Prototype/Arrow]] &#039;&#039;&#039;arrow&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/ArtilleryFlare]] &#039;&#039;&#039;artillery-flare&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/ArtilleryProjectile]] &#039;&#039;&#039;artillery-projectile&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/Beam]] &#039;&#039;&#039;beam&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/CharacterCorpse]] &#039;&#039;&#039;character-corpse&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/Cliff]] &#039;&#039;&#039;cliff&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/Corpse]] &#039;&#039;&#039;corpse&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/RailRemnants]] &#039;&#039;&#039;rail-remnants&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/DeconstructibleTileProxy]] &#039;&#039;&#039;deconstructible-tile-proxy&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/EntityGhost]] &#039;&#039;&#039;entity-ghost&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/EntityParticle]] &#039;&#039;&#039;particle&#039;&#039;&#039; (for migration, cannot be used)&lt;br /&gt;
** [[Prototype/LeafParticle]] &#039;&#039;&#039;leaf-particle&#039;&#039;&#039; (for migration, cannot be used)&lt;br /&gt;
* [[Prototype/EntityWithHealth]] &amp;lt;abstract&amp;gt;&lt;br /&gt;
** [[Prototype/Accumulator]] &#039;&#039;&#039;accumulator&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/ArtilleryTurret]] &#039;&#039;&#039;artillery-turret&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Beacon]] &#039;&#039;&#039;beacon&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Boiler]] &#039;&#039;&#039;boiler&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/BurnerGenerator]] &#039;&#039;&#039;burner-generator&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Character]] &#039;&#039;&#039;character&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Combinator]] &amp;lt;abstract&amp;gt;&lt;br /&gt;
*** [[Prototype/ArithmeticCombinator]] &#039;&#039;&#039;arithmetic-combinator&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/DeciderCombinator]] &#039;&#039;&#039;decider-combinator&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/ConstantCombinator]] &#039;&#039;&#039;constant-combinator&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Container]] &#039;&#039;&#039;container&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/LogisticContainer]] &#039;&#039;&#039;logistic-container&#039;&#039;&#039;&lt;br /&gt;
**** [[Prototype/InfinityContainer]] &#039;&#039;&#039;infinity-container&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/CraftingMachine]] &amp;lt;abstract&amp;gt;&lt;br /&gt;
*** [[Prototype/AssemblingMachine]] &#039;&#039;&#039;assembling-machine&#039;&#039;&#039;&lt;br /&gt;
**** [[Prototype/RocketSilo]] &#039;&#039;&#039;rocket-silo&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/Furnace]] &#039;&#039;&#039;furnace&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/ElectricEnergyInterface]] &#039;&#039;&#039;electric-energy-interface&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/ElectricPole]] &#039;&#039;&#039;electric-pole&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/EnemySpawner]] &#039;&#039;&#039;unit-spawner&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Fish]] &#039;&#039;&#039;fish&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/FlyingRobot]] &amp;lt;abstract&amp;gt;&lt;br /&gt;
*** [[Prototype/CombatRobot]] &#039;&#039;&#039;combat-robot&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/RobotWithLogisticInterface]] &amp;lt;abstract&amp;gt;&lt;br /&gt;
**** [[Prototype/ConstructionRobot]] &#039;&#039;&#039;construction-robot&#039;&#039;&#039;&lt;br /&gt;
**** [[Prototype/LogisticRobot]] &#039;&#039;&#039;logistic-robot&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Gate]] &#039;&#039;&#039;gate&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Generator]] &#039;&#039;&#039;generator&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/HeatInterface]] &#039;&#039;&#039;heat-interface&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/HeatPipe]] &#039;&#039;&#039;heat-pipe&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Inserter]] &#039;&#039;&#039;inserter&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Lab]] &#039;&#039;&#039;lab&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Lamp]] &#039;&#039;&#039;lamp&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/LandMine]] &#039;&#039;&#039;land-mine&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/LinkedContainer]] &#039;&#039;&#039;linked-container&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Market]] &#039;&#039;&#039;market&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/MiningDrill]] &#039;&#039;&#039;mining-drill&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/OffshorePump]] &#039;&#039;&#039;offshore-pump&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Pipe]] &#039;&#039;&#039;pipe&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/InfinityPipe]] &#039;&#039;&#039;infinity-pipe&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/PipeToGround]] &#039;&#039;&#039;pipe-to-ground&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/PlayerPort]] &#039;&#039;&#039;player-port&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/PowerSwitch]] &#039;&#039;&#039;power-switch&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/ProgrammableSpeaker]] &#039;&#039;&#039;programmable-speaker&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Pump]] &#039;&#039;&#039;pump&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Radar]] &#039;&#039;&#039;radar&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Rail]] &amp;lt;abstract&amp;gt;&lt;br /&gt;
*** [[Prototype/CurvedRail]] &#039;&#039;&#039;curved-rail&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/StraightRail]] &#039;&#039;&#039;straight-rail&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/RailSignalBase]] &amp;lt;abstract&amp;gt;&lt;br /&gt;
*** [[Prototype/RailChainSignal]] &#039;&#039;&#039;rail-chain-signal&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/RailSignal]] &#039;&#039;&#039;rail-signal&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Reactor]] &#039;&#039;&#039;reactor&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Roboport]] &#039;&#039;&#039;roboport&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/SimpleEntity]] &#039;&#039;&#039;simple-entity&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/SimpleEntityWithOwner]] &#039;&#039;&#039;simple-entity-with-owner&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/SimpleEntityWithForce]] &#039;&#039;&#039;simple-entity-with-force&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/SolarPanel]] &#039;&#039;&#039;solar-panel&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/SpiderLeg]] &#039;&#039;&#039;spider-leg&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/StorageTank]] &#039;&#039;&#039;storage-tank&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/TrainStop]] &#039;&#039;&#039;train-stop&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/TransportBeltConnectable]] &amp;lt;abstract&amp;gt;&lt;br /&gt;
*** [[Prototype/LinkedBelt]] &#039;&#039;&#039;linked-belt&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/Loader1x1]] &#039;&#039;&#039;loader-1x1&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/Loader1x2]] &#039;&#039;&#039;loader&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/Splitter]] &#039;&#039;&#039;splitter&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/TransportBelt]] &#039;&#039;&#039;transport-belt&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/UndergroundBelt]] &#039;&#039;&#039;underground-belt&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Tree]] &#039;&#039;&#039;tree&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Turret]] &#039;&#039;&#039;turret&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/AmmoTurret]] &#039;&#039;&#039;ammo-turret&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/ElectricTurret]] &#039;&#039;&#039;electric-turret&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/FluidTurret]] &#039;&#039;&#039;fluid-turret&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Unit]] &#039;&#039;&#039;unit&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Vehicle]] &amp;lt;abstract&amp;gt;&lt;br /&gt;
*** [[Prototype/Car]] &#039;&#039;&#039;car&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/RollingStock]] &amp;lt;abstract&amp;gt;&lt;br /&gt;
**** [[Prototype/ArtilleryWagon]] &#039;&#039;&#039;artillery-wagon&#039;&#039;&#039;&lt;br /&gt;
**** [[Prototype/CargoWagon]] &#039;&#039;&#039;cargo-wagon&#039;&#039;&#039;&lt;br /&gt;
**** [[Prototype/FluidWagon]] &#039;&#039;&#039;fluid-wagon&#039;&#039;&#039;&lt;br /&gt;
**** [[Prototype/Locomotive]] &#039;&#039;&#039;locomotive&#039;&#039;&#039;&lt;br /&gt;
*** [[Prototype/SpiderVehicle]] &#039;&#039;&#039;spider-vehicle&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Wall]] &#039;&#039;&#039;wall&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/Explosion]] &#039;&#039;&#039;explosion&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/FlameThrowerExplosion]] &#039;&#039;&#039;flame-thrower-explosion&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/FireFlame]] &#039;&#039;&#039;fire&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/FluidStream]] &#039;&#039;&#039;stream&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/FlyingText]] &#039;&#039;&#039;flying-text&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/HighlightBoxEntity]] &#039;&#039;&#039;highlight-box&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/ItemEntity]] &#039;&#039;&#039;item-entity&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/ItemRequestProxy]] &#039;&#039;&#039;item-request-proxy&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/ParticleSource]] &#039;&#039;&#039;particle-source&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/Projectile]] &#039;&#039;&#039;projectile&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/ResourceEntity]] &#039;&#039;&#039;resource&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/RocketSiloRocket]] &#039;&#039;&#039;rocket-silo-rocket&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/RocketSiloRocketShadow]] &#039;&#039;&#039;rocket-silo-rocket-shadow&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/Smoke]] &amp;lt;abstract&amp;gt;&lt;br /&gt;
** [[Prototype/SimpleSmoke]] &#039;&#039;&#039;smoke&#039;&#039;&#039; (for migration, cannot be used)&lt;br /&gt;
** [[Prototype/SmokeWithTrigger]] &#039;&#039;&#039;smoke-with-trigger&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/SpeechBubble]] &#039;&#039;&#039;speech-bubble&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/Sticker]] &#039;&#039;&#039;sticker&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/TileGhost]] &#039;&#039;&#039;tile-ghost&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mandatory properties ==&lt;br /&gt;
Inherits all properties from [[PrototypeBase]].&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|icons, icon,  icon_size (IconSpecification)|[[Types/IconSpecification|IconSpecification]]}}&lt;br /&gt;
An icon is mandatory for entities that have at least one of these flags active: placeable-neutral, placeable-player, placeable-enemy.&lt;br /&gt;
&lt;br /&gt;
The icon will be used in the editor building selection and the bonus gui.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;icon = &amp;quot;__base__/graphics/icons/wooden-chest.png&amp;quot;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Optional properties ==&lt;br /&gt;
&lt;br /&gt;
=== order ===&lt;br /&gt;
:&#039;&#039;See [[PrototypeBase#order]]&#039;&#039;&lt;br /&gt;
Inherited from [[PrototypeBase]].&lt;br /&gt;
&lt;br /&gt;
The order string is taken from the items in &amp;lt;code&amp;gt;placeable_by&amp;lt;/code&amp;gt; if they exist, or from an item that has its [[Prototype/Item#place_result|place_result]] set to this entity if it exists.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|collision_box|[[Types/BoundingBox|BoundingBox]]|Empty=&amp;lt;nowiki&amp;gt;{{0, 0}, {0, 0}} means no collisions.&amp;lt;/nowiki&amp;gt;|optional=true}}&lt;br /&gt;
Specification of the entity collision boundaries.&lt;br /&gt;
&lt;br /&gt;
Empty collision box is used for smoke, projectiles, particles, explosions etc.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;collision_box = {{-0.4, -0.4}, {0.4, 0.4}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The {0,0} coordinate in the collision box will match the entity position.&lt;br /&gt;
&lt;br /&gt;
It should be near the center of the collision box, to keep correct entity drawing order. It must include the {0,0} coordinate.&lt;br /&gt;
&lt;br /&gt;
Note, that for buildings, it is customary to leave 0.1 wide border between the edge of the tile and the edge of the building, this lets the player move between the building and electric poles/inserters etc.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|collision_mask|[[Types/CollisionMask|CollisionMask]]|&amp;lt;nowiki&amp;gt;{&amp;quot;item-layer&amp;quot;, &amp;quot;object-layer&amp;quot;, &amp;quot;player-layer&amp;quot;, &amp;quot;water-tile&amp;quot;}&amp;lt;/nowiki&amp;gt;|optional=true}}&lt;br /&gt;
&lt;br /&gt;
Two entities can collide only if they share a layer from the collision mask.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
NOTE: &#039;&#039;&#039;Some entity types have their own default&#039;&#039;&#039; that differs from the above default. They are listed here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
* [[Prototype/Arrow]] - no masks&lt;br /&gt;
* [[Prototype/ArtilleryFlare]] - no masks&lt;br /&gt;
* [[Prototype/ArtilleryProjectile]] - no masks&lt;br /&gt;
* [[Prototype/Beam]] - no masks&lt;br /&gt;
* [[Prototype/Car]] - &amp;lt;code&amp;gt;{&amp;quot;player-layer&amp;quot;, &amp;quot;train-layer&amp;quot;, &amp;quot;consider-tile-transitions&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/Character]] - &amp;lt;code&amp;gt;{&amp;quot;player-layer&amp;quot;, &amp;quot;train-layer&amp;quot;, &amp;quot;consider-tile-transitions&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/CharacterCorpse]] - no masks&lt;br /&gt;
* [[Prototype/Cliff]] - &amp;lt;code&amp;gt;{ &amp;quot;item-layer&amp;quot;, &amp;quot;object-layer&amp;quot;, &amp;quot;player-layer&amp;quot;, &amp;quot;water-tile&amp;quot;, &amp;quot;not-colliding-with-itself&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/Corpse]] - no masks&lt;br /&gt;
* [[Prototype/DeconstructibleTileProxy]] - &amp;lt;code&amp;gt;{&amp;quot;ground-tile&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/EntityGhost]] - &amp;lt;code&amp;gt;{&amp;quot;ghost-layer&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/EntityParticle]] - no masks&lt;br /&gt;
* [[Prototype/Explosion]] - no masks&lt;br /&gt;
* [[Prototype/FireFlame]] - no masks&lt;br /&gt;
* [[Prototype/Fish]] - &amp;lt;code&amp;gt;{&amp;quot;ground-tile&amp;quot;, &amp;quot;colliding-with-tiles-only&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/FluidStream]] - no masks&lt;br /&gt;
* [[Prototype/FlyingRobot]] - no masks&lt;br /&gt;
* [[Prototype/FlyingText]] - no masks&lt;br /&gt;
* [[Prototype/Gate]] - &amp;lt;code&amp;gt;{&amp;quot;item-layer&amp;quot;, &amp;quot;object-layer&amp;quot;, &amp;quot;player-layer&amp;quot;, &amp;quot;water-tile&amp;quot;, &amp;quot;train-layer&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/HeatPipe]] - &amp;lt;code&amp;gt;{&amp;quot;object-layer&amp;quot;, &amp;quot;floor-layer&amp;quot;, &amp;quot;water-tile&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/HighlightBoxEntity]] - no masks&lt;br /&gt;
* [[Prototype/ItemEntity]] - &amp;lt;code&amp;gt;{&amp;quot;item-layer&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/ItemRequestProxy]] - no masks&lt;br /&gt;
* [[Prototype/LandMine]] - &amp;lt;code&amp;gt;{&amp;quot;object-layer&amp;quot;, &amp;quot;water-tile&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/Loader1x1]] - &amp;lt;code&amp;gt;{&amp;quot;object-layer&amp;quot;, &amp;quot;item-layer&amp;quot;, &amp;quot;transport-belt-layer&amp;quot;, &amp;quot;water-tile&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/Loader1x2]] - &amp;lt;code&amp;gt;{&amp;quot;object-layer&amp;quot;, &amp;quot;item-layer&amp;quot;, &amp;quot;transport-belt-layer&amp;quot;, &amp;quot;water-tile&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/ParticleSource]] - no masks&lt;br /&gt;
* [[Prototype/PlayerPort]] - &amp;lt;code&amp;gt;{&amp;quot;object-layer&amp;quot;, &amp;quot;floor-layer&amp;quot;, &amp;quot;water-tile&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/Projectile]] - no masks&lt;br /&gt;
* [[Prototype/Rail]] - &amp;lt;code&amp;gt;{&amp;quot;item-layer&amp;quot;, &amp;quot;object-layer&amp;quot;,  &amp;quot;rail-layer&amp;quot;, &amp;quot;floor-layer&amp;quot;, &amp;quot;water-tile&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/RailSignalBase]] - &amp;lt;code&amp;gt;{&amp;quot;floor-layer&amp;quot;, &amp;quot;rail-layer&amp;quot;, &amp;quot;item-layer&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/ResourceEntity]] - &amp;lt;code&amp;gt;{&amp;quot;resource-layer&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/RollingStock]] - &amp;lt;code&amp;gt;{&amp;quot;train-layer&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/Smoke]] - no masks&lt;br /&gt;
* [[Prototype/SpeechBubble]] - no masks&lt;br /&gt;
* [[Prototype/SpiderLeg]] - &amp;lt;code&amp;gt;{&amp;quot;player-layer&amp;quot;, &amp;quot;rail-layer&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/Splitter]] - &amp;lt;code&amp;gt;{&amp;quot;object-layer&amp;quot;, &amp;quot;item-layer&amp;quot;, &amp;quot;transport-belt-layer&amp;quot;, &amp;quot;water-tile&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/Sticker]] - no masks&lt;br /&gt;
* [[Prototype/TileGhost]] - &amp;lt;code&amp;gt;{&amp;quot;ghost-layer&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/TransportBelt]] - &amp;lt;code&amp;gt;{&amp;quot;object-layer&amp;quot;, &amp;quot;floor-layer&amp;quot;, &amp;quot;transport-belt-layer&amp;quot;, &amp;quot;water-tile&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/UndergroundBelt]] - &amp;lt;code&amp;gt;{&amp;quot;object-layer&amp;quot;, &amp;quot;item-layer&amp;quot;, &amp;quot;transport-belt-layer&amp;quot;, &amp;quot;water-tile&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/Unit]] - &amp;lt;code&amp;gt;{&amp;quot;player-layer&amp;quot;, &amp;quot;train-layer&amp;quot;, &amp;quot;not-colliding-with-itself&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
* [[Prototype/Vehicle]] - &amp;lt;code&amp;gt;{&amp;quot;player-layer&amp;quot;, &amp;quot;train-layer&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|map_generator_bounding_box|[[Types/BoundingBox|BoundingBox]]|The value of collision box.|optional=true}}&lt;br /&gt;
Used instead of the collision box during map generation. Allows space entities differently during map generation, for example if the box is bigger, the entities will be placed farther apart.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|selection_box|[[Types/BoundingBox|BoundingBox]]|&amp;lt;nowiki&amp;gt;Empty = {{0, 0}, {0, 0}}&amp;lt;/nowiki&amp;gt;|optional=true}}&lt;br /&gt;
Specification of the entity selection area.&lt;br /&gt;
When empty  the entity will have no selection area (and thus is not selectable).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;selection_box = {{-0.5, -0.5}, {0.5, 0.5}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The selection box is usually a little bit bigger than the collision box, for tilable entities (like buildings) it should match the tile size of the building.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|drawing_box|[[Types/BoundingBox|BoundingBox]]|&amp;lt;nowiki&amp;gt;Empty = {{0, 0}, {0, 0}} (selection_box is used instead)&amp;lt;/nowiki&amp;gt;|optional=true}}&lt;br /&gt;
Specification of space needed to see the whole entity. &lt;br /&gt;
&lt;br /&gt;
This is used to calculate the correct zoom and positioning in the entity info gui.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;drawing_box = {{-0.5, -0.5}, {0.5, 0.5}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|sticker_box|[[Types/BoundingBox|BoundingBox]]|The value of collision box.|optional=true}}&lt;br /&gt;
Used to set the area of the entity that can have stickers on it, currently only used for units to specify the area where the green slow down stickers can appear.&lt;br /&gt;
It is optional and the collision box is used when not specified.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;sticker_box = {{-0.5, -0.5}, {0.5, 0.5}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|hit_visualization_box|[[Types/BoundingBox|BoundingBox]]|&amp;lt;nowiki&amp;gt;Empty = {{0, 0}, {0, 0}}&amp;lt;/nowiki&amp;gt;|optional=true}}&lt;br /&gt;
Where beams should hit the entity. Useful if the bounding box only covers part of the entity (e.g. feet of the character) and beams only hitting there would look weird.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|trigger_target_mask|[[Types/TriggerTargetMask|TriggerTargetMask]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|flags|[[Types/EntityPrototypeFlags|EntityPrototypeFlags]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|minable|[[Types/MinableProperties|MinableProperties]]|not minable|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|subgroup|[[Types/string|string]]|optional=true}}&lt;br /&gt;
The name of the subgroup this entity should be sorted into in the map editor building selection.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|allow_copy_paste|[[Types/bool|bool]]|true|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|selectable_in_game|[[Types/bool|bool]]|true|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|selection_priority|[[Types/uint8|uint8]]|50|optional=true}}&lt;br /&gt;
The entity with the higher number is selectable before the entity with the lower number.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|remove_decoratives|[[Types/string|string]]|&amp;quot;automatic&amp;quot;|optional=true}}&lt;br /&gt;
Either &amp;quot;automatic&amp;quot;, &amp;quot;true&amp;quot; or &amp;quot;false&amp;quot;. Whether this entity should remove decoratives that collide with it when this entity is built.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|emissions_per_second|[[Types/double|double]]|0|optional=true}}&lt;br /&gt;
Amount of emissions created (positive number) or cleaned (negative number) every second by the entity.&lt;br /&gt;
This is passive, and it is independent concept of the emissions of machines, these are created actively depending on the power consumption.&lt;br /&gt;
Currently used just for trees.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;emissions_per_second = -0.001 -- cleaning effect of big tree&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|shooting_cursor_size|[[Types/double|double]]|optional=true}}&lt;br /&gt;
The cursor size used when shooting at this entity.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|created_smoke|[[Types/CreateTrivialSmokeEffectItem|CreateTrivialSmokeEffectItem]]|The &amp;quot;smoke-building&amp;quot;-smoke|optional=true}}&lt;br /&gt;
The smoke that is shown when the entity is placed.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|working_sound|[[Types/WorkingSound|WorkingSound]]|optional=true}}&lt;br /&gt;
Will also work on entities that don&#039;t actually do work.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|created_effect|[[Types/Trigger|Trigger]]|optional=true}}&lt;br /&gt;
The effect/trigger that happens when the entity is placed.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|build_sound|[[Types/Sound|Sound]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|mined_sound|[[Types/Sound|Sound]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|mining_sound|[[Types/Sound|Sound]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|rotated_sound|[[Types/Sound|Sound]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|vehicle_impact_sound|[[Types/Sound|Sound]]|optional=true}}&lt;br /&gt;
When playing this sound, the volume is scaled by the speed of the vehicle when colliding with this entity.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|open_sound|[[Types/Sound|Sound]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|close_sound|[[Types/Sound|Sound]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|radius_visualisation_specification|[[Types/RadiusVisualisationSpecification|RadiusVisualisationSpecification]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|build_base_evolution_requirement|[[Types/double|double]]|0|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|alert_icon_shift|[[Types/vector|vector]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|alert_icon_scale|[[Types/float|float]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|fast_replaceable_group|[[Types/string|string]]|&amp;quot;&amp;quot;|optional=true}}&lt;br /&gt;
This allows you to replace an entity that&#039;s already placed, with a different one in your inventory. For example, replacing a burner inserter with a fast inserter.&lt;br /&gt;
&lt;br /&gt;
This is simply a string, so any string can be used here. The entity that should be replaced simply has to use the same string here.&lt;br /&gt;
&lt;br /&gt;
The ones the game uses are:&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;container&amp;quot;&lt;br /&gt;
    &amp;quot;furnace&amp;quot;&lt;br /&gt;
    &amp;quot;transport-belt&amp;quot;&lt;br /&gt;
    &amp;quot;electric-pole&amp;quot;&lt;br /&gt;
    &amp;quot;steam-engine&amp;quot;&lt;br /&gt;
    &amp;quot;inserter&amp;quot;&lt;br /&gt;
    &amp;quot;long-handed-inserter&amp;quot;&lt;br /&gt;
    &amp;quot;pipe&amp;quot;&lt;br /&gt;
    &amp;quot;assembling-machine&amp;quot;&lt;br /&gt;
    &amp;quot;wall&amp;quot;&lt;br /&gt;
    &amp;quot;loader&amp;quot;&lt;br /&gt;
    &amp;quot;rail-signal&amp;quot;&lt;br /&gt;
    &amp;quot;mining-drill&amp;quot;&lt;br /&gt;
    &amp;quot;pumpjack&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|next_upgrade|[[Types/string|string]]|optional=true}}&lt;br /&gt;
Name of the entity that will be automatically selected as the upgrade of this entity when using the [[upgrade planner]] without configuration.&lt;br /&gt;
&lt;br /&gt;
This entity may not have &#039;not-upgradable&#039; flag set and must be minable. This entity mining result must not contain item product with &amp;quot;hidden&amp;quot; flag set. Mining results with no item products are allowed. The entity may not be a [[Prototype/RollingStock]].&amp;lt;br&amp;gt;&lt;br /&gt;
The upgrade target entity needs to have the same bounding box, collision mask, and fast replaceable group as this entity. The upgrade target entity must have least 1 item that builds it that isn&#039;t hidden.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|placeable_by|[[Types/ItemToPlace|ItemToPlace]] or [[Types/table|table]] of [[Types/ItemToPlace|ItemToPlace]]|optional=true}}&lt;br /&gt;
Item that when placed creates this entity. Determines which item is picked when &amp;quot;Q&amp;quot; (smart pipette) is used on the entity, determines which item is needed in a blueprint of this entity.&lt;br /&gt;
&lt;br /&gt;
The item count specified here can&#039;t be larger than the stack size of that item.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|remains_when_mined|[[Types/string|string]] or [[Types/table|table]] of [[Types/string|string]]|optional=true}}&lt;br /&gt;
The entity that remains when this one is mined, deconstructed or fast-replaced. The entity wont actually be spawned if it would collide with the entity that is in the process of being mined.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|additional_pastable_entities|[[Types/table|table]] of [[Types/string|string]]|optional=true}}&lt;br /&gt;
Entities this entity prototype can be pasted on to in addition to the standard supported types.&lt;br /&gt;
This is used to allow copying between types that aren&#039;t compatible on the C++ code side, by allowing mods to receive the [https://lua-api.factorio.com/latest/events.html#on_entity_settings_pasted on_entity_settings_pasted] event for the given entity and do the setting pasting via script.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|tile_width|[[Types/uint32|uint32]]|calculated by the collision box width rounded up.|optional=true}}&lt;br /&gt;
Used to determine how the center of the entity should be positioned when building (unless the offgrid [[Types/EntityPrototypeFlags|flag]] is specified).&lt;br /&gt;
When the tile width is odd, the center will be in the center of the tile, when it is even, the center is on the tile transition.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|tile_height|[[Types/uint32|uint32]]|calculated by the collision box height rounded up.|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|autoplace|[[Types/AutoplaceSpecification|AutoplaceSpecification]]|nil (entity is not autoplacable)|optional=true}}&lt;br /&gt;
Used to specify the rules for placing this entity during map generation.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|map_color|[[Types/Color|Color]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|friendly_map_color|[[Types/Color|Color]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|enemy_map_color|[[Types/Color|Color]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|water_reflection|[[Types/WaterReflectionDefinition|WaterReflectionDefinition]]|optional=true}}&lt;br /&gt;
May also be defined inside &amp;lt;code&amp;gt;graphics_set&amp;lt;/code&amp;gt; instead of directly in the entity prototype. This is useful for entities that use the a &amp;lt;code&amp;gt;graphics_set&amp;lt;/code&amp;gt; property to define their graphics, becausen then all graphics can be in defined one place.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;{&lt;br /&gt;
    type = &amp;quot;container&amp;quot;,&lt;br /&gt;
    name = &amp;quot;wooden-chest&amp;quot;,&lt;br /&gt;
    icon = &amp;quot;__base__/graphics/icons/wooden-chest.png&amp;quot;,&lt;br /&gt;
    flags = {&amp;quot;placeable-neutral&amp;quot;, &amp;quot;player-creation&amp;quot;},&lt;br /&gt;
    minable = {mining_time = 1, result = &amp;quot;wooden-chest&amp;quot;},&lt;br /&gt;
    max_health = 100,&lt;br /&gt;
    corpse = &amp;quot;small-remnants&amp;quot;,&lt;br /&gt;
    collision_box = {{-0.35, -0.35}, {0.35, 0.35}},&lt;br /&gt;
    fast_replaceable_group = &amp;quot;container&amp;quot;,&lt;br /&gt;
    selection_box = {{-0.5, -0.5}, {0.5, 0.5}},&lt;br /&gt;
    inventory_size = 16,&lt;br /&gt;
    open_sound = { filename = &amp;quot;__base__/sound/wooden-chest-open.ogg&amp;quot; },&lt;br /&gt;
    close_sound = { filename = &amp;quot;__base__/sound/wooden-chest-close.ogg&amp;quot; },&lt;br /&gt;
    vehicle_impact_sound =  { filename = &amp;quot;__base__/sound/car-wood-impact.ogg&amp;quot;, volume = 1.0 },&lt;br /&gt;
    picture =&lt;br /&gt;
    {&lt;br /&gt;
      filename = &amp;quot;__base__/graphics/entity/wooden-chest/wooden-chest.png&amp;quot;,&lt;br /&gt;
      priority = &amp;quot;extra-high&amp;quot;,&lt;br /&gt;
      width = 46,&lt;br /&gt;
      height = 33,&lt;br /&gt;
      shift = {0.25, 0.015625}&lt;br /&gt;
    },&lt;br /&gt;
    circuit_wire_connection_point =&lt;br /&gt;
    {&lt;br /&gt;
      shadow =&lt;br /&gt;
      {&lt;br /&gt;
        red = {0.734375, 0.453125},&lt;br /&gt;
        green = {0.609375, 0.515625},&lt;br /&gt;
      },&lt;br /&gt;
      wire =&lt;br /&gt;
      {&lt;br /&gt;
        red = {0.40625, 0.21875},&lt;br /&gt;
        green = {0.40625, 0.375},&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    circuit_connector_sprites = get_circuit_connector_sprites({0.1875, 0.15625}, nil, 18),&lt;br /&gt;
    circuit_wire_max_distance = 9&lt;br /&gt;
  }&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Therenas</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Prototype/Vehicle&amp;diff=184237</id>
		<title>Prototype/Vehicle</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Prototype/Vehicle&amp;diff=184237"/>
		<updated>2021-01-17T23:00:05Z</updated>

		<summary type="html">&lt;p&gt;Therenas: /* Optional properties */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Prototype parent|Prototype/EntityWithHealth}}&lt;br /&gt;
Abstract base of all vehicles.&lt;br /&gt;
&lt;br /&gt;
{{Prototype TOC|&#039;&#039;abstract&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
== Extensions ==&lt;br /&gt;
* [[Prototype/Car]] &#039;&#039;&#039;car&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/RollingStock]] &amp;lt;abstract&amp;gt;&lt;br /&gt;
** [[Prototype/ArtilleryWagon]] &#039;&#039;&#039;artillery-wagon&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/CargoWagon]] &#039;&#039;&#039;cargo-wagon&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/FluidWagon]] &#039;&#039;&#039;fluid-wagon&#039;&#039;&#039;&lt;br /&gt;
** [[Prototype/Locomotive]] &#039;&#039;&#039;locomotive&#039;&#039;&#039;&lt;br /&gt;
* [[Prototype/SpiderVehicle]] &#039;&#039;&#039;spider-vehicle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mandatory properties ==&lt;br /&gt;
This prototype inherits all the properties from [[Prototype/EntityWithHealth]].&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|weight|[[Types/double|double]]}}&lt;br /&gt;
Must be positive. &lt;br /&gt;
Weight of the entity used for physics calculation when car hits something.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|braking_power or braking_force|[[Types/Energy|Energy]] or [[Types/double|double]]}}&lt;br /&gt;
Two different ways to set braking force. At least one must exist. Must be positive.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|friction or friction_force|[[Types/double|double]]}}&lt;br /&gt;
Two different ways to set friction force. At least one must exist. Must be positive.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|energy_per_hit_point|[[Types/double|double]]}}&lt;br /&gt;
The (movement) energy used per hit point (1 hit point = 1 health damage) taken and dealt for this vehicle during collisions. The smaller the number, the more damage this vehicle and the rammed entity take during collisions: &amp;lt;code&amp;gt;damage = energy / energy_per_hit_point&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional properties ==&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|terrain_friction_modifier|[[Types/float|float]]|1|optional=true}}&lt;br /&gt;
Must be in the [0, 1] interval.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|sound_minimum_speed|[[Types/double|double]]|1 / 60.0|optional=true}}&lt;br /&gt;
Must be positive. Sound is scaled by speed.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|sound_scaling_ratio|[[Types/double|double]]|1.0|optional=true}}&lt;br /&gt;
Must be positive. Sound is scaled by speed.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|stop_trigger_speed|[[Types/double|double]]|0.0|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|crash_trigger|[[Types/TriggerEffect|TriggerEffect]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|stop_trigger|[[Types/TriggerEffect|TriggerEffect]]|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|equipment_grid|[[Types/string|string]]|optional=true}}&lt;br /&gt;
The name of the [[Prototype/EquipmentGrid|equipment grid]] this vehicle has.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|minimap_representation|[[Types/Sprite|Sprite]]|optional=true}}&lt;br /&gt;
The sprite that represents this vehicle on the map/minimap.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|selected_minimap_representation|[[Types/Sprite|Sprite]]|optional=true}}&lt;br /&gt;
The sprite that represents this vehicle on the map/minimap when it is selected.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|allow_passengers|[[Types/bool|bool]]|true|optional=true}}&lt;br /&gt;
Determines whether this vehicle accepts passengers. This includes both drivers and gunners, if applicable.&lt;/div&gt;</summary>
		<author><name>Therenas</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Prototype/Module&amp;diff=184128</id>
		<title>Prototype/Module</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Prototype/Module&amp;diff=184128"/>
		<updated>2020-12-27T15:16:46Z</updated>

		<summary type="html">&lt;p&gt;Therenas: Add limitation_blacklist property&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Prototype parent|Prototype/Item}}&lt;br /&gt;
A [[module]].&lt;br /&gt;
&lt;br /&gt;
{{Prototype TOC|module}}&lt;br /&gt;
&lt;br /&gt;
== Mandatory properties ==&lt;br /&gt;
This prototype inherits all the properties from [[Prototype/Item]].&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|category|[[Types/string|string]]}}&lt;br /&gt;
The name of a [[Prototype/ModuleCategory]]. Used when upgrading modules: Ctrl + click modules into an entity and it will replace lower tier modules of the same category with higher tier modules.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|tier|[[Types/uint32|uint32]]}}&lt;br /&gt;
Tier of the module inside its category. Used when upgrading modules: Ctrl + click modules into an entity and it will replace lower tier modules with higher tier modules if they have the same category.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|effect|[[Types/Effect|Effect]]}}&lt;br /&gt;
&lt;br /&gt;
== Optional properties ==&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|requires_beacon_alt_mode|[[Types/bool|bool]]|true|optional=true}}&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|limitation|[[Types/table|table]] of [[Types/string|string]]|optional=true}}&lt;br /&gt;
Array of recipe names this module can be used on. If empty, the module can be used on all recipes.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|limitation_blacklist|[[Types/table|table]] of [[Types/string|string]]|optional=true}}&lt;br /&gt;
Array of recipe names this module can &#039;&#039;&#039;not&#039;&#039;&#039; be used on, implicitly allowing its use on all other recipes. This property has no effect if set to an empty table.&lt;br /&gt;
&lt;br /&gt;
Note that the game converts this into a normal list of limitations internally, so reading [https://lua-api.factorio.com/latest/LuaItemPrototype.html#LuaItemPrototype.limitations LuaItemPrototype.limitations] at runtime will be the product of both ways of defining limitations.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|limitation_message_key|[[Types/string|string]]|optional=true}}&lt;br /&gt;
Mandatory when &amp;lt;code&amp;gt;limitation&amp;lt;/code&amp;gt; is present. The locale key of the message that is shown when the player attempts to use the module on a recipe it can&#039;t be used on. The locale key will be prefixed with &amp;lt;code&amp;gt;item-limitation.&amp;lt;/code&amp;gt; (the &amp;quot;category&amp;quot; of the locale) by the game.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|art_style|[[Types/string|string]]|optional=true}}&lt;br /&gt;
Chooses with what art style the module is shown inside beacons. See [[Types/BeaconModuleVisualizations#art_style]]. Vanilla uses &amp;quot;vanilla&amp;quot; here.&lt;br /&gt;
&lt;br /&gt;
{{Prototype property|beacon_tint|[[Types/table|table]] of [[Types/Color|Color]]|optional=true}}&lt;br /&gt;
Format:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;beacon_tint = { primary = {r=1,g=1,b=1,a=1}, secondary = {r=1,g=1,b=1,a=1}, tertiary = {r=1,g=1,b=1,a=1}, quaternary = {r=1,g=1,b=1,a=1}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Each key/value pair is optional and defaults to no color.&lt;/div&gt;</summary>
		<author><name>Therenas</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Player&amp;diff=170730</id>
		<title>Player</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Player&amp;diff=170730"/>
		<updated>2019-03-15T21:39:23Z</updated>

		<summary type="html">&lt;p&gt;Therenas: Update inventory size and fix related links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
[[File:Player icon.png|right]]&lt;br /&gt;
Factorio is played from the angled top down perspective of the &#039;&#039;player&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;physical representation&#039;&#039; of the player is the &#039;&#039;character&#039;&#039;, who is always at the center of view. In multiplayer, player characters will appear in different colors. Color can be set manually with the &amp;lt;code&amp;gt;/color&amp;lt;/code&amp;gt; command, see [[Console#Change_Player_color|Console]]. These colors transfer to any entered [[car]] or [[tank]], depending on which player is driving them. These colors also transfer to [[gun turret]]s, [[laser turret]]s or [[gate]]s, depending on who they were placed by.&lt;br /&gt;
&lt;br /&gt;
The character is &#039;&#039;&#039;part of the player&#039;&#039;&#039; and represents the physical existence of the player in the game-world. In technical terms: A character is just one property of the [[player]], and it is the only that can be controlled at a time.&lt;br /&gt;
&lt;br /&gt;
The character&#039;s maximum [[Damage|health]] is 250 (without energy shields). The character&#039;s main inventory has 80 slots (without bonuses from [[Power_armor|power armor]], [[Toolbelt_(research)|toolbelt research]], [[Character_logistic_trash_slots_(research)|logistic trash slots]], or the [[#Quickbar_and_shortcut_bar|quickbar]]). Similar to the stationary radar, the character constantly reveals an area of 5×5 [[chunk]]s, centered on the chunk the character occupies.&lt;br /&gt;
&lt;br /&gt;
== Distinction between player and character ==&lt;br /&gt;
&lt;br /&gt;
[[File:Player-running.gif|right|The player (aka the &#039;&#039;character&#039;&#039;) running.]]&lt;br /&gt;
[[File:twoplayers.png|thumb|right|180x180px|Two different color characters in multiplayer.]]&lt;br /&gt;
&lt;br /&gt;
Technically the player is only the &amp;quot;player-view&amp;quot;. The player is unlike the &#039;&#039;character&#039;&#039;, (the little person that runs around on the ground) The character is part of the player, but the player is not just the character.&lt;br /&gt;
&lt;br /&gt;
You can for example play in god-mode (such as in the sandbox game mode). In that mode you don&#039;t have a character, only a player. &lt;br /&gt;
&lt;br /&gt;
In other words, the Player is a term that encompasses both the internal code that defines a player, and the entity in game that interacts with machines/rocks/trees, which is the &#039;&#039;character&#039;&#039;. While this distinction is important for modding and understanding the game&#039;s core, the terms can be used interchangeably for most conversations. For the purpose of this article, &amp;quot;player&amp;quot; will be used.&lt;br /&gt;
&lt;br /&gt;
== World interaction ==&lt;br /&gt;
The player has six primary ways of interacting with the world:&lt;br /&gt;
&lt;br /&gt;
# Crafting items personally from resources using the craft menu (Default open key: E)&lt;br /&gt;
# Placing entities by selecting them from the inventory or toolbar and placing them on a [[tile]] (Default: Left Mouse Button)&lt;br /&gt;
## Opening contextual menus for entities like [[Assembling machine|Assembly Machines]] or [[Chests]], using the same button&lt;br /&gt;
## Removing an entity from the world, returning it to your inventory (Default: &#039;&#039;&#039;Hold&#039;&#039;&#039; Right Mouse Button)&lt;br /&gt;
# Harvesting resources from a tile (Default: &#039;&#039;&#039;Hold&#039;&#039;&#039; RMB)&lt;br /&gt;
# Picking up non-placed items from the ground and placing them in your inventory (Default: Hold/press F)&lt;br /&gt;
# Firing weapons at enemies (Default: Press or hold Spacebar depending on weapon)&lt;br /&gt;
# Passively with a flashlight that automatically turns on during the night time (which transfers to headlights if the player is in a vehicle.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;For more key-bindings, see [[Keyboard bindings]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note: The player can do that only, if his character owns the abilities for this. For example: He cannot fire a weapon, cause he has no weapons-slots.&lt;br /&gt;
&lt;br /&gt;
== Death ==&lt;br /&gt;
When a player is killed, it leaves behind a corpse that lasts 15 minutes and contains all items that were located in the player&#039;s inventory, quickbar, trash slots, and equipment slots. 10 seconds after being killed, the player respawns at the center of the world. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--== Equipment ==&lt;br /&gt;
&lt;br /&gt;
Equipment are items used to speed up entity/resource collection, kill [[enemies]], protect the player&#039;s health, etc. All equipment except for weapons and capsules have durability, and will break after enough uses. Examples of equipment and the equipment inventory are discussed below.&lt;br /&gt;
&lt;br /&gt;
[[File:Equipment slots.png|thumb|right|1: The tool slot for pickaxes. 2: The armor slot. 3: The weapon slots. 4: The ammo slots.]]&lt;br /&gt;
&lt;br /&gt;
=== Tools ===&lt;br /&gt;
Removing or harvesting machines, entities, or resources from the world requires effort and this is implemented by way of a progress bar that needs to fill uninterrupted in order to complete and pick up the object. Starting without a pickaxe, it will take around two seconds to cut down a single tree. Since this is the sort of action required thousands of times over the course of a game, &#039;&#039;it is heavily recommended to craft an [[iron axe]] as the first action the player takes in the game&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A full list of all tools in the game:&lt;br /&gt;
&lt;br /&gt;
* [[Iron axe]]&lt;br /&gt;
* [[Steel axe]]&lt;br /&gt;
* [[Repair pack]]&lt;br /&gt;
* [[Discharge defense remote]]&lt;br /&gt;
&lt;br /&gt;
=== Weapons ===&lt;br /&gt;
Eventually, whether in a peaceful game or not, one will need the capability to destroy the various [[Enemies]] that live in the world.&lt;br /&gt;
&lt;br /&gt;
This capability mostly comes in the form of [[Turrets]] for base defense, but for the player there are two broad categories, more traditional weapons and capsules; discussed below. To fire the main equip-able weapons, the weapon must be in one of the weapon slots. (see above)&lt;br /&gt;
&lt;br /&gt;
If all the preparation is done, fire the weapon with the target enemy key (Default: Spacebar) or the target cursor key (Default: C). Target enemy is a &#039;&#039;safe&#039;&#039; auto-aim that will snap to any enemy in range and begin firing at it for as long as the key is held down. A green target reticle will be shown below the enemy when in range, red when not.&lt;br /&gt;
&lt;br /&gt;
Target cursor will fire your weapon in the direction of your cursor, which is mainly used to clear obstacles such as [[Tree]]s and rocks that block placing things. Bear in mind that damage is calculated as a combination of weapon, ammunition and technology together. Target cursor is capable of shooting anything with health, so be careful when near important buildings. In late game, player gunfire can nearly instantly destroy some buildings.&lt;br /&gt;
&lt;br /&gt;
Each player starts with a simple [[Pistol]] and ten magazines of [[Firearm magazine|basic ammo]], which will fend off the first few biter attacks, but will quickly be insufficient against the growing alien forces.&lt;br /&gt;
&lt;br /&gt;
A list of all traditional weapons in the game:&lt;br /&gt;
&lt;br /&gt;
* [[Pistol]]&lt;br /&gt;
* [[Submachine gun]]&lt;br /&gt;
* [[Shotgun]]&lt;br /&gt;
* [[Combat shotgun]]&lt;br /&gt;
* [[Rocket launcher]]&lt;br /&gt;
* [[Flamethrower]]&lt;br /&gt;
&lt;br /&gt;
=== Capsules ===&lt;br /&gt;
Capsules are consumable weapons systems, they are picked up from the inventory and thrown somewhere in the game world to spawn their effect at that position. Early in the game, these take the form of instant effect grenades that detonate upon reaching the location they were thrown to.&lt;br /&gt;
&lt;br /&gt;
A list of all throw-able capsules in the game:&lt;br /&gt;
&lt;br /&gt;
* [[Grenade]]&lt;br /&gt;
* [[Cluster grenade]]&lt;br /&gt;
* [[Poison capsule]]&lt;br /&gt;
* [[Slowdown capsule]]&lt;br /&gt;
&lt;br /&gt;
=== Combat Robot Capsules ===&lt;br /&gt;
With the mid-game comes access to combat robot capsules, which are deployed the exact same way as previous capsules, however they deploy different forms of hovering robots, with various behaviors and types of attacks/movement. The amount of robots that can be out at one time is limited by the [[Follower robot count (research)|Robot follower count research]].&lt;br /&gt;
&lt;br /&gt;
A list of all robot capsules in the game:&lt;br /&gt;
&lt;br /&gt;
* [[Defender capsule]]&lt;br /&gt;
* [[Distractor capsule]]&lt;br /&gt;
* [[Destroyer capsule]]&lt;br /&gt;
&lt;br /&gt;
=== Armor ===&lt;br /&gt;
Once the player has faced the first proper attack, they will quickly come to learn how much damage they can handle, not much at all. Equipping a decent set of armor is therefore a priority. There are two subcategories of armor in the game, however early in the game the player will only have access to simple basic armor.&lt;br /&gt;
&lt;br /&gt;
A list of all armors in the game:&lt;br /&gt;
&lt;br /&gt;
* [[Light armor]]&lt;br /&gt;
* [[Heavy armor]]&lt;br /&gt;
* [[Modular armor]]&lt;br /&gt;
* [[Power armor]]&lt;br /&gt;
* [[Power armor MK2]]&lt;br /&gt;
&lt;br /&gt;
In addition to protection from damage, some advanced armors also give a bonus to inventory size: 10 slots for modular armor, 20 for power armor, and 30 for power armor mk2.&lt;br /&gt;
&lt;br /&gt;
=== Armor Modules ===&lt;br /&gt;
Once the player has crafted any modular armor they gain access to various general purpose enhancements, which can be freely added or removed from any modular armor. While all of them are capable of fitting in even the [[Modular armor]] individually, their usefulness greatly depends on player choice; i.e. there are no specific best modules or best arrangement of modules.&lt;br /&gt;
&lt;br /&gt;
A list of all armor modules in the game:&lt;br /&gt;
&lt;br /&gt;
* [[Exoskeleton]]&lt;br /&gt;
* [[Battery MK1]]&lt;br /&gt;
* [[Battery MK2]]&lt;br /&gt;
* [[Portable solar panel]]&lt;br /&gt;
* [[Portable fusion reactor]]&lt;br /&gt;
* [[Energy shield]]&lt;br /&gt;
* [[Energy shield MK2]]&lt;br /&gt;
* [[Night vision]]&lt;br /&gt;
* [[Personal laser defense]]&lt;br /&gt;
* [[Discharge defense]]--&amp;gt;&lt;br /&gt;
== Quickbar and shortcut bar ==&lt;br /&gt;
{{Main|Quickbar}}&lt;br /&gt;
The quickbar is a user interface component for creating links to items that are always visible at the bottom of the screen. Once created they can be quickly selected at any time without needing to open the inventory. It shows between one and four bars from a set of ten available, each containing 10 slots. Clicking any filled slot will place the chosen item in the player&#039;s hand if available in the inventory.&lt;br /&gt;
&lt;br /&gt;
{{Main|Shortcut bar}}&lt;br /&gt;
The shortcut bar is a group of icons for accessing regularly used features such as obtaining [[blueprint]]s and [[deconstruction planner]]s with a simple mouse click. It is always visible at the bottom of the screen, appearing to the right of the quickbar. The icons can be hidden and their order can be changed. A maximum of 12 icons can be visible at one time.&lt;br /&gt;
&lt;br /&gt;
[[File:Quickbar and shortcut bar.png]]&lt;br /&gt;
&lt;br /&gt;
== Gallery ==&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=120px&amp;gt;&lt;br /&gt;
File:playerportrait.png|Portrait of the player character; seen when selecting the &amp;quot;First steps&amp;quot; campaign.&lt;br /&gt;
File:All_armor.png|The player character in every type of armor.&lt;br /&gt;
File:Multicolor_all.png|Different possible colors of players, cars, tanks, gun turrets and laser turrets.&lt;br /&gt;
File:Playerflashlight.png|The player character&#039;s flashlight during the night.&lt;br /&gt;
File:dead_player.png|The player&#039;s corpse.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
{{history|0.13.14|&lt;br /&gt;
* Surplus items from crafting are again available for crafting other items. For example, crafting two green circuits will no longer result in two extra copper wires in the player&#039;s inventory. This only applies to items that are automatically crafted as a prerequisite; items the player has explicitly requested to craft will not be used to satisfy the dependencies of any further orders.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.13.0|&lt;br /&gt;
* Armors have inventory size bonuses (10 for modular armor, 20 for power armor, 30 for power armor mk2).}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.12.1|&lt;br /&gt;
* Changed fast inventory transfer from the main player inventory so ctrl+clicking empty slots doesn&#039;t move items to the logistic trash slots.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.12.0|&lt;br /&gt;
* New muzzle flash graphics.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.11.4|&lt;br /&gt;
* Improved player running animation.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.11.0|&lt;br /&gt;
* New player animation, depends on armor}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.10.9|&lt;br /&gt;
* Mining a chest now fails instead of spilling items onto the ground.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.9.0|&lt;br /&gt;
* Player gets a separate warning icon when a building is destroyed.&lt;br /&gt;
* Recipe gui contains recipes not craftable by player (however, their tooltip shows machines where they can be crafted).}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.8.0|&lt;br /&gt;
* Player now starts with 1 [[burner mining drill]] and one [[stone furnace]] in the freeplay.&lt;br /&gt;
* The player can repair structures using [[repair pack]]s.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.7.0|&lt;br /&gt;
* Player moves slower while shooting.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.6.0|&lt;br /&gt;
* Added the ability for the player to request items directly from logistic robots.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.5.0|&lt;br /&gt;
*Player picks all items in range when picking items on the ground, instead of 1 per tick&lt;br /&gt;
* Shooting particles added}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.4.0|&lt;br /&gt;
* Player slides around corners}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.2.8|&lt;br /&gt;
* Player no longer collides with [[Underground belt]].&lt;br /&gt;
* Added auto-targeting for guns.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.2.1|&lt;br /&gt;
* Added warning message when the player tries to build in an invalid position.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.2.0|&lt;br /&gt;
* Screen reddens when taking damage&lt;br /&gt;
* Character animations added}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.1.0|&lt;br /&gt;
* Introduced}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Armor]]&lt;br /&gt;
* [[Weapons]]&lt;br /&gt;
* [[Multiplayer]]&lt;/div&gt;</summary>
		<author><name>Therenas</name></author>
	</entry>
</feed>