<?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=Quchen</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=Quchen"/>
	<link rel="alternate" type="text/html" href="https://wiki.factorio.com/Special:Contributions/Quchen"/>
	<updated>2026-08-21T12:04:17Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Map_structure&amp;diff=216231</id>
		<title>Map structure</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Map_structure&amp;diff=216231"/>
		<updated>2025-10-28T08:39:43Z</updated>

		<summary type="html">&lt;p&gt;Quchen: /* Chunk */ Clarification: not a 20×20 square around the player is generated, it’s 20 tiles in each direction (effectively a 41×41 square)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
&#039;&#039;&#039;Map structure&#039;&#039;&#039; describes the division of the game world into standard [[Units|units]]: tiles and chunks. Tiles are the building blocks of the game, upon which all distance and area measurements are based. Chunks are blocks of 32×32 tiles used for various area-based calculations.&lt;br /&gt;
&lt;br /&gt;
== Tile ==&lt;br /&gt;
[[File:MapStructure-GridExample.png|thumb|right|400px|The tile grid shown in-game; chunks (32×32 tiles) are indicated by the thicker black lines. Click to see at higher resolution.]]&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;tile&#039;&#039;&#039; is a square which defines the smallest possible piece of the game world; the map is built on a grid of tiles. The tile is the basis for all area and distance measurement. Entity sizes are defined in terms of tiles; for example the [[rocket silo]] - the largest entity in the game - is 9 tiles wide and 9 tiles high, usually referred to as 9×9. The smallest possible entity size is therefore one tile, 1×1. Examples of 1×1 entities include [[transport belts]] and [[chests]].&lt;br /&gt;
&lt;br /&gt;
The [[Map_generator#Maximum_map_size_and_used_memory|maximum size of the map]] is a square 2 million tiles on each side, a total of 4 trillion tiles. In practice the map in an average game is likely to be in the range of hundreds of thousands of tiles up to a few million at most.&lt;br /&gt;
&lt;br /&gt;
=== Tile grid alignment ===&lt;br /&gt;
&lt;br /&gt;
Almost all placeable entities are aligned to the tile grid when placed in the game. Exceptions include the [[land mine]] and vehicles such as the [[car]], [[tank]], [[locomotive]] and [[wagon]]s.  Non-placeable entities that do not align to the grid include [[enemies]], [[tree]]s and decoratives.&lt;br /&gt;
&lt;br /&gt;
[[File:MapStructure-PlaceableOffGridExample.png|thumb|none|300px|A few entities can be placed without aligning to the tile grid; this example shows cars, tanks and landmines.]]&lt;br /&gt;
&lt;br /&gt;
=== Example distances ===&lt;br /&gt;
&lt;br /&gt;
* Area covered by [[Radar]]: about 200 tiles diameter (100 tiles in each direction, bounded to the matching [[#Chunk|chunk]]).&lt;br /&gt;
* It takes about 1 minutes and 52 seconds for a player to run 1000 tiles without being given a speed boost (such as via an [[exoskeleton]]).&lt;br /&gt;
&lt;br /&gt;
=== Real world size analogy ===&lt;br /&gt;
&lt;br /&gt;
One tile is generally assumed to be one square meter in size. This measurement is proven to be technically true, and can be verified in-game. A test conducted via car will reveal that covering 250 tiles at 208.0 km/h (57.777 m/s) will take 260 game ticks (4.333 s). Using this data, it can be proven that &amp;lt;code&amp;gt;57.777 m/s ÷ (250 tiles / 4.333 s) ≈ 1 m/tile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;!-- This experiment was performed and verified by the editor. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Chunk ==&lt;br /&gt;
&lt;br /&gt;
[[File:radar_revealing_sectors.gif|thumb|220px|Animation of radars revealing chunks.]]&lt;br /&gt;
&lt;br /&gt;
The map is divided into a grid of &#039;&#039;&#039;chunks&#039;&#039;&#039;, each 32x32 tiles (1024 tiles total).&lt;br /&gt;
&lt;br /&gt;
Several mechanics work on a chunk-by-chunk basis:&lt;br /&gt;
* The map is generated chunk-by-chunk during play. 20 chunks distance in each direction around each player is slowly generated over time, or immediately if revealed directly and not yet generated.&lt;br /&gt;
* [[Player|Players]], [[Radar|radars]], [[Roboport|roboports]], [[Spidertron|spidertrons]], and fired [[Artillery|artillery shells]] reveal chunks and provide [[Radar#Coverage|live coverage]] in remote view on a chunk basis.&lt;br /&gt;
* [[Pollution]] and [[Spores|spores]]{{SA}} are calculated and spread on a chunk basis. (This can generate chunks without revealing them.)&lt;br /&gt;
* [[Enemies#Expansions|Enemy expansion]] is calculated on a chunk basis.&lt;br /&gt;
* [[Demolisher]]{{SA}} territories are chunk-aligned.&lt;br /&gt;
* Enemy pathfinding works in multiple stages, and the first stage is chunk-based. [https://factorio.com/blog/post/fff-317] An unintended result is enemies tend to walk along chunk borders. Also biters and spitters will sometimes attack obstacles at chunk borders that they would normally navigate around.&lt;br /&gt;
* To reduce computation, entire chunks are set inactive when nothing important is happening in them. E.g.: Chunks with only fish or idling enemies may be set inactive, halting their idle movement.&lt;br /&gt;
&lt;br /&gt;
== Visualizing tiles and chunks in-game ==&lt;br /&gt;
&lt;br /&gt;
A tile grid overlay is available which shows the grid upon which the map is built:&lt;br /&gt;
&lt;br /&gt;
* The grid can be shown whenever the player pauses the game (by default with {{Keybinding|shift|space}}).&lt;br /&gt;
** This is configured under Settings-&amp;gt;Interface-&amp;gt;&#039;&#039;&#039;Show grid when game is paused&#039;&#039;&#039;.&lt;br /&gt;
* To see the grid while the game is still running, [[Debug mode|debug settings]] can be used:&lt;br /&gt;
** Pressing {{Keybinding|F4}} will show the &#039;&#039;&#039;Debug settings&#039;&#039;&#039; window.&lt;br /&gt;
** Ticking &#039;&#039;&#039;show-tile-grid&#039;&#039;&#039; under &#039;&#039;&#039;always&#039;&#039;&#039; will show the grid at all times; ticking it under &#039;&#039;&#039;debug&#039;&#039;&#039; will show it only when debug mode is activated.&lt;br /&gt;
** If &#039;&#039;&#039;debug&#039;&#039;&#039; is chosen the grid will become visible whenever {{Keybinding|F5}} is used to enable debug display. Configuring debug mode in this way allows {{Keybinding|F5}} to be used as a convenient toggle for turning the grid on and off, which can be useful when attempting to place entities according to a neat and/or symmetrical design.&lt;br /&gt;
&lt;br /&gt;
{{C|Main}}&lt;/div&gt;</summary>
		<author><name>Quchen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Infobox:Supercapacitor&amp;diff=216158</id>
		<title>Infobox:Supercapacitor</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Infobox:Supercapacitor&amp;diff=216158"/>
		<updated>2025-10-22T21:56:51Z</updated>

		<summary type="html">&lt;p&gt;Quchen: Add recycling results&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
|total-raw = Time, 15 + Battery, 1 + Copper plate, 6 + Electrolyte, 10 + Holmium plate, 2 + Iron plate, 4 + Superconductor, 2&lt;br /&gt;
|prototype-type = item&lt;br /&gt;
|internal-name = supercapacitor&lt;br /&gt;
|category = Intermediate products&lt;br /&gt;
|space-age = yes&lt;br /&gt;
|stack-size = 100&lt;br /&gt;
|rocket-capacity = 500 (5 {{Translation|stacks}})&lt;br /&gt;
|recipe = Time, 10 + Battery, 1 + Electrolyte, 10 + Electronic circuit, 4 + Holmium plate, 2 + Superconductor, 2&lt;br /&gt;
|producers = Electromagnetic plant&lt;br /&gt;
|required-technologies = Electromagnetic plant&lt;br /&gt;
|consumers = Personal battery MK3 + Electromagnetic science pack + Portable fusion reactor + Lightning collector + Mech armor + Tesla ammo + Tesla turret&lt;br /&gt;
|recycling-results = Battery, 0-1 + Electronic circuit, 1 + Holmium plate, 0-1 + Superconductor, 0-1&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;[[Category:Infobox page]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Quchen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Refinery&amp;diff=199611</id>
		<title>Refinery</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Refinery&amp;diff=199611"/>
		<updated>2024-09-18T09:54:15Z</updated>

		<summary type="html">&lt;p&gt;Quchen: Changed redirect target from Oil Refinery to Oil refinery&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Oil refinery]]&lt;/div&gt;</summary>
		<author><name>Quchen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Refinery&amp;diff=199610</id>
		<title>Refinery</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Refinery&amp;diff=199610"/>
		<updated>2024-09-18T09:53:52Z</updated>

		<summary type="html">&lt;p&gt;Quchen: Redirect: Refinery -&amp;gt; Oil Refinery&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Oil Refinery]]&lt;/div&gt;</summary>
		<author><name>Quchen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Blueprint_string_format&amp;diff=198318</id>
		<title>Blueprint string format</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Blueprint_string_format&amp;diff=198318"/>
		<updated>2024-05-14T09:38:52Z</updated>

		<summary type="html">&lt;p&gt;Quchen: Syntax highlighting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:blueprint_string_preview.png|thumb|340px|right|Preview of a blueprint string.]]This is a technical description of the blueprint string format, used to share blueprints with other users.&lt;br /&gt;
&lt;br /&gt;
A blueprint string is a JSON representation of the blueprint, compressed with zlib deflate using compression level 9 and then encoded using base64 with a version byte in front of the encoded string. The version byte is currently 0 (for all Factorio versions through 1.1).&lt;br /&gt;
So to get the JSON representation of a blueprint from a blueprint string, skip the first byte, base64 decode the string, and finally decompress using zlib inflate.&lt;br /&gt;
&lt;br /&gt;
== Json representation of a blueprint/blueprint book ==&lt;br /&gt;
&lt;br /&gt;
The json representation of a blueprint or blueprint book is one large object inside another &amp;quot;wrapping&amp;quot; object, its key inside that object is either blueprint or blueprint-book.&lt;br /&gt;
&lt;br /&gt;
=== Blueprint book object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| item&lt;br /&gt;
| String, the name of the item that was saved (&amp;quot;blueprint-book&amp;quot; in vanilla).&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| label&lt;br /&gt;
| String, the name of the blueprint set by the user.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| label_color&lt;br /&gt;
| The color of the label of this blueprint. Optional. [[#Color object]].&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| blueprints&lt;br /&gt;
| The actual content of the blueprint book, array of objects containing an &amp;quot;index&amp;quot; key and 0-based value and a &amp;quot;blueprint&amp;quot; key with a [[#Blueprint object]] as the value.&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| active_index&lt;br /&gt;
| Index of the currently selected blueprint, 0-based.&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| icons&lt;br /&gt;
| The icons of the blueprint book set by the user, array of [[#Icon object]]s.&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| description&lt;br /&gt;
| The description of the blueprint book. Optional.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| version&lt;br /&gt;
| The map version of the map the blueprint was created in, see [[Version string format]].&lt;br /&gt;
| Integer (long)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Blueprint object ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| item&lt;br /&gt;
| String, the name of the item that was saved (&amp;quot;blueprint&amp;quot; in vanilla).&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| label&lt;br /&gt;
| String, the name of the blueprint set by the user.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| label_color&lt;br /&gt;
| The color of the label of this blueprint. Optional. [[#Color object]].&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| entities&lt;br /&gt;
| The actual content of the blueprint, array of [[#Entity object]]s.&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| tiles&lt;br /&gt;
| The tiles included in the blueprint, array of [[#Tile object]]s.&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| icons&lt;br /&gt;
| The icons of the blueprint set by the user, array of [[#Icon object]]s.&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| schedules&lt;br /&gt;
| The schedules for trains in this blueprint, array of [[#Schedule object]]s.&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| description&lt;br /&gt;
| The description of the blueprint. Optional.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| snap-to-grid&lt;br /&gt;
| The dimensions of the grid to use for snapping. Optional. [[#Position object]].&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| absolute-snapping&lt;br /&gt;
| Whether the blueprint uses absolute or relative snapping. Optional.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| position-relative-to-grid&lt;br /&gt;
| Offset relative to the global absolute snapping grid. Optional. [[#Position object]].&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| version&lt;br /&gt;
| The map version of the map the blueprint was created in.&lt;br /&gt;
| Integer (long)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Icon object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| index&lt;br /&gt;
| Index of the icon, 1-based.&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| signal&lt;br /&gt;
| The icon that is displayed, [[#SignalID object]].&lt;br /&gt;
| Object&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SignalID object ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| name&lt;br /&gt;
| Name of the signal prototype this signal is set to.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| type&lt;br /&gt;
| Type of the signal. Either &amp;quot;item&amp;quot;, &amp;quot;fluid&amp;quot; or &amp;quot;virtual&amp;quot;.&lt;br /&gt;
| String&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Entity object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| entity_number&lt;br /&gt;
| Index of the entity, 1-based.&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| name&lt;br /&gt;
| Prototype name of the entity (e.g. &amp;quot;offshore-pump&amp;quot;).&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| position&lt;br /&gt;
| [[#Position object]], position of the entity within the blueprint.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| direction&lt;br /&gt;
| Direction of the entity, uint (optional).&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| orientation&lt;br /&gt;
| Orientation of cargo wagon or locomotive, value 0 to 1 (optional).&lt;br /&gt;
| Floating Point&lt;br /&gt;
|-&lt;br /&gt;
| connections&lt;br /&gt;
| Circuit connection, object with keys starting from 1, values are [[#Connection object]]s (optional).&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| neighbours&lt;br /&gt;
| Copper wire connections, array of entity_numbers (optional).&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| control_behavior&lt;br /&gt;
| [[#Control behavior object]] of this entity (optional).&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| items&lt;br /&gt;
| Item requests by this entity, this is what defines the item-request-proxy when the blueprint is placed, optional. [[#Item request object]]&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| recipe&lt;br /&gt;
| Name of the recipe prototype this assembling machine is set to, optional, string.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| bar&lt;br /&gt;
| Used by [[Prototype/Container]], optional. The index of the first inaccessible item slot due to limiting with the red &amp;quot;bar&amp;quot;. 0-based [[Types/ItemStackIndex]].&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| inventory&lt;br /&gt;
| Cargo wagon inventory configuration, optional. [[#Inventory object]]&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| infinity_settings&lt;br /&gt;
| Used by [[Prototype/InfinityContainer]], optional. [[#Infinity settings object]]&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| type&lt;br /&gt;
| Type of the underground belt or loader, optional. Either &amp;quot;input&amp;quot; or &amp;quot;output&amp;quot;.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| input_priority&lt;br /&gt;
| Input priority of the splitter, optional. Either &amp;quot;right&amp;quot; or &amp;quot;left&amp;quot;, &amp;quot;none&amp;quot; is omitted.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| output_priority&lt;br /&gt;
| Output priority of the splitter, optional. Either &amp;quot;right&amp;quot; or &amp;quot;left&amp;quot;, &amp;quot;none&amp;quot; is omitted.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| filter&lt;br /&gt;
| Filter of the splitter, optional. Name of the item prototype the filter is set to, string.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| filters&lt;br /&gt;
| Filters of the filter inserter or loader, optional. Array of [[#Item filter object]]s.&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| filter_mode&lt;br /&gt;
| Filter mode of the filter inserter, optional. Either &amp;quot;whitelist&amp;quot; or &amp;quot;blacklist&amp;quot;.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| override_stack_size&lt;br /&gt;
| The stack size the inserter is set to, optional. [[Types/uint8]].&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| drop_position&lt;br /&gt;
| The drop position the inserter is set to, optional. [[#Position object]].&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| pickup_position&lt;br /&gt;
| The pickup position the inserter is set to, optional. [[#Position object]].&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| request_filters&lt;br /&gt;
| Used by [[Prototype/LogisticContainer]], optional. [[#Logistic filter object]].&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| request_from_buffers&lt;br /&gt;
| Boolean. Whether this requester chest can request from buffer chests.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| parameters&lt;br /&gt;
| Used by [[Programmable speaker]], optional. [[#Speaker parameter object]].&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| alert_parameters&lt;br /&gt;
| Used by [[Programmable speaker]], optional. [[#Speaker alert parameter object]]&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| auto_launch&lt;br /&gt;
| Used by the rocket silo, optional. Boolean, whether auto launch is enabled.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| variation&lt;br /&gt;
| Used by [[Prototype/SimpleEntityWithForce]] or [[Prototype/SimpleEntityWithOwner]], optional. [[Types/GraphicsVariation]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| color&lt;br /&gt;
| Color of the [[Prototype/SimpleEntityWithForce]], [[Prototype/SimpleEntityWithOwner]], or train station, optional. [[#Color object]].&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| station&lt;br /&gt;
| The name of the train station, optional.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| manual_trains_limit&lt;br /&gt;
| The manually set train limit of the train station, optional.&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| switch_state&lt;br /&gt;
| The current state of the power switch, optional.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| tags&lt;br /&gt;
| Dictionary of arbitrary data, optional. [https://lua-api.factorio.com/latest/concepts.html#Tags Tags].&lt;br /&gt;
| Object&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Inventory object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| filters&lt;br /&gt;
| Array of [[#Item filter object]]s.&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| bar&lt;br /&gt;
| The index of the first inaccessible item slot due to limiting with the red &amp;quot;bar&amp;quot;. 0-based, optional.  [[Types/ItemStackIndex]].&lt;br /&gt;
| Integer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Schedule object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| schedule&lt;br /&gt;
| Array of [[#Schedule Record object]]s.&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| locomotives&lt;br /&gt;
| Array of entity numbers of locomotives using this schedule.&lt;br /&gt;
| Array&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Schedule Record object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| station&lt;br /&gt;
| The name of the stop for this schedule record.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| wait_conditions&lt;br /&gt;
| Array of [[#Wait Condition object]]s.&lt;br /&gt;
| Array&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Wait Condition object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| type&lt;br /&gt;
| One of &amp;quot;time&amp;quot;, &amp;quot;inactivity&amp;quot;, &amp;quot;full&amp;quot;, &amp;quot;empty&amp;quot;, &amp;quot;item_count&amp;quot;, &amp;quot;circuit&amp;quot;, &amp;quot;robots_inactive&amp;quot;, &amp;quot;fluid_count&amp;quot;, &amp;quot;passenger_present&amp;quot;, &amp;quot;passenger_not_present&amp;quot;.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| compare_type&lt;br /&gt;
| Either &amp;quot;and&amp;quot;, or &amp;quot;or&amp;quot;. Tells how this condition is to be compared with the preceding conditions in the corresponding wait_conditions array.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| ticks&lt;br /&gt;
| Number of ticks to wait or of inactivity. Only present when type is &amp;quot;time&amp;quot; or &amp;quot;inactivity&amp;quot;. Optional.&lt;br /&gt;
| uint&lt;br /&gt;
|-&lt;br /&gt;
| condition&lt;br /&gt;
| [https://lua-api.factorio.com/latest/concepts.html#CircuitCondition CircuitCondition object], only present when type is &amp;quot;item_count&amp;quot;, &amp;quot;circuit&amp;quot; or &amp;quot;fluid_count&amp;quot;.&lt;br /&gt;
| Object&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tile object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| name&lt;br /&gt;
| Prototype name of the tile (e.g. &amp;quot;concrete&amp;quot;)&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| position&lt;br /&gt;
| [[#Position object]], position of the entity within the blueprint.&lt;br /&gt;
| Object&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Position object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| x&lt;br /&gt;
| X position within the blueprint, 0 is the center.&lt;br /&gt;
| Floating point&lt;br /&gt;
|-&lt;br /&gt;
| y&lt;br /&gt;
| Y position within the blueprint, 0 is the center.&lt;br /&gt;
| Floating point&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Connection object ===&lt;br /&gt;
Object containing information about the connections to other entities formed by red or green wires.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| First connection point. The default for everything that doesn&#039;t have multiple connection points.[[#Connection point object]]&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Second connection point. For example, the &amp;quot;output&amp;quot; part of an arithmetic combinator.[[#Connection point object]]&lt;br /&gt;
| Object&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Connection point object ===&lt;br /&gt;
The actual point where a wire is connected to. Contains information about where it is connected to.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| red&lt;br /&gt;
| An array of [[#Connection data object]] containing all the connections from this point created by red wire.&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| green&lt;br /&gt;
| An array of [[#Connection data object]] containing all the connections from this point created by green wire.&lt;br /&gt;
| Array&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Connection data object ===&lt;br /&gt;
Information about a single connection between two connection points.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| entity_id&lt;br /&gt;
| ID of the entity this connection is connected with.&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| circuit_id&lt;br /&gt;
| The circuit connector id of the entity this connection is connected to, see [https://lua-api.factorio.com/latest/defines.html#defines.circuit_connector_id defines.circuit_connector_id].&lt;br /&gt;
| Integer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Item request object ===&lt;br /&gt;
1 or more instances of key/value pairs.&lt;br /&gt;
Key is the name of the item, string.&lt;br /&gt;
Value is the amount of items to be requested, [[Types/ItemCountType]].&lt;br /&gt;
&lt;br /&gt;
=== Item filter object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| name&lt;br /&gt;
| Name of the item prototype this filter is set to.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| index&lt;br /&gt;
| Index of the filter, 1-based. &lt;br /&gt;
| Integer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Infinity settings object ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| remove_unfiltered_items&lt;br /&gt;
| Boolean. Whether the &amp;quot;remove unfiltered items&amp;quot; checkbox is checked.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| filters&lt;br /&gt;
| Filters of the infinity container, optional. Array of [[#Infinity filter object]]s.&lt;br /&gt;
| Array&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Infinity filter object ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| name&lt;br /&gt;
| Name of the item prototype the filter is set to, string.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| count&lt;br /&gt;
| Number the filter is set to, [[Types/ItemCountType]].&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| mode&lt;br /&gt;
| Mode of the filter. Either &amp;quot;at-least&amp;quot;, &amp;quot;at-most&amp;quot;, or &amp;quot;exactly&amp;quot;.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| index&lt;br /&gt;
| Index of the filter, 1-based.&lt;br /&gt;
| Integer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Logistic filter object ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| name&lt;br /&gt;
| Name of the item prototype this filter is set to.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| index&lt;br /&gt;
| Index of the filter, 1-based.&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| count&lt;br /&gt;
| Number the filter is set to, [[Types/ItemCountType]]. Is 0 for storage chests.&lt;br /&gt;
| Integer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speaker parameter object ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| playback_volume&lt;br /&gt;
| [[Types/double]]. Volume of the speaker.&lt;br /&gt;
| Floating point&lt;br /&gt;
|-&lt;br /&gt;
| playback_globally&lt;br /&gt;
| Boolean, whether global playback is enabled.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| allow_polyphony&lt;br /&gt;
| Boolean, whether polyphony is allowed.&lt;br /&gt;
| Boolean&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speaker alert parameter object ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| show_alert&lt;br /&gt;
| Boolean, whether an alert is shown.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| show_on_map&lt;br /&gt;
| Boolean, whether an alert icon is shown on the map.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| icon_signal_id&lt;br /&gt;
| The icon that is displayed with the alert, [[#SignalID object]].&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| alert_message&lt;br /&gt;
| String, message of the alert.&lt;br /&gt;
| String&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Color object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| r&lt;br /&gt;
| red, number from 0 to 1.&lt;br /&gt;
| Floating point&lt;br /&gt;
|-&lt;br /&gt;
| g&lt;br /&gt;
| green, number from 0 to 1.&lt;br /&gt;
| Floating point&lt;br /&gt;
|-&lt;br /&gt;
| b&lt;br /&gt;
| blue, number from 0 to 1.&lt;br /&gt;
| Floating point&lt;br /&gt;
|-&lt;br /&gt;
| a&lt;br /&gt;
| transparency, number from 0 to 1.&lt;br /&gt;
| Floating point&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Control behavior object ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ALL fields are optional&#039;&#039;&#039; and depend on the type of the entity.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Key !! Description !! Data type &lt;br /&gt;
|-&lt;br /&gt;
| logistic_condition&lt;br /&gt;
| [https://lua-api.factorio.com/latest/concepts.html#CircuitCondition CircuitCondition]&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| connect_to_logistic_network&lt;br /&gt;
| Whether this entity is connected to the logistic network and enables/disables based on logistic_condition.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| circuit_close_signal&lt;br /&gt;
| Whether this rail signal can be closed by circuit_condition.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| circuit_read_signal&lt;br /&gt;
| Whether or not to read the state of this rail/chain signal.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| red_output_signal&lt;br /&gt;
| [[#SignalID]] to use if the rail/chain signal is currently red.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| orange_output_signal&lt;br /&gt;
| [[#SignalID]] to use if the rail/chain signal is currently orange.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| green_output_signal&lt;br /&gt;
| [[#SignalID]] to use if the rail/chain signal is currently green.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| blue_output_signal&lt;br /&gt;
| [[#SignalID]] to use if the chain signal is currently blue.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| circuit_condition&lt;br /&gt;
| [https://lua-api.factorio.com/latest/concepts.html#CircuitCondition CircuitCondition]&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| circuit_enable_disable&lt;br /&gt;
| Enable or disable based on circuit_condition.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| send_to_train&lt;br /&gt;
| Send circuit values to the train to use in schedule conditions.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| read_from_train&lt;br /&gt;
| Get the currently stopped trains cargo.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| read_stopped_train&lt;br /&gt;
| Get the currently stopped trains ID.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| train_stopped_signal&lt;br /&gt;
| [[#SignalID]] to output the train ID on.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| set_trains_limit&lt;br /&gt;
| Whether this stations trains limit will be set through circuit values.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| trains_limit_signal&lt;br /&gt;
| [[#SignalID]] to use to set the trains limit.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| read_trains_count&lt;br /&gt;
| Whether to read this stations currently on route trains count.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| trains_count_signal&lt;br /&gt;
| [[#SignalID]] to output the on route trains count on.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| read_logistics&lt;br /&gt;
| Whether this roboport should output the contents of its network.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| read_robot_stats&lt;br /&gt;
| Whether this roboport should output the robot stats of its network.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| available_logistic_output_signal&lt;br /&gt;
| [[#SignalID]] to output available logistic robots on.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| total_logistic_output_signal&lt;br /&gt;
| [[#SignalID]] to output the total count of logistic robots on.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| available_construction_output_signal&lt;br /&gt;
| [[#SignalID]] to output available construction robots on.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| total_construction_output_signal&lt;br /&gt;
| [[#SignalID]] to output the total count of construction robots on.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| circuit_open_gate&lt;br /&gt;
| Whether to limit the gate opening with circuit_condition.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| circuit_read_sensor&lt;br /&gt;
| Whether to send the wall-gate proximity sensor to the circuit network.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| output_signal&lt;br /&gt;
| [[#SignalID]] to output the wall-gate sensor / accumulator charge on.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| circuit_read_hand_contents&lt;br /&gt;
| Whether to read this belts content or inserters hand.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| circuit_contents_read_mode&lt;br /&gt;
| [https://lua-api.factorio.com/latest/defines.html#defines.control_behavior.transport_belt.content_read_mode defines.control_behavior.transport_belt.content_read_mode]&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| circuit_mode_of_operation&lt;br /&gt;
| &lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| circuit_hand_read_mode&lt;br /&gt;
| [https://lua-api.factorio.com/latest/defines.html#defines.control_behavior.inserter.hand_read_mode defines.control_behavior.inserter.hand_read_mode]&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| circuit_set_stack_size&lt;br /&gt;
| Whether to set the inserters stack size from a circuit signal.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| stack_control_input_signal&lt;br /&gt;
| [[#SignalID]] to use to set the inserters stack size.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| circuit_read_resources&lt;br /&gt;
| Whether this miner should output its remaining resource amounts to the circuit network.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| circuit_resource_read_mode&lt;br /&gt;
| [https://lua-api.factorio.com/latest/defines.html#defines.control_behavior.mining_drill.resource_read_mode defines.control_behavior.mining_drill.resource_read_mode]&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| is_on&lt;br /&gt;
| Whether this constant combinator is currently on or off.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| filters&lt;br /&gt;
| Array of [https://lua-api.factorio.com/latest/concepts.html#ConstantCombinatorParameters ConstantCombinatorParameters].&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| arithmetic_conditions&lt;br /&gt;
| [https://lua-api.factorio.com/latest/concepts.html#ArithmeticCombinatorParameters ArithmeticCombinatorParameters]&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| decider_conditions&lt;br /&gt;
| [https://lua-api.factorio.com/latest/concepts.html#DeciderCombinatorParameters DeciderCombinatorParameters]&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| circuit_parameters&lt;br /&gt;
| [https://lua-api.factorio.com/latest/concepts.html#ProgrammableSpeakerCircuitParameters ProgrammableSpeakerCircuitParameters]&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| use_colors&lt;br /&gt;
| Whether this lamp should use colors or not.&lt;br /&gt;
| Boolean&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;br /&gt;
&lt;br /&gt;
== Example code ==&lt;br /&gt;
&lt;br /&gt;
On a typical Bash command line, the blueprint can be decoded like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;echo &amp;quot;$blueprint_string&amp;quot; | cut -c2- | base64 -d | pigz -d&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Quchen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Blueprint_string_format&amp;diff=198317</id>
		<title>Blueprint string format</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Blueprint_string_format&amp;diff=198317"/>
		<updated>2024-05-14T09:38:20Z</updated>

		<summary type="html">&lt;p&gt;Quchen: Add decode one-liner for Bash&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:blueprint_string_preview.png|thumb|340px|right|Preview of a blueprint string.]]This is a technical description of the blueprint string format, used to share blueprints with other users.&lt;br /&gt;
&lt;br /&gt;
A blueprint string is a JSON representation of the blueprint, compressed with zlib deflate using compression level 9 and then encoded using base64 with a version byte in front of the encoded string. The version byte is currently 0 (for all Factorio versions through 1.1).&lt;br /&gt;
So to get the JSON representation of a blueprint from a blueprint string, skip the first byte, base64 decode the string, and finally decompress using zlib inflate.&lt;br /&gt;
&lt;br /&gt;
== Json representation of a blueprint/blueprint book ==&lt;br /&gt;
&lt;br /&gt;
The json representation of a blueprint or blueprint book is one large object inside another &amp;quot;wrapping&amp;quot; object, its key inside that object is either blueprint or blueprint-book.&lt;br /&gt;
&lt;br /&gt;
=== Blueprint book object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| item&lt;br /&gt;
| String, the name of the item that was saved (&amp;quot;blueprint-book&amp;quot; in vanilla).&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| label&lt;br /&gt;
| String, the name of the blueprint set by the user.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| label_color&lt;br /&gt;
| The color of the label of this blueprint. Optional. [[#Color object]].&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| blueprints&lt;br /&gt;
| The actual content of the blueprint book, array of objects containing an &amp;quot;index&amp;quot; key and 0-based value and a &amp;quot;blueprint&amp;quot; key with a [[#Blueprint object]] as the value.&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| active_index&lt;br /&gt;
| Index of the currently selected blueprint, 0-based.&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| icons&lt;br /&gt;
| The icons of the blueprint book set by the user, array of [[#Icon object]]s.&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| description&lt;br /&gt;
| The description of the blueprint book. Optional.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| version&lt;br /&gt;
| The map version of the map the blueprint was created in, see [[Version string format]].&lt;br /&gt;
| Integer (long)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Blueprint object ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| item&lt;br /&gt;
| String, the name of the item that was saved (&amp;quot;blueprint&amp;quot; in vanilla).&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| label&lt;br /&gt;
| String, the name of the blueprint set by the user.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| label_color&lt;br /&gt;
| The color of the label of this blueprint. Optional. [[#Color object]].&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| entities&lt;br /&gt;
| The actual content of the blueprint, array of [[#Entity object]]s.&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| tiles&lt;br /&gt;
| The tiles included in the blueprint, array of [[#Tile object]]s.&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| icons&lt;br /&gt;
| The icons of the blueprint set by the user, array of [[#Icon object]]s.&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| schedules&lt;br /&gt;
| The schedules for trains in this blueprint, array of [[#Schedule object]]s.&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| description&lt;br /&gt;
| The description of the blueprint. Optional.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| snap-to-grid&lt;br /&gt;
| The dimensions of the grid to use for snapping. Optional. [[#Position object]].&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| absolute-snapping&lt;br /&gt;
| Whether the blueprint uses absolute or relative snapping. Optional.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| position-relative-to-grid&lt;br /&gt;
| Offset relative to the global absolute snapping grid. Optional. [[#Position object]].&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| version&lt;br /&gt;
| The map version of the map the blueprint was created in.&lt;br /&gt;
| Integer (long)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Icon object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| index&lt;br /&gt;
| Index of the icon, 1-based.&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| signal&lt;br /&gt;
| The icon that is displayed, [[#SignalID object]].&lt;br /&gt;
| Object&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SignalID object ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| name&lt;br /&gt;
| Name of the signal prototype this signal is set to.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| type&lt;br /&gt;
| Type of the signal. Either &amp;quot;item&amp;quot;, &amp;quot;fluid&amp;quot; or &amp;quot;virtual&amp;quot;.&lt;br /&gt;
| String&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Entity object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| entity_number&lt;br /&gt;
| Index of the entity, 1-based.&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| name&lt;br /&gt;
| Prototype name of the entity (e.g. &amp;quot;offshore-pump&amp;quot;).&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| position&lt;br /&gt;
| [[#Position object]], position of the entity within the blueprint.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| direction&lt;br /&gt;
| Direction of the entity, uint (optional).&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| orientation&lt;br /&gt;
| Orientation of cargo wagon or locomotive, value 0 to 1 (optional).&lt;br /&gt;
| Floating Point&lt;br /&gt;
|-&lt;br /&gt;
| connections&lt;br /&gt;
| Circuit connection, object with keys starting from 1, values are [[#Connection object]]s (optional).&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| neighbours&lt;br /&gt;
| Copper wire connections, array of entity_numbers (optional).&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| control_behavior&lt;br /&gt;
| [[#Control behavior object]] of this entity (optional).&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| items&lt;br /&gt;
| Item requests by this entity, this is what defines the item-request-proxy when the blueprint is placed, optional. [[#Item request object]]&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| recipe&lt;br /&gt;
| Name of the recipe prototype this assembling machine is set to, optional, string.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| bar&lt;br /&gt;
| Used by [[Prototype/Container]], optional. The index of the first inaccessible item slot due to limiting with the red &amp;quot;bar&amp;quot;. 0-based [[Types/ItemStackIndex]].&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| inventory&lt;br /&gt;
| Cargo wagon inventory configuration, optional. [[#Inventory object]]&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| infinity_settings&lt;br /&gt;
| Used by [[Prototype/InfinityContainer]], optional. [[#Infinity settings object]]&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| type&lt;br /&gt;
| Type of the underground belt or loader, optional. Either &amp;quot;input&amp;quot; or &amp;quot;output&amp;quot;.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| input_priority&lt;br /&gt;
| Input priority of the splitter, optional. Either &amp;quot;right&amp;quot; or &amp;quot;left&amp;quot;, &amp;quot;none&amp;quot; is omitted.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| output_priority&lt;br /&gt;
| Output priority of the splitter, optional. Either &amp;quot;right&amp;quot; or &amp;quot;left&amp;quot;, &amp;quot;none&amp;quot; is omitted.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| filter&lt;br /&gt;
| Filter of the splitter, optional. Name of the item prototype the filter is set to, string.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| filters&lt;br /&gt;
| Filters of the filter inserter or loader, optional. Array of [[#Item filter object]]s.&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| filter_mode&lt;br /&gt;
| Filter mode of the filter inserter, optional. Either &amp;quot;whitelist&amp;quot; or &amp;quot;blacklist&amp;quot;.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| override_stack_size&lt;br /&gt;
| The stack size the inserter is set to, optional. [[Types/uint8]].&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| drop_position&lt;br /&gt;
| The drop position the inserter is set to, optional. [[#Position object]].&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| pickup_position&lt;br /&gt;
| The pickup position the inserter is set to, optional. [[#Position object]].&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| request_filters&lt;br /&gt;
| Used by [[Prototype/LogisticContainer]], optional. [[#Logistic filter object]].&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| request_from_buffers&lt;br /&gt;
| Boolean. Whether this requester chest can request from buffer chests.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| parameters&lt;br /&gt;
| Used by [[Programmable speaker]], optional. [[#Speaker parameter object]].&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| alert_parameters&lt;br /&gt;
| Used by [[Programmable speaker]], optional. [[#Speaker alert parameter object]]&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| auto_launch&lt;br /&gt;
| Used by the rocket silo, optional. Boolean, whether auto launch is enabled.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| variation&lt;br /&gt;
| Used by [[Prototype/SimpleEntityWithForce]] or [[Prototype/SimpleEntityWithOwner]], optional. [[Types/GraphicsVariation]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| color&lt;br /&gt;
| Color of the [[Prototype/SimpleEntityWithForce]], [[Prototype/SimpleEntityWithOwner]], or train station, optional. [[#Color object]].&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| station&lt;br /&gt;
| The name of the train station, optional.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| manual_trains_limit&lt;br /&gt;
| The manually set train limit of the train station, optional.&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| switch_state&lt;br /&gt;
| The current state of the power switch, optional.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| tags&lt;br /&gt;
| Dictionary of arbitrary data, optional. [https://lua-api.factorio.com/latest/concepts.html#Tags Tags].&lt;br /&gt;
| Object&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Inventory object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| filters&lt;br /&gt;
| Array of [[#Item filter object]]s.&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| bar&lt;br /&gt;
| The index of the first inaccessible item slot due to limiting with the red &amp;quot;bar&amp;quot;. 0-based, optional.  [[Types/ItemStackIndex]].&lt;br /&gt;
| Integer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Schedule object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| schedule&lt;br /&gt;
| Array of [[#Schedule Record object]]s.&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| locomotives&lt;br /&gt;
| Array of entity numbers of locomotives using this schedule.&lt;br /&gt;
| Array&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Schedule Record object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| station&lt;br /&gt;
| The name of the stop for this schedule record.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| wait_conditions&lt;br /&gt;
| Array of [[#Wait Condition object]]s.&lt;br /&gt;
| Array&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Wait Condition object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| type&lt;br /&gt;
| One of &amp;quot;time&amp;quot;, &amp;quot;inactivity&amp;quot;, &amp;quot;full&amp;quot;, &amp;quot;empty&amp;quot;, &amp;quot;item_count&amp;quot;, &amp;quot;circuit&amp;quot;, &amp;quot;robots_inactive&amp;quot;, &amp;quot;fluid_count&amp;quot;, &amp;quot;passenger_present&amp;quot;, &amp;quot;passenger_not_present&amp;quot;.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| compare_type&lt;br /&gt;
| Either &amp;quot;and&amp;quot;, or &amp;quot;or&amp;quot;. Tells how this condition is to be compared with the preceding conditions in the corresponding wait_conditions array.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| ticks&lt;br /&gt;
| Number of ticks to wait or of inactivity. Only present when type is &amp;quot;time&amp;quot; or &amp;quot;inactivity&amp;quot;. Optional.&lt;br /&gt;
| uint&lt;br /&gt;
|-&lt;br /&gt;
| condition&lt;br /&gt;
| [https://lua-api.factorio.com/latest/concepts.html#CircuitCondition CircuitCondition object], only present when type is &amp;quot;item_count&amp;quot;, &amp;quot;circuit&amp;quot; or &amp;quot;fluid_count&amp;quot;.&lt;br /&gt;
| Object&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tile object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| name&lt;br /&gt;
| Prototype name of the tile (e.g. &amp;quot;concrete&amp;quot;)&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| position&lt;br /&gt;
| [[#Position object]], position of the entity within the blueprint.&lt;br /&gt;
| Object&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Position object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| x&lt;br /&gt;
| X position within the blueprint, 0 is the center.&lt;br /&gt;
| Floating point&lt;br /&gt;
|-&lt;br /&gt;
| y&lt;br /&gt;
| Y position within the blueprint, 0 is the center.&lt;br /&gt;
| Floating point&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Connection object ===&lt;br /&gt;
Object containing information about the connections to other entities formed by red or green wires.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| First connection point. The default for everything that doesn&#039;t have multiple connection points.[[#Connection point object]]&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Second connection point. For example, the &amp;quot;output&amp;quot; part of an arithmetic combinator.[[#Connection point object]]&lt;br /&gt;
| Object&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Connection point object ===&lt;br /&gt;
The actual point where a wire is connected to. Contains information about where it is connected to.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| red&lt;br /&gt;
| An array of [[#Connection data object]] containing all the connections from this point created by red wire.&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| green&lt;br /&gt;
| An array of [[#Connection data object]] containing all the connections from this point created by green wire.&lt;br /&gt;
| Array&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Connection data object ===&lt;br /&gt;
Information about a single connection between two connection points.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| entity_id&lt;br /&gt;
| ID of the entity this connection is connected with.&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| circuit_id&lt;br /&gt;
| The circuit connector id of the entity this connection is connected to, see [https://lua-api.factorio.com/latest/defines.html#defines.circuit_connector_id defines.circuit_connector_id].&lt;br /&gt;
| Integer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Item request object ===&lt;br /&gt;
1 or more instances of key/value pairs.&lt;br /&gt;
Key is the name of the item, string.&lt;br /&gt;
Value is the amount of items to be requested, [[Types/ItemCountType]].&lt;br /&gt;
&lt;br /&gt;
=== Item filter object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| name&lt;br /&gt;
| Name of the item prototype this filter is set to.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| index&lt;br /&gt;
| Index of the filter, 1-based. &lt;br /&gt;
| Integer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Infinity settings object ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| remove_unfiltered_items&lt;br /&gt;
| Boolean. Whether the &amp;quot;remove unfiltered items&amp;quot; checkbox is checked.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| filters&lt;br /&gt;
| Filters of the infinity container, optional. Array of [[#Infinity filter object]]s.&lt;br /&gt;
| Array&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Infinity filter object ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| name&lt;br /&gt;
| Name of the item prototype the filter is set to, string.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| count&lt;br /&gt;
| Number the filter is set to, [[Types/ItemCountType]].&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| mode&lt;br /&gt;
| Mode of the filter. Either &amp;quot;at-least&amp;quot;, &amp;quot;at-most&amp;quot;, or &amp;quot;exactly&amp;quot;.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| index&lt;br /&gt;
| Index of the filter, 1-based.&lt;br /&gt;
| Integer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Logistic filter object ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| name&lt;br /&gt;
| Name of the item prototype this filter is set to.&lt;br /&gt;
| String&lt;br /&gt;
|-&lt;br /&gt;
| index&lt;br /&gt;
| Index of the filter, 1-based.&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| count&lt;br /&gt;
| Number the filter is set to, [[Types/ItemCountType]]. Is 0 for storage chests.&lt;br /&gt;
| Integer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speaker parameter object ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| playback_volume&lt;br /&gt;
| [[Types/double]]. Volume of the speaker.&lt;br /&gt;
| Floating point&lt;br /&gt;
|-&lt;br /&gt;
| playback_globally&lt;br /&gt;
| Boolean, whether global playback is enabled.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| allow_polyphony&lt;br /&gt;
| Boolean, whether polyphony is allowed.&lt;br /&gt;
| Boolean&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Speaker alert parameter object ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| show_alert&lt;br /&gt;
| Boolean, whether an alert is shown.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| show_on_map&lt;br /&gt;
| Boolean, whether an alert icon is shown on the map.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| icon_signal_id&lt;br /&gt;
| The icon that is displayed with the alert, [[#SignalID object]].&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| alert_message&lt;br /&gt;
| String, message of the alert.&lt;br /&gt;
| String&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Color object ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Description !! Data type&lt;br /&gt;
|-&lt;br /&gt;
| r&lt;br /&gt;
| red, number from 0 to 1.&lt;br /&gt;
| Floating point&lt;br /&gt;
|-&lt;br /&gt;
| g&lt;br /&gt;
| green, number from 0 to 1.&lt;br /&gt;
| Floating point&lt;br /&gt;
|-&lt;br /&gt;
| b&lt;br /&gt;
| blue, number from 0 to 1.&lt;br /&gt;
| Floating point&lt;br /&gt;
|-&lt;br /&gt;
| a&lt;br /&gt;
| transparency, number from 0 to 1.&lt;br /&gt;
| Floating point&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Control behavior object ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ALL fields are optional&#039;&#039;&#039; and depend on the type of the entity.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Key !! Description !! Data type &lt;br /&gt;
|-&lt;br /&gt;
| logistic_condition&lt;br /&gt;
| [https://lua-api.factorio.com/latest/concepts.html#CircuitCondition CircuitCondition]&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| connect_to_logistic_network&lt;br /&gt;
| Whether this entity is connected to the logistic network and enables/disables based on logistic_condition.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| circuit_close_signal&lt;br /&gt;
| Whether this rail signal can be closed by circuit_condition.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| circuit_read_signal&lt;br /&gt;
| Whether or not to read the state of this rail/chain signal.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| red_output_signal&lt;br /&gt;
| [[#SignalID]] to use if the rail/chain signal is currently red.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| orange_output_signal&lt;br /&gt;
| [[#SignalID]] to use if the rail/chain signal is currently orange.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| green_output_signal&lt;br /&gt;
| [[#SignalID]] to use if the rail/chain signal is currently green.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| blue_output_signal&lt;br /&gt;
| [[#SignalID]] to use if the chain signal is currently blue.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| circuit_condition&lt;br /&gt;
| [https://lua-api.factorio.com/latest/concepts.html#CircuitCondition CircuitCondition]&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| circuit_enable_disable&lt;br /&gt;
| Enable or disable based on circuit_condition.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| send_to_train&lt;br /&gt;
| Send circuit values to the train to use in schedule conditions.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| read_from_train&lt;br /&gt;
| Get the currently stopped trains cargo.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| read_stopped_train&lt;br /&gt;
| Get the currently stopped trains ID.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| train_stopped_signal&lt;br /&gt;
| [[#SignalID]] to output the train ID on.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| set_trains_limit&lt;br /&gt;
| Whether this stations trains limit will be set through circuit values.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| trains_limit_signal&lt;br /&gt;
| [[#SignalID]] to use to set the trains limit.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| read_trains_count&lt;br /&gt;
| Whether to read this stations currently on route trains count.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| trains_count_signal&lt;br /&gt;
| [[#SignalID]] to output the on route trains count on.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| read_logistics&lt;br /&gt;
| Whether this roboport should output the contents of its network.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| read_robot_stats&lt;br /&gt;
| Whether this roboport should output the robot stats of its network.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| available_logistic_output_signal&lt;br /&gt;
| [[#SignalID]] to output available logistic robots on.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| total_logistic_output_signal&lt;br /&gt;
| [[#SignalID]] to output the total count of logistic robots on.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| available_construction_output_signal&lt;br /&gt;
| [[#SignalID]] to output available construction robots on.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| total_construction_output_signal&lt;br /&gt;
| [[#SignalID]] to output the total count of construction robots on.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| circuit_open_gate&lt;br /&gt;
| Whether to limit the gate opening with circuit_condition.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| circuit_read_sensor&lt;br /&gt;
| Whether to send the wall-gate proximity sensor to the circuit network.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| output_signal&lt;br /&gt;
| [[#SignalID]] to output the wall-gate sensor / accumulator charge on.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| circuit_read_hand_contents&lt;br /&gt;
| Whether to read this belts content or inserters hand.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| circuit_contents_read_mode&lt;br /&gt;
| [https://lua-api.factorio.com/latest/defines.html#defines.control_behavior.transport_belt.content_read_mode defines.control_behavior.transport_belt.content_read_mode]&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| circuit_mode_of_operation&lt;br /&gt;
| &lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| circuit_hand_read_mode&lt;br /&gt;
| [https://lua-api.factorio.com/latest/defines.html#defines.control_behavior.inserter.hand_read_mode defines.control_behavior.inserter.hand_read_mode]&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| circuit_set_stack_size&lt;br /&gt;
| Whether to set the inserters stack size from a circuit signal.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| stack_control_input_signal&lt;br /&gt;
| [[#SignalID]] to use to set the inserters stack size.&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| circuit_read_resources&lt;br /&gt;
| Whether this miner should output its remaining resource amounts to the circuit network.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| circuit_resource_read_mode&lt;br /&gt;
| [https://lua-api.factorio.com/latest/defines.html#defines.control_behavior.mining_drill.resource_read_mode defines.control_behavior.mining_drill.resource_read_mode]&lt;br /&gt;
| Integer&lt;br /&gt;
|-&lt;br /&gt;
| is_on&lt;br /&gt;
| Whether this constant combinator is currently on or off.&lt;br /&gt;
| Boolean&lt;br /&gt;
|-&lt;br /&gt;
| filters&lt;br /&gt;
| Array of [https://lua-api.factorio.com/latest/concepts.html#ConstantCombinatorParameters ConstantCombinatorParameters].&lt;br /&gt;
| Array&lt;br /&gt;
|-&lt;br /&gt;
| arithmetic_conditions&lt;br /&gt;
| [https://lua-api.factorio.com/latest/concepts.html#ArithmeticCombinatorParameters ArithmeticCombinatorParameters]&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| decider_conditions&lt;br /&gt;
| [https://lua-api.factorio.com/latest/concepts.html#DeciderCombinatorParameters DeciderCombinatorParameters]&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| circuit_parameters&lt;br /&gt;
| [https://lua-api.factorio.com/latest/concepts.html#ProgrammableSpeakerCircuitParameters ProgrammableSpeakerCircuitParameters]&lt;br /&gt;
| Object&lt;br /&gt;
|-&lt;br /&gt;
| use_colors&lt;br /&gt;
| Whether this lamp should use colors or not.&lt;br /&gt;
| Boolean&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;br /&gt;
&lt;br /&gt;
== Example code ==&lt;br /&gt;
&lt;br /&gt;
On a typical Bash command line, the blueprint can be decoded like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;echo &amp;quot;$blueprint_string&amp;quot; | cut -c2- | base64 -d | pigz -d&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Quchen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Upcoming_features&amp;diff=197769</id>
		<title>Upcoming features</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Upcoming_features&amp;diff=197769"/>
		<updated>2024-05-05T19:25:12Z</updated>

		<summary type="html">&lt;p&gt;Quchen: Add a couple of FFF links: Fulgora, Vulcanus, and the new buildings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
This is a list of known information about the upcoming expansion pack &#039;&#039;&#039;Factorio: Space Age&#039;&#039;&#039; and the upcoming 2.0 version.&lt;br /&gt;
&lt;br /&gt;
* As of August 2023, development is at the end of step 5 &amp;quot;First pass of tweaking&amp;quot; out of 7 total steps until release. [https://factorio.com/blog/post/fff-373]&lt;br /&gt;
* The planned price is $30.00 because it is &amp;quot;as big an addition as the whole vanilla game.&amp;quot;. [https://factorio.com/blog/post/fff-367]&lt;br /&gt;
* The expected release date is around August 2024 [https://factorio.com/blog/post/fff-373], with it being October 2024 at the latest [https://www.reddit.com/r/factorio/comments/1c4qov8/main_points_from_new_interview_with_kovarex/]&lt;br /&gt;
&lt;br /&gt;
== Space Age expansion ==&lt;br /&gt;
[https://factorio.com/blog/post/fff-367 Friday Facts #367] shows some concept art for the expansion. [https://factorio.com/blog/post/fff-372 Friday Facts #372] shows some item icons from the expansion.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Factorio: Space Age continues the player&#039;s journey after launching rockets into space. Discover new worlds with unique challenges, exploit their novel resources for advanced technological gains, and manage your fleet of interplanetary space platforms.&amp;quot; [https://factorio.com/blog/post/fff-373]&lt;br /&gt;
&lt;br /&gt;
Consists of 3 major mods which can be enabled and disabled at will: Space Age, Quality, and Elevated Rails.&lt;br /&gt;
&lt;br /&gt;
=== Space Age ===&lt;br /&gt;
&lt;br /&gt;
Relevant FFFs: [https://www.factorio.com/blog/post/fff-373 FFF 373 - Factorio: Space Age], [https://www.factorio.com/blog/post/fff-381 FFF 381 - Space Platforms], [https://www.factorio.com/blog/post/fff-386 FFF 386 - Vulcanus], [https://www.factorio.com/blog/post/fff-387 FFF 387 - Swimming in lava], [https://factorio.com/blog/post/fff-398 FFF 398 - Fulgora], [https://factorio.com/blog/post/fff-399 FFF 399 - Trash to Treasure]&lt;br /&gt;
&lt;br /&gt;
* Space Age features 4 new planets (Vulcanus and Fulgora are the only ones to have been officially revealed, the others are thought to be named Bacchus and Aquilo) with their own &amp;quot;unique theme, resource, challenges, and gameplay mechanics&amp;quot;, as well as new enemies to deal with.&lt;br /&gt;
&lt;br /&gt;
* [[Rocket silo | Rockets]] will be significantly cheaper. [[Chemical science pack | Chemical science]] unlocks rocket silo and access to space. [[Space science pack | Space science]] unlocks access to other planets. Some technologies have been moved to one of these planets; artillery, cliff explosives, spidertron, tier 3 modules, and some personal equipment are in this list.&lt;br /&gt;
&lt;br /&gt;
* Playthroughs of Space Age are expected to take approximately 60-100 hours, compared to 150-500+ hours for Space Exploration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New Music:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The expansion will come with five hours of new music, some of it recorded using a live orchestra. [https://www.factorio.com/blog/post/fff-406] There will be around one hour of new music for each new surface (space, plus the four new planets).&lt;br /&gt;
&lt;br /&gt;
* It will also feature a new &amp;quot;variable music tracks&amp;quot; system [https://www.factorio.com/blog/post/fff-407], which seeks to &amp;quot;provide some variety in the music after tens or hundreds of hours spent in game&amp;quot;. But, the developers note: &amp;quot;regular music is still the main focus and large majority of the soundtrack&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* The Space Age soundtrack will be available as a separate digital purchase. [https://factorio.com/blog/post/fff-407]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New Buildings:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Crusher, assembler-like building for breaking down asteroids [https://www.factorio.com/blog/post/fff-381]&lt;br /&gt;
* Asteroid Collector, sends out tentacle-like grabbers to collect asteroids  [https://www.factorio.com/blog/post/fff-381]&lt;br /&gt;
* Space Platform Hub, central unit for space platforms&lt;br /&gt;
* Foundry, processes molten materials [https://factorio.com/blog/post/fff-387]&lt;br /&gt;
* Electromagnetic Plant, builds electricity-based items [https://factorio.com/blog/post/fff-399]&lt;br /&gt;
* Big mining drill, upgraded electric mining drill [https://factorio.com/blog/post/fff-387]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Space Platforms:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Space platforms are player-created surfaces that function both as factories and as transport to other planets.&lt;br /&gt;
&lt;br /&gt;
* Platforms are created by launching a &amp;quot;starter pack&amp;quot; on a rocket, which creates the surface with a hub on it with a small amount of flooring. More flooring can be placed, but can&#039;t contain any holes. The entire platform is lost if the hub is destroyed.&lt;br /&gt;
&lt;br /&gt;
* The hub counts as a construction and logistics handler (as the player is confined to the hub) as well as a train-like entity (for moving between planets).&lt;br /&gt;
&lt;br /&gt;
* Rocket silos now act as a requester chest and can request all items needed by a connected hub in orbit, including ghost entities. Silos can also be manually filled.&lt;br /&gt;
&lt;br /&gt;
* A number of buildings can&#039;t be built on platforms, including construction and logistics robots, chests, vehicles, and burner entities.&lt;br /&gt;
&lt;br /&gt;
* Storage within the hub can be expanded with cargo bays, which is important as you can&#039;t place chests on platforms. Cargo bays can also attach to other cargo bays.&lt;br /&gt;
&lt;br /&gt;
* Platforms act as a power transmitter, removing the need for power poles entirely.&lt;br /&gt;
&lt;br /&gt;
* Asteroids appear around space platforms and act as a renewable way to obtain iron, ice, and carbon. All three are required to produce fuel and oxidiser to move between planets. Moving causes larger, hazardous asteroids to appear that can be shot down into the smaller, collectible form. All asteroid types are collected and then crushed.&lt;br /&gt;
** Metallic asteroids are crushed into iron ore&lt;br /&gt;
** Carbonic asteroids are crushed into carbon&lt;br /&gt;
** Oxide asteroids are crushed into ice, which can be melted into water&lt;br /&gt;
&lt;br /&gt;
* Excess items can be dumped by &amp;quot;inserting&amp;quot; them into a space with no flooring.&lt;br /&gt;
&lt;br /&gt;
* All three asteroid types are also required to produce space science efficiently, as the satellite method now only produces 10 science packs, as well as needing some enriched uranium. Enrichment was moved to space science to compensate for enriched uranium being a required resource. Tier 2 modules were also moved to space science.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vulcanus:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Relevant FFFs: [https://factorio.com/blog/post/fff-386 386 - Vulcanus], [https://factorio.com/blog/post/fff-387 387 - Swimming in lava]&lt;br /&gt;
&lt;br /&gt;
* Vulcanus is a new volcanic planet. Its surface is divided between three distinct biomes: mountains, ashlands and lava basins.&lt;br /&gt;
&lt;br /&gt;
* Mountains are large volcanoes, covered in cliffs and with a large lava pool at their center. They are home to sulfuric acid vents where sulfuric acid can be directly obtained, and a new material, calcite, which is used as a cleansing agent in recipes.&lt;br /&gt;
&lt;br /&gt;
* Ashlands are plateaus speckled with sparse vegetation and deposits of coal. They are home to leafless alien trees, presumably a source of wood.  They are relatively free of cliffs and lava, making them ideal for building.&lt;br /&gt;
&lt;br /&gt;
* Lava basins are filled with winding lava rivers. Within them are deposits of a new material, tungsten, which can only be mined using the new big mining drill.&lt;br /&gt;
&lt;br /&gt;
* The foundry, a new building for crafting with molten materials, can be researched here. It is used to process lava and calcite into molten iron and molten copper, with a byproduct of stone. It can also be used to melt iron and copper and cast molten metals into items such as iron gear wheels, copper wire, steel, and low density structures more quickly than other methods.&lt;br /&gt;
&lt;br /&gt;
* Lava can be used to destroy items by placing items over it with an inserter.&lt;br /&gt;
&lt;br /&gt;
* Big mining drills have a range of 13x13 tiles, harvest materials at 2.5/s, have 4 module slots, and have a 50% chance not to reduce resource richness, which can be further decreased at higher qualities.&lt;br /&gt;
&lt;br /&gt;
* Sulfuric acid and calcite can be obtained to create water, which is the only local source of water on the planet.&lt;br /&gt;
&lt;br /&gt;
* Coal liquefaction is now only obtainable on Vulcanus. A simplified liquefaction process is also available, wherein coal can be processed into oil without the need for heavy oil.&lt;br /&gt;
&lt;br /&gt;
* Tungsten is used in a foundry to create the Metallurgic science pack.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fulgora:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Relevant FFFs: [https://factorio.com/blog/post/fff-398 398 - Fulgora], [https://factorio.com/blog/post/fff-399 399 - Trash to Treasure]&lt;br /&gt;
&lt;br /&gt;
* Fulgora is a new barren desert planet. Its surface is split between island-like plateaus, and deep oilsands.&lt;br /&gt;
&lt;br /&gt;
* Oilsands can be walked through, but only elevated rail supports and offshore pumps can be built in them. Offshore pumps will produce an unlimited supply of Heavy Oil.&lt;br /&gt;
&lt;br /&gt;
* Factory buildings can only be built on plateaus. The only way to bridge the gaps will be with elevated rails, but you will be able to landfill the oilsands in the late game.&lt;br /&gt;
&lt;br /&gt;
* Fulgora is prone to lightning storms at night. Lightning will damage buildings not protected by the new lightning rods.&lt;br /&gt;
&lt;br /&gt;
* Lightning rods will also take energy from lightning and turn it into electricity for the power network. A bank of accumulators is needed to store it through the daytime.&lt;br /&gt;
&lt;br /&gt;
* The plateaus are far enough apart for power poles, so each island will need its own electric network.&lt;br /&gt;
&lt;br /&gt;
* The Electromagnetic Plant, Fulgora&#039;s equivalent to the Foundry, is found here. It is used for crafting electrical-based items such as lightning rods, supercapacitors, and modules. It has an inherent productivity bonus of 50%, which, unlike modules, is not restricted to just intermediate items.&lt;br /&gt;
&lt;br /&gt;
* The main resource on Fulgora is Scrap, which can be processed in the Recycler to create 12 different basic and intermediate products.&lt;br /&gt;
&lt;br /&gt;
* These products include the new Holmium Ore, which can be used to create the Electromagnetic Science Pack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Quality ===&lt;br /&gt;
Relevant FFFs: [https://www.factorio.com/blog/post/fff-375 FFF 375 - Quality], [https://www.factorio.com/blog/post/fff-376 FFF 376 - Research and Technology]&lt;br /&gt;
&lt;br /&gt;
* Quality offers &amp;quot;vertical&amp;quot; growth for factories and influences a variety of building and item stats.&lt;br /&gt;
&lt;br /&gt;
* Quality tiers are Normal (0), Uncommon (1), Rare (2), Epic (3), and Legendary (5). Note that legendary quality has a doubled level increase to 5 instead of 4.&lt;br /&gt;
&lt;br /&gt;
* Known effects per level increase:&lt;br /&gt;
** +30% health&lt;br /&gt;
** +30% energy output&lt;br /&gt;
** +30% crafting speed&lt;br /&gt;
** +10% turret range&lt;br /&gt;
** +30% robot limit (rounded down)&lt;br /&gt;
** +30% robot recharge rate (both number and speed, rounded down)&lt;br /&gt;
** +1 tile reach for power poles&lt;br /&gt;
** +30% positive module effects&lt;br /&gt;
** +1 equipment grid size (both dimensions)&lt;br /&gt;
** Larger inventory (unknown boost size)&lt;br /&gt;
** Increased ammo damage (30%?)&lt;br /&gt;
** Faster inserters&lt;br /&gt;
** Reduced resource depletion on miners&lt;br /&gt;
** Larger capacity on accumulators&lt;br /&gt;
** Increased output rate on nuclear reactors, boilers, and steam engines/turbines&lt;br /&gt;
** Increased transmission power and decreased power consumption of beacons&lt;br /&gt;
** Larger scan range on radars&lt;br /&gt;
** +100% durability on consumable items (repair packs, science packs)&lt;br /&gt;
&lt;br /&gt;
* Quality items above Normal are created via quality modules. Quality modules have a strength of 10%/15%/25% in line with the 2/3/5 system other modules use, as well as a speed penalty.&lt;br /&gt;
&lt;br /&gt;
* When crafting an item, each step up applies a 10% (moddable per quality) multiplier to the quality strength to the chance of receiving at least that quality. With four tier 3 quality modules providing a 100% quality strength, this results in 10% odds of at least +1 quality, 1% of at least +2, and so on. The base quality of a craft is the lowest input quality, ignoring fluids; it&#039;s impossible to get a Normal iron gear from two Uncommon iron plates.&lt;br /&gt;
&lt;br /&gt;
* Quality modules can be used on any recipe, unlike productivity modules which can only be used on intermediates. Quality is also random, whereas productivity is a cumulative effect.&lt;br /&gt;
&lt;br /&gt;
* New building: [[Recycler]], gives a 25% chance of returning items created from recipes.&lt;br /&gt;
&lt;br /&gt;
* There is a new achievement for having best legendary armor full of legendary equipment [https://www.factorio.com/blog/post/fff-375] .&lt;br /&gt;
&lt;br /&gt;
=== Elevated Rails ===&lt;br /&gt;
Relevant FFF: [https://www.factorio.com/blog/post/fff-378 FFF 378 - Trains on another level]&lt;br /&gt;
&lt;br /&gt;
New buildings:&lt;br /&gt;
&lt;br /&gt;
* Rail ramp, to change layers&lt;br /&gt;
* Rail support, to support elevated rails&lt;br /&gt;
&lt;br /&gt;
Elevated rails offer a second layer of rail planning, including curved rails and signals. Elevated rails require periodic supports which can be placed on water.&lt;br /&gt;
&lt;br /&gt;
== Known free changes for 2.0 ==&lt;br /&gt;
&lt;br /&gt;
* [[Crafting#Recipe_difficulties|Expensive mode]] gets turned into a mod. [https://forums.factorio.com/viewtopic.php?p=577191#p577191]&lt;br /&gt;
* Better [[Blueprint]] building. [https://www.factorio.com/blog/post/fff-380], [https://www.factorio.com/blog/post/fff-403], [https://www.factorio.com/blog/post/fff-404]&lt;br /&gt;
** &amp;quot;Super Force Building&amp;quot;: Will place [[Landfill]] underneath blueprints when building on water, or delete any other buildings in the way. Underground belts will be placed automatically, if possible.&lt;br /&gt;
** Quick adjustment of [[Blueprint]] grid offsets: SHIFT + Arrow keys adjusts the Grid position, CONTROL + Arrow keys adjusts the Absolute grid offset&lt;br /&gt;
** [[Rail planner]] now works in map mode (and works especially well with the new &amp;quot;Super-force building&amp;quot; feature).&lt;br /&gt;
* Improvements to control of [[train]] systems. [https://factorio.com/blog/post/fff-377],[https://factorio.com/blog/post/fff-389], [https://factorio.com/blog/post/fff-395], [https://www.factorio.com/blog/post/fff-403]&lt;br /&gt;
** Any Item: A new wildcard signal that will replace itself with the first item in the train, allowing for generic trains&lt;br /&gt;
** Disabling: Disabled stations will now act as if their Station Limit=0.&lt;br /&gt;
*** A train en route to a station that is disabled will now continue to the station regardless, instead of skipping it and re-pathing.&lt;br /&gt;
*** A train told to go to a disabled station will enter the &amp;quot;destination full&amp;quot; state and wait until it is enabled again.&lt;br /&gt;
** Locomotive Colours: Locomotives can update their colour based on the destination station&#039;s colour.&lt;br /&gt;
** Manual Push: Push trains with your feet. Very slow.&lt;br /&gt;
** New Rails: [[Rail]]s have a new texture. The geometry behind rail curves has been redone, allowing for 2 and 4-tile S-bends.&lt;br /&gt;
** Reservations: Trains will give up their reservation in a station when they leave the block the station is in, opposed to immediately.&lt;br /&gt;
** Remote Control: It&#039;s now possible to remote drive trains, which is convenient for controlling a Train on another surface without travelling to it&lt;br /&gt;
** Station Interrupts: Trains can be directed to a different station when a condition is met, such as when [[Fuel]] is low.&lt;br /&gt;
** Station Priority: A new slider on Station GUI. Stations have a priority of 0 to 255, with a default of 50.&lt;br /&gt;
*** When deciding between multiple destinations, trains will prefer stations with a higher priority.&lt;br /&gt;
*** Trains at stations with higher priority will be dispatched first.&lt;br /&gt;
** Train Groups: Trains can be assigned a group, and have their schedules changed en masse.&lt;br /&gt;
** [[Train stop]] GUI Improvements:&lt;br /&gt;
*** The GUI now has a &#039;Trains on the way&#039; tab.&lt;br /&gt;
*** When you set the name of a stop, it will copy the limit and colour from an existing stop with that name.&lt;br /&gt;
*** A station&#039;s name is now shown when hovered over on the map.&lt;br /&gt;
*** Train stop now shows path of incoming trains.&lt;br /&gt;
*** Ability to copy-paste Train stops from the map.&lt;br /&gt;
*** Mass stop rename: holding CTRL when confirming a change will rename all stops with that name to the new name.&lt;br /&gt;
*** When you set the name of a stop, it will copy the limit and colour from an existing stop with that name.&lt;br /&gt;
* Factoriopedia: A new GUI which shows every item in the game, how they are crafted, what recipes they&#039;re used in, and what technologies unlock them. Can also be built upon for Expansion and Modded content. [https://factorio.com/blog/post/fff-397]&lt;br /&gt;
* [[Circuit network]] Changes [https://factorio.com/blog/post/fff-384], [https://factorio.com/blog/post/fff-388], [https://factorio.com/blog/post/fff-394], [https://factorio.com/blog/post/fff-402], [https://factorio.com/blog/post/fff-405]&lt;br /&gt;
** [[Assembling machine]]s can now be connected to the circuit network. Functions include setting recipes via signal, reading active ingredients, and outputting a signal when a recipe is finished.&lt;br /&gt;
** [[Lamp]] can now use colours without the need for a circuit connection.&lt;br /&gt;
** The UI for [[Arithmetic combinator]]s and [[Decider combinator]]s are redone. [[Decider combinator]]s can now handle multiple conditions at once.&lt;br /&gt;
** Connecting to the [[Belt transport system]] has the option to read the contents of all belts in the same &#039;transport line&#039;, survives going through underground belts; also has &amp;quot;less visual clutter&amp;quot;&lt;br /&gt;
** Wireless circuit transmission using [[Radar]] with a single radar channel for each surface.&lt;br /&gt;
** Heavily reworked [[Logistic network]] GUI, with remote view panel and table of inventory icons.&lt;br /&gt;
** [[Pump]] now has a filter, which can be set with signals.&lt;br /&gt;
** When using the cut tool, the game remembers outside circuit wire connections, tries to reconnect if possible. This cannot be transferred to a blueprint export string.&lt;br /&gt;
* Small changes [https://factorio.com/blog/post/fff-388]&lt;br /&gt;
** Logistic Requests are re-enabled upon retrieving one&#039;s corpse.&lt;br /&gt;
** Mathematical expressions can be typed in text fields, such as 4k, 4*5k, etc.&lt;br /&gt;
** Save games can now be sorted by last time modified.&lt;br /&gt;
* [[Filter inserter]] and [[Stack filter inserter]] will be removed. All remaining inserters will have the ability to filter 5 items. [https://factorio.com/blog/post/fff-393]&lt;br /&gt;
* [[Stack inserter]]s will be renamed to &amp;quot;Bulk Inserter&amp;quot;. This will be due to a new inserter in the paid Expansion with the ability to stack items on belts, which will take the more appropriate name of Stack Inserter. [https://factorio.com/blog/post/fff-394].&lt;br /&gt;
* [[Ghost]] [[Pipe|pipes]] will visually connect to each other. [https://forums.factorio.com/viewtopic.php?p=578549#p578549]&lt;br /&gt;
* Improved [[Robots | flying robot]] behaviour. [https://www.factorio.com/blog/post/fff-374]&lt;br /&gt;
* Mods can create more than 255 tiles. [https://forums.factorio.com/viewtopic.php?p=589483#p589483]&lt;br /&gt;
* An overhaul to the sound engine, allowing for more dynamic and layered sounds. [https://factorio.com/blog/post/fff-396]&lt;br /&gt;
* Improved world generation of Nauvis, the starting planet. [https://factorio.com/blog/post/fff-401]&lt;br /&gt;
* [[Crafting]] now loops if it needs to run faster than 1 craft per tick [https://www.factorio.com/blog/post/fff-402]&lt;br /&gt;
* The [[Spidertron remote]] is renamed to the &amp;quot;RTS Tool&amp;quot;, which can group Spidertrons, and remembers the last selection of Spidertrons per-surface [https://www.factorio.com/blog/post/fff-404]&lt;br /&gt;
* The Pipette tool now works in more places: recipe slots, logistic slots, inventory slots; placeable tiles like concrete, landfill, platform foundation, etc.; Water, Lava, Oil Ocean (to get offshore pump) [https://www.factorio.com/blog/post/fff-404]&lt;br /&gt;
* [[Rocket silo]] changes [https://www.factorio.com/blog/post/fff-405] [https://discord.com/channels/139677590393716737/603392474458882065/1179442159628341318]&lt;br /&gt;
** Faster subsequent launches: the Silo can craft and buffer an extra rocket inside. These buffered rockets will be launched without the silo going through its normal animation of closing and reopening its doors.&lt;br /&gt;
** [[Rocket control unit]]s are removed. [[Rocket part]] now takes [[Processing unit]] instead.&lt;br /&gt;
* [[Production statistics]] and [[Electric system]] Changes [https://factorio.com/blog/post/fff-408]&lt;br /&gt;
** The Electric Network Info Screen now has a third graph which displays [[Accumulator]] charge over time.&lt;br /&gt;
** Production statistics now has a special selectable item which shows the total of all [[Science pack]]s being produced.&lt;br /&gt;
** If using Space Age from the Paid Expansion, production statistics can show any or all Planets.&lt;br /&gt;
** If using Quality from the Paid Expansion, production statistics can show any or all Quality grades.&lt;br /&gt;
* [[Beacon]] Rebalance [https://factorio.com/blog/post/fff-409]&lt;br /&gt;
** Beacons now transmit at a base strength of 1.5, instead of 0.5.&lt;br /&gt;
** A beacon&#039;s effect on a building now scales based on the square root of the number of beacons effecting the building. Buildings with 8 or fewer beacons receive a buff, 9 or more receive a nerf.&lt;br /&gt;
** If using Quality from the Paid Expansion, higher quality beacons have a greater transmission power.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [https://factorio.com/blog/post/fff-365 Friday Facts #365 - Future plans]&lt;br /&gt;
* [https://factorio.com/blog/post/fff-367 Friday Facts #367 - Expansion news]&lt;br /&gt;
* [https://factorio.com/blog/post/fff-370 Friday Facts #370 - The journey to Nintendo Switch]&lt;br /&gt;
* [https://factorio.com/blog/post/fff-373 Friday Facts #373 - Factorio: Space Age]&lt;br /&gt;
* [https://factorio.com/blog/post/fff-374 Friday Facts #374 - Smarter Robots]&lt;br /&gt;
* [https://factorio.com/blog/post/fff-375 Friday Facts #375 - Quality]&lt;br /&gt;
* [[Roadmap|Planned releases]]&lt;br /&gt;
&lt;br /&gt;
{{C|News}}&lt;/div&gt;</summary>
		<author><name>Quchen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Virtual_signals&amp;diff=134543</id>
		<title>Virtual signals</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Virtual_signals&amp;diff=134543"/>
		<updated>2017-02-07T07:23:00Z</updated>

		<summary type="html">&lt;p&gt;Quchen: Rearrange each/output section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[File:virtual_signals.png|thumb|300px]][[File:logic_signals.png|300px|thumb|There are three types of logic signals]]&lt;br /&gt;
&#039;&#039;&#039;Virtual signals&#039;&#039;&#039; can used as signals in [[Circuit network]]s. They are signals that are not associated with a certain item type, and therefore are immune to non-player based changes. If a circuit network contains virtual signals, they act like a normal item signal, so one can perform comparisons and arithmetical operations.&lt;br /&gt;
&lt;br /&gt;
== Containing signals ==&lt;br /&gt;
Currently Factorio has 45 virtual signals:&lt;br /&gt;
* Numbers 0-9&lt;br /&gt;
* Letters A-Z&lt;br /&gt;
* Colors (red, green, blue, yellow, magenta, cyan, white, gray, black)&lt;br /&gt;
&lt;br /&gt;
Each signal has:&lt;br /&gt;
* A &#039;&#039;name&#039;&#039; (for example &amp;quot;N&amp;quot;) and&lt;br /&gt;
* A &#039;&#039;value&#039;&#039; (for example &amp;quot;19&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
This is similar to a map in programming, where a key holds a value, and the value can be accessed by that key.&lt;br /&gt;
&lt;br /&gt;
== Logic signals ==&lt;br /&gt;
&lt;br /&gt;
There are also some logic signals in Factorio which are accessible by clicking certain signal slots on devices. They have special functions to control information with multiple signals. These three signals are:&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;Everything&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#548b54&amp;quot;&amp;gt;Anything&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#eeb422&amp;quot;&amp;gt;Each&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Everything ===&lt;br /&gt;
==== As input ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| {{imagelink|basic-transport-belt|Transport belts}} | {{imagelink|basic-inserter|Inserters}} | {{imagelink|gate|Gate}} | {{imagelink|rail-signal|Rail signal}} | {{imagelink|lamp|Lamp}} | {{imagelink|offshore-pump|Offshore Pump}} | {{imagelink|small-pump|Small pump}} | {{imagelink|decider-combinator|Decider Combinator}} | {{imagelink|power-switch|Power switch}} |-&lt;br /&gt;
|}&lt;br /&gt;
The &amp;quot;Everything&amp;quot; signal works like a logical AND. It can only be used as the left term of the circuit condition. The condition will only be true if the condition is true for all signals the device receives. Be careful with signals with amount 0, because these signals will not considered by &amp;quot;Everything&amp;quot;, as they are considered &#039;inactive&#039;.&lt;br /&gt;
&lt;br /&gt;
If the decider combinator output is set as &amp;quot;Input count&amp;quot; and not &amp;quot;Everything&amp;quot;, there will be no output even if the condition is true.&lt;br /&gt;
==== As output ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| {{imagelink|decider-combinator|Decider Combinator}} |-&lt;br /&gt;
|}&lt;br /&gt;
If the condition is true, &#039;&#039;all input signals are outputted&#039;&#039;, either with amount 1 or with their input amount.&lt;br /&gt;
=== Anything ===&lt;br /&gt;
==== As input ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| {{imagelink|basic-transport-belt|Transport belts}} | {{imagelink|basic-inserter|Inserters}} | {{imagelink|gate|Gate}} | {{imagelink|rail-signal|Rail signal}} | {{imagelink|lamp|Lamp}} | {{imagelink|offshore-pump|Offshore Pump}} | {{imagelink|small-pump|Small pump}} | {{imagelink|decider-combinator|Decider Combinator}} | {{imagelink|power-switch|Power switch}} |-&lt;br /&gt;
|}&lt;br /&gt;
It works similar as &amp;quot;Everything&amp;quot;, but the condition is true if the condition for at least one input signal is true. (logical OR)&lt;br /&gt;
&lt;br /&gt;
==== As output ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Anything cannot be used as output, will output nothing.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Each ===&lt;br /&gt;
==== As input ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| {{imagelink|arithmetic-combinator|Arithmetic Combinator}} | {{imagelink|decider-combinator|Decider Combinator}} |-&lt;br /&gt;
|}&lt;br /&gt;
The &amp;quot;Each&amp;quot; signal also performs the operation for all input signals, but the condition is not true or false once, but true or false for each input signal individually.&lt;br /&gt;
&lt;br /&gt;
If the output is &amp;quot;1&amp;quot; and not &amp;quot;Each&amp;quot; (decider combinators only), the signal will only be outputted if at least one condition is true. If the output is &amp;quot;Input count&amp;quot; and not &amp;quot;Each&amp;quot;, all amounts of input signals whose condition is true or (for arithmetic combinators) the results of mathematical operations for each input signal are summed and outputted.&lt;br /&gt;
==== As output ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| {{imagelink|arithmetic-combinator|Arithmetic Combinator}} | {{imagelink|decider-combinator|Decider Combinator}} |-&lt;br /&gt;
|}&lt;br /&gt;
The &amp;quot;Each&amp;quot; signal can only be set as output if the left input signal is also &amp;quot;Each&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* Decider combinators output only the input signals for which the input condition is true.&lt;br /&gt;
* Arithmetic combinators apply the operation to each input signal, and output the results alongside each other.&lt;/div&gt;</summary>
		<author><name>Quchen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Roboport&amp;diff=133958</id>
		<title>Roboport</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Roboport&amp;diff=133958"/>
		<updated>2017-01-18T13:49:03Z</updated>

		<summary type="html">&lt;p&gt;Quchen: Mention orange is smaller/green is bigger in introduction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
{{:Roboport/infobox}}&lt;br /&gt;
&lt;br /&gt;
The Roboport is the resting place for all [[Robots]]. It also emits an area of 50x50 tiles, in which logistic robots can interact with logistic network entities, such as [[Storage chest]]s, or [[Requester chest]]s. Additionally, a 100x100 tile area is created for construction robots to function. This can be seen by hovering the mouse on a roboport, or logistics chest.&lt;br /&gt;
&lt;br /&gt;
* The smaller &amp;lt;span style=&amp;quot;color:#E88A0C&amp;quot;&amp;gt;orange&amp;lt;/span&amp;gt; square represents the reach of the logistics network where logistics robots can move.&lt;br /&gt;
* The larger &amp;lt;span style=&amp;quot;color:#00FF00&amp;quot;&amp;gt;green&amp;lt;/span&amp;gt; square represents the extent of the construction network where construction robots can repair, construct or remove structures. Note that construction robots can function inside of the logistics square, it is not exclusive to logistics robots.&lt;br /&gt;
&lt;br /&gt;
Robots placed into the air from the player&#039;s inventory inside of a roboport&#039;s coverage will seek out the nearest roboport to charge and rest.&lt;br /&gt;
&lt;br /&gt;
Two or more roboports can connect to form a [[Robotic network|robotic network]], if the borders of the orange logistic areas touch. This is shown by a dotted line running between the two ports. An example of this can be seen on the bottom-right. Non-connected roboports will not share robots.&lt;br /&gt;
&lt;br /&gt;
[[File:roboport_connection.jpg|300x300px|thumb|Two roboports connecting to form a logistic network. Notice the yellow dotted line indicating a successful bond.]]&lt;br /&gt;
&lt;br /&gt;
== Storage ==&lt;br /&gt;
A Roboport contains 7 [[Storages/Stack|slots]] reserved for [[robots]], and another 7 for [[repair pack]]s. Robots and repair packs can be inserted into the roboport with an [[inserter]]. While seemingly useful, a repair pack inside a roboport is reserved for the construction robots inside the roboport only. Repair packs are better stored inside a [[Storage Chest|logistics storage chest]] or a [[passive provider chest]] where they can be used by all robots in the logistics network. Construction bots, when provided with repair packs, will automatically repair all damaged structures inside of a roboport&#039;s coverage area.&lt;br /&gt;
&lt;br /&gt;
If a roboport is full of robots, robots attempting to rest will find a different roboport.&lt;br /&gt;
&lt;br /&gt;
== Power usage ==&lt;br /&gt;
The Roboport needs ~50 kW of energy when idle, but can use up to 4 x ~1 MW when charging bots. Ensure the power grid can meet the demand when making large requests of the robot system.&lt;br /&gt;
&lt;br /&gt;
Roboports have 4 chargers, which are used to recharge the flying bots. More roboports in a small area will allow for greater charging throughput, if a lot of robots need charging. Robots waiting to be charged will float in place near the roboport and wait their turn.&lt;br /&gt;
&lt;br /&gt;
Robots will not enter a roboport to rest unless they have full charge. Robots with low/no charge can still fly, but will move extremely slowly.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
{{history|0.13.0|&lt;br /&gt;
* Roboport is connectible to the circuit network, it sends the logistic network contents or the robot statistics of the network.&lt;br /&gt;
* Roboports have decreased transmission power consumption (200 kW to 50 kW) while the robots and their recharging have increased power consumption (200 kW per recharge slot to 1MW per slot)&lt;br /&gt;
* Reduced number of drawn connections between roboports again.&lt;br /&gt;
* Optimized roboport radius rendering.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.12.5|&lt;br /&gt;
* Robots can charge from a closer roboport on their way to a more distant one.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.12.0|&lt;br /&gt;
* Reduced number of rendered roboport connections.&lt;br /&gt;
* Inserters can now extract from roboports.&lt;br /&gt;
* Optimized adding and removing roboports, robots keep their tasks if possible.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.10.7|&lt;br /&gt;
* Roboport gui labels updated to state &amp;quot;Roboport&amp;quot;&lt;br /&gt;
* Roboport is no longer categorized as a military structure.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.10.0|&lt;br /&gt;
* Backer names are used to name roboports.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.9.0|&lt;br /&gt;
* Roboports have a separate logistic radius (now 25) and construction radius (now 50)&lt;br /&gt;
* Area visualizations for roboports are displayed under their entities.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.8.5|&lt;br /&gt;
* Only repair packs may be placed into the roboport slots.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.8.2|&lt;br /&gt;
* Roboport supply area increased from 40x40 to 50x50.&lt;br /&gt;
* Lowered transmission energy consumption of roboport from 200 W to 100 W&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.8.0|&lt;br /&gt;
* Introduced}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Robotic network]]&lt;br /&gt;
* [[Logistic network]]&lt;br /&gt;
* [[Repair pack]]&lt;br /&gt;
* [[Robots]]&lt;br /&gt;
* [http://www.factorioforums.com/forum/viewtopic.php?f=18&amp;amp;t=6005 How exactly do Roboports work with each other?]&lt;br /&gt;
* [http://www.factorioforums.com/forum/viewtopic.php?f=6&amp;amp;t=7993 Splitting up roboport functions]:&lt;br /&gt;
** Recharge bots&lt;br /&gt;
** Store unused bots&lt;br /&gt;
** Create a construction network&lt;br /&gt;
** Create a logistics network&lt;br /&gt;
&lt;br /&gt;
{{LogisticsNav}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Items]]&lt;br /&gt;
{{C|Logistic network}}&lt;br /&gt;
{{C|Repair}}&lt;br /&gt;
{{C|Robots}}&lt;/div&gt;</summary>
		<author><name>Quchen</name></author>
	</entry>
</feed>