<?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=Phoenixx</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=Phoenixx"/>
	<link rel="alternate" type="text/html" href="https://wiki.factorio.com/Special:Contributions/Phoenixx"/>
	<updated>2026-04-21T20:05:45Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Character&amp;diff=206583</id>
		<title>Character</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Character&amp;diff=206583"/>
		<updated>2024-11-17T21:14:41Z</updated>

		<summary type="html">&lt;p&gt;Phoenixx: create redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT[[Player]]&lt;/div&gt;</summary>
		<author><name>Phoenixx</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Infobox:Space_science_pack&amp;diff=185567</id>
		<title>Infobox:Space science pack</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Infobox:Space_science_pack&amp;diff=185567"/>
		<updated>2021-04-12T23:53:57Z</updated>

		<summary type="html">&lt;p&gt;Phoenixx: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
|prototype-type = tool&lt;br /&gt;
|internal-name = space-science-pack&lt;br /&gt;
|category = Intermediate products&lt;br /&gt;
|stack-size=2000&lt;br /&gt;
|extra1   = Used by labs for research.&lt;br /&gt;
|producers  = Rocket silo&lt;br /&gt;
|consumers = Raw fish&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Infobox page]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Phoenixx</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Rocket_silo&amp;diff=185566</id>
		<title>Rocket silo</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Rocket_silo&amp;diff=185566"/>
		<updated>2021-04-12T23:26:28Z</updated>

		<summary type="html">&lt;p&gt;Phoenixx: /* Trivia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{languages}}&lt;br /&gt;
{{:Infobox:Rocket silo}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Rocket silo&#039;&#039;&#039; is currently the only win condition.  Once the silo has been built and placed it can be filled with [[low density structure]]s, [[rocket fuel]], and [[rocket control unit]]s, which will allow [[rocket part]]s to be created within the silo.  &lt;br /&gt;
&lt;br /&gt;
In order to launch a rocket, 100 rocket parts need to be crafted. Each rocket part requires 10 low density structures, 10 rocket fuel, and 10 rocket control units.&lt;br /&gt;
 &lt;br /&gt;
When all rocket parts have been completed, the rocket silo interface is at 100% and allows the player to input an item as cargo. Launching the rocket empty or with any payload will complete the game, displaying a victory screen. The screen shows all kills and time played, and offers the player a choice of exiting the current game, continuing play, or viewing the replay.&lt;br /&gt;
&lt;br /&gt;
Launching the rocket with a [[satellite]] as cargo produces 1000 [[space science pack]]s, which are generated inside the silo. The silo interface includes the option to &amp;quot;Auto-launch with cargo&amp;quot;, which will immediately, automatically launch the rocket if it is completed &#039;&#039;and&#039;&#039; cargo has been inserted as payload.&lt;br /&gt;
&lt;br /&gt;
Building a silo requires, among other things, [[electric engine unit]]s, [[engine unit]]s, and [[processing unit]]s, which must be produced in [[assembling machine]]s and cannot be crafted by hand from raw materials. The rocket itself can also only be produced in the silo. The rocket silo accepts [[productivity module|productivity modules]], and due to the high resource requirements to craft a rocket is a good candidate for their use.&lt;br /&gt;
&lt;br /&gt;
The rocket silo result inventory can hold up to 2000 space science packs (one stack), the equivalent of 2 full rocket launch results. When receiving science packs from a launched satellite, the game discards (destroys) all space science packs that exceed the capacity of the rocket result inventory. The &amp;quot;Auto launch with cargo&amp;quot; checkbox does &#039;&#039;&#039;not&#039;&#039;&#039; check if the rocket result inventory can hold the expected space science packs, this has to be manually ensured by the player, for example through the [[circuit network]].&lt;br /&gt;
&lt;br /&gt;
== Maximum throughput ==&lt;br /&gt;
&lt;br /&gt;
The duration of the rocket launch animation is 2420 [[Time#Ticks|game-tick]]s, or 40.33 seconds [https://www.reddit.com/r/technicalfactorio/comments/f753iu/empirical_measurements_on_the_silo_animation/fibsvn6/]. This is the time from when the rocket is finished to when production on the next rocket can start, but does not include the time to insert the payload. Unlike rocket part crafting, the animation&#039;s duration is not affected by any modules or beacons. This may become a factor if one is planning to launch rockets at high frequency.&lt;br /&gt;
&lt;br /&gt;
For example, to launch one rocket per minute using a single rocket silo, one would need to produce the rocket parts within (60 - 40.33 =) 19.67 seconds. However, the shortest crafting time achievable for 100 rocket parts in a single silo is ~20.6 seconds; i.e., slightly longer than what would be required to launch 1 rocket / minute. This crafting time is achieved using the maximum of 20 beacons with all [[speed module 3|speed modules 3]], plus 4 [[productivity module 3|productivity modules 3]] in the silo itself. The latter not only cuts resource requirements by almost 30%, but is also faster than using more speed modules 3 in the silo.&lt;br /&gt;
&lt;br /&gt;
Thus, the largest space science pack output one can obtain out of a single rocket silo is about (1000 * 60 / 60.95‬ =~) 984 per minute.&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
The rocket silo, which is used to win the game, is directly connected to the following game-win-based achievements:&lt;br /&gt;
{{Achievement|smoke-me-a-kipper-i-will-be-back-for-breakfast}}&lt;br /&gt;
{{Achievement|no-time-for-chitchat}}&lt;br /&gt;
{{Achievement|there-is-no-spoon}}&lt;br /&gt;
{{Achievement|raining-bullets}}&lt;br /&gt;
{{Achievement|steam-all-the-way}}&lt;br /&gt;
{{Achievement|logistic-network-embargo}}&lt;br /&gt;
{{Achievement|so-long-and-thanks-for-all-the-fish}}&lt;br /&gt;
&lt;br /&gt;
== Trivia ==&lt;br /&gt;
&lt;br /&gt;
The rocket can, technically, accept any item as cargo; however, most will do nothing in particular and simply waste the launch. Notable exceptions include:&lt;br /&gt;
&lt;br /&gt;
{{Spoiler|button-text=Spoiler! Click to view.|message=&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt; [[Vehicle]]s : When a vehicle is inserted into the payload slot, the player can enter the rocket like they would any other vehicle, then launch and ride it.&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt; This allows a fast-moving view of one&#039;s base (as the game world is internally 2-dimensional, the rocket actually simply moves north along the map), and then returns the player next to the launching silo once the launch animation has finished.&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt; If all space near the rocket silo is occupied, the player is placed at spawn instead. &amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; It also wastes the launch, as the rocket&#039;s sole payload slot is occupied by the vehicle, rather than a satellite. (Having any number of satellites in the car&#039;s trunk or the &amp;quot;astronaut&amp;quot;s inventory does not count.) &amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Raw fish]]: Grants the &amp;quot;So long and thanks for all the fish!&amp;quot; achievement. Other than this, it also wastes the launch.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Space science pack]]: Returns one [[raw fish]] for every science pack that is launched, but no more than 100 raw fishes per launch.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Gallery ==&lt;br /&gt;
&amp;lt;gallery widths=240px heights=240px&amp;gt;&lt;br /&gt;
File:rocket_silo_rising_rocket.gif|The rocket rising and being primed for launch.&lt;br /&gt;
File:rocket_silo_launch.gif|The rocket launching.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
{{history|0.17.0|&lt;br /&gt;
* Updated sprite and changed dimensions from 9×10 to 9×9. A satellite is no longer required to win the game.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.13.9|&lt;br /&gt;
* Rocket parts from building rockets in the silo now show in production statistics.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.12.7|&lt;br /&gt;
* Updated icon.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.12.4|&lt;br /&gt;
* Rocket silo now behaves correctly when out of electricity.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.12.0|&lt;br /&gt;
* Introduced}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Satellite]]&lt;br /&gt;
&lt;br /&gt;
{{ProductionNav}}&lt;br /&gt;
{{C|Space related}}&lt;/div&gt;</summary>
		<author><name>Phoenixx</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Nuke&amp;diff=185422</id>
		<title>Nuke</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Nuke&amp;diff=185422"/>
		<updated>2021-04-06T21:37:24Z</updated>

		<summary type="html">&lt;p&gt;Phoenixx: Redirected page to Atomic bomb&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT[[Atomic bomb]]&lt;/div&gt;</summary>
		<author><name>Phoenixx</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Steam&amp;diff=185421</id>
		<title>Steam</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Steam&amp;diff=185421"/>
		<updated>2021-04-05T21:19:31Z</updated>

		<summary type="html">&lt;p&gt;Phoenixx: /* Trivia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
{{:Infobox:Steam}}&lt;br /&gt;
&#039;&#039;&#039;Steam&#039;&#039;&#039; is a [[fluid system|gas]] created by heating water in a [[boiler]] or [[heat exchanger]]. After being distributed via [[pipe]]s, steam can be used to generate electricity via  [[steam engine]]s and [[steam turbine]]s. Steam is also used in [[coal liquefaction]] in [[oil refinery|oil refineries]]. Since steam is a fluid, it can be stored in a [[storage tank]].&lt;br /&gt;
&lt;br /&gt;
== Power generation ==&lt;br /&gt;
The amount of energy contained in steam is linearly proportional to it&#039;s temperature (minus 15°C ambient temperature). The energy storage of steam is exactly &#039;&#039;200 Joule / unit / degree Celsius&#039;&#039;, so for every degree increase in temperature of a single unit of fluid requires exactly 200 Joules.&lt;br /&gt;
&lt;br /&gt;
In all cases, steam produced in boilers is 165°C and steam from heat exchangers is 500°C. This higher temperature equates to a higher energy density of the same number of units of steam, meaning: higher temperature, more energy per volume. Steam suffers no thermal losses sitting or flowing through [[pipe]]s or [[storage tank]]s, the energy put into water to create steam is the same amount of energy you get back out from it since both steam engines and turbines are 100% efficient.&lt;br /&gt;
&lt;br /&gt;
For example, a storage tank which holds 25000 units of Steam at 165°C contains...&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width: 68%;padding-right: 0em;&amp;quot;&amp;gt;(200 Joule / unit / Celsius) * 25000 units * (165°C-15°C) = 750 000 000 joules = 750 MJ &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A storage tank holding 25000 units of Steam at 500°C thus contains 2.425 &#039;&#039;giga&#039;&#039;joules of energy, a surprisingly large amount equal to 485 fully charged [[accumulator]]s!&lt;br /&gt;
  (200 Joule / unit / Celsius) * 25000 units * (500°C-15°C) = 2 425 000 000 joules = 2.425 GJ&lt;br /&gt;
&lt;br /&gt;
If the temperature of the steam is lower than the steam engine or turbine can handle, then the power output will be lower than optimal, but no energy will be wasted. However, if the temperature of the steam exceeds the maximum temperature of the steam engine or turbine, then the power output is capped at maximum, and the extra energy in the steam is wasted. Other than this difference, either steam engines or turbines can be used to generate power off of steam from any source.&lt;br /&gt;
&lt;br /&gt;
== Trivia ==&lt;br /&gt;
* The fill meter on steam storage tanks fills from the top instead of from the bottom.&lt;br /&gt;
* Steam is among the only two non-liquid fluids in Factorio, the other being [[petroleum gas]].&lt;br /&gt;
* Steam is the only type of fluid that cannot be stored in [[barrel]]s.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
{{history|0.15.10|&lt;br /&gt;
* Introduced as separate fluid. Previously it counted as Water, with a &amp;gt;100 temperature.}}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Fluid system]]&lt;br /&gt;
* [[Electric system]]&lt;br /&gt;
* [[Oil processing]]&lt;br /&gt;
&lt;br /&gt;
{{IntermediateNav}}&lt;br /&gt;
{{C|Fluids}}&lt;/div&gt;</summary>
		<author><name>Phoenixx</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Steam&amp;diff=185407</id>
		<title>Steam</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Steam&amp;diff=185407"/>
		<updated>2021-04-04T22:30:56Z</updated>

		<summary type="html">&lt;p&gt;Phoenixx: /* Trivia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
{{:Infobox:Steam}}&lt;br /&gt;
&#039;&#039;&#039;Steam&#039;&#039;&#039; is a [[fluid system|gas]] created by heating water in a [[boiler]] or [[heat exchanger]]. After being distributed via [[pipe]]s, steam can be used to generate electricity via  [[steam engine]]s and [[steam turbine]]s. Steam is also used in [[coal liquefaction]] in [[oil refinery|oil refineries]]. Since steam is a fluid, it can be stored in a [[storage tank]].&lt;br /&gt;
&lt;br /&gt;
== Power generation ==&lt;br /&gt;
The amount of energy contained in steam is linearly proportional to it&#039;s temperature (minus 15°C ambient temperature). The energy storage of steam is exactly &#039;&#039;200 Joule / unit / degree Celsius&#039;&#039;, so for every degree increase in temperature of a single unit of fluid requires exactly 200 Joules.&lt;br /&gt;
&lt;br /&gt;
In all cases, steam produced in boilers is 165°C and steam from heat exchangers is 500°C. This higher temperature equates to a higher energy density of the same number of units of steam, meaning: higher temperature, more energy per volume. Steam suffers no thermal losses sitting or flowing through [[pipe]]s or [[storage tank]]s, the energy put into water to create steam is the same amount of energy you get back out from it since both steam engines and turbines are 100% efficient.&lt;br /&gt;
&lt;br /&gt;
For example, a storage tank which holds 25000 units of Steam at 165°C contains...&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width: 68%;padding-right: 0em;&amp;quot;&amp;gt;(200 Joule / unit / Celsius) * 25000 units * (165°C-15°C) = 750 000 000 joules = 750 MJ &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A storage tank holding 25000 units of Steam at 500°C thus contains 2.425 &#039;&#039;giga&#039;&#039;joules of energy, a surprisingly large amount equal to 485 fully charged [[accumulator]]s!&lt;br /&gt;
  (200 Joule / unit / Celsius) * 25000 units * (500°C-15°C) = 2 425 000 000 joules = 2.425 GJ&lt;br /&gt;
&lt;br /&gt;
If the temperature of the steam is lower than the steam engine or turbine can handle, then the power output will be lower than optimal, but no energy will be wasted. However, if the temperature of the steam exceeds the maximum temperature of the steam engine or turbine, then the power output is capped at maximum, and the extra energy in the steam is wasted. Other than this difference, either steam engines or turbines can be used to generate power off of steam from any source.&lt;br /&gt;
&lt;br /&gt;
== Trivia ==&lt;br /&gt;
* The fill meter on steam storage tanks fills from the top instead of from the bottom.&lt;br /&gt;
* Steam is among the only two non-liquid fluids in Factorio, the other being [[petroleum gas]].&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
{{history|0.15.10|&lt;br /&gt;
* Introduced as separate fluid. Previously it counted as Water, with a &amp;gt;100 temperature.}}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Fluid system]]&lt;br /&gt;
* [[Electric system]]&lt;br /&gt;
* [[Oil processing]]&lt;br /&gt;
&lt;br /&gt;
{{IntermediateNav}}&lt;br /&gt;
{{C|Fluids}}&lt;/div&gt;</summary>
		<author><name>Phoenixx</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Raw_fish&amp;diff=185376</id>
		<title>Raw fish</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Raw_fish&amp;diff=185376"/>
		<updated>2021-04-04T02:25:11Z</updated>

		<summary type="html">&lt;p&gt;Phoenixx: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
{{:Infobox:Raw fish}}&amp;lt;div style=&amp;quot;overflow: hidden&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Raw fish&#039;&#039;&#039; can be harvested from [[water]]. They can be used to refill a small amount of health instantly. In order to catch raw fish, mine one of the dark spots that can be found moving around in water bodies. Each dark spot yields 5 fish when mined. Fish can be also collected via [[construction robot]]s, by marking a water area that contains fish with a [[deconstruction planner]]. &lt;br /&gt;
&lt;br /&gt;
Raw fish is used to heal by clicking on the character or anywhere else in the world with the fish in the cursor. They heal 80 HP each and have a short cooldown for reuse, limiting the amount of incoming DPS that fish healing can absorb. Using a fish produces a munching sound.&lt;br /&gt;
&lt;br /&gt;
Using [[landfill]] on water where a fish is swimming will &amp;quot;destroy&amp;quot; the fish. Fish can be shot and killed via [[pistol]] or [[submachine gun]], and also by explosions, but are immune to any kind of [[shotgun]] fire. Shooting fish does not grant any fish items.&lt;br /&gt;
&lt;br /&gt;
Fish are created in water when the world is generated and do not despawn or respawn.&lt;br /&gt;
&lt;br /&gt;
Fish can also be obtained by launching a rocket from a [[rocket silo]] equipped with a [[space science pack]]. One science pack is converted to one fish, however one rocket can at most return one stack of raw fish. This means that launching more than 100 space science packs will return only 100 fish and waste all extra science packs.&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
{{Achievement|so-long-and-thanks-for-all-the-fish}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gallery ==&lt;br /&gt;
&amp;lt;gallery widths=250px heights=200px&amp;gt;&lt;br /&gt;
File:Inserter fishing.gif|[[Inserters]] can catch fish.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Trivia ==&lt;br /&gt;
* The fish item icon is meant to represent a [[Wikipedia:en:European perch|European perch]], a freshwater fish widespread in Europe and elsewhere. This was chosen because a perch is the favorite plushie of the artist&#039;s daughter, see the [https://www.reddit.com/r/factorio/comments/gom295/friday_facts_348_the_final_gui_update/frgl1go/ Reddit comment by V453000]&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
{{history|1.0.0|&lt;br /&gt;
* Launching a rocket with space science packs inside now returns fish (not documented)}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.17.77|&lt;br /&gt;
* Inserters can now catch fish (not documented)}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.15.0|&lt;br /&gt;
* Fish can be collected by robots&lt;br /&gt;
* Amount of fish collected at once increased from 1 to 5&lt;br /&gt;
* Amount of health restored by fish increased from 20 to 80}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.6.0|&lt;br /&gt;
* New fish graphics}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.1.0|&lt;br /&gt;
* Introduced}}&lt;br /&gt;
&lt;br /&gt;
{{IntermediateNav}}&lt;br /&gt;
{{C|Resources}}&lt;/div&gt;</summary>
		<author><name>Phoenixx</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Tutorial:Combinator_tutorial&amp;diff=184998</id>
		<title>Tutorial:Combinator tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Tutorial:Combinator_tutorial&amp;diff=184998"/>
		<updated>2021-03-17T11:43:38Z</updated>

		<summary type="html">&lt;p&gt;Phoenixx: /* Binary XOR */ typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;This is an &#039;&#039;&#039;advanced&#039;&#039;&#039; tutorial. Beginners should refer to the [[Tutorial:Circuit network cookbook]] for examples and the [[Circuit network]] page for an overview over the circuit network. This tutorial assumes a basic understanding of circuits and covers more advanced topics like SR latches, memory cells and clocks.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{Languages}}&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Combinator logic is achieved by cross-connecting outputs to inputs in such a way to achieve the desired logic. While advanced logic requires a multitude of combinators, some very useful basic logic can be achieved using only a handful of combinators. Combinator logic works because Factorio only updates at &#039;&#039;&#039;60 times per second&#039;&#039;&#039;, such that combinators analyze their logic in a step, and then sum and/or decide the resulting output values on the next step.&lt;br /&gt;
&lt;br /&gt;
When logic values are computed by combinators, the outputs are not recognized by the circuit network until the following step. So when a [[decider combinator]] is used to detect a certain input condition, it&#039;s output value will not take effect on the circuit network until the next step. &#039;&#039;&#039;This behavior is important to remember and can result in sequencing errors and significant delays when multiple combinators are connected in series.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Circuit wires act like a wire bus in electronics; it carries information in the connected wires, meaning that if there are similar signals on a wire it will add them automatically. If the signal is different, it will be carried in that wire as well, but as a different signal.&lt;br /&gt;
&lt;br /&gt;
When cross-connecting combinators, it is good practice to use the unused color to cross-connect, this will split the input and output networks and prevent unwanted inputs from accidentally connecting to a larger circuit network. Combinators will sum the red and green inputs prior to calculation, so either color can be used when wiring the output back to the input. In in most cases howver, it is more useful to use the opposing color of the wire so that it will not interfere with the resulting output and input.&lt;br /&gt;
&lt;br /&gt;
== Virtual signals ==&lt;br /&gt;
&lt;br /&gt;
[[File:Virtual Signals dialog box.png|thumb|right|Virtual Signals available for use in the circuit network]]&lt;br /&gt;
&lt;br /&gt;
In addition to the standard item signals, Factorio&#039;s circuit network also includes a set of signals that do not represent any particular game item. Instead, these virtual signals serve as user-definable channels for the circuit network; they hold whatever meaning the user wants them to. There are currently 48 virtual signals that can be sent over the circuit network:&lt;br /&gt;
&lt;br /&gt;
* The 36 alphanumeric characters (A-Z, 0-9)&lt;br /&gt;
* Nine colors: red, green, blue, yellow, magenta, cyan, white, grey, and black&lt;br /&gt;
* Three icons: a check mark, an informational letter &#039;i&#039;, and a small, white dot&lt;br /&gt;
&lt;br /&gt;
=== Logic signals ===&lt;br /&gt;
&lt;br /&gt;
There are three additional virtual signals known as &#039;&#039;logic signals&#039;&#039;. Unlike other signals, they cannot be sent over the circuit network; instead, they apply additional logic to combinators that modify their behavior. Specifically, these logic symbols act as wildcards, which are special signals that represent &#039;&#039;&#039;zero or more&#039;&#039;&#039; arbitrary signals instead of representing a single discrete signal.  Factorio&#039;s circuit network implements three types of wildcards.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;span style=&amp;quot;color:#FF6666&amp;quot;&amp;gt;Everything wildcard&amp;lt;/span&amp;gt; [[File:Signal_everything.png|left|20px]] ====&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Everything&#039;&#039; wildcard is used with decider combinators. Its exact behavior depends on whether it is used as an input or an output:&lt;br /&gt;
* &#039;&#039;&#039;Input&#039;&#039;&#039;: Returns true if &#039;&#039;all&#039;&#039; input signals pass the condition, or if there are &#039;&#039;no&#039;&#039; input signals, otherwise it returns false.&lt;br /&gt;
* &#039;&#039;&#039;Output&#039;&#039;&#039;: Returns &#039;&#039;all&#039;&#039; non-zero input signals.&lt;br /&gt;
&lt;br /&gt;
When used as an input, the &#039;&#039;everything&#039;&#039; wildcard can be thought of as a logical AND, or a [[:Wikipedia:universal quantification|universal quantifier]]. When used as an output, it acts as an &#039;echo&#039; or &#039;dump&#039; of input signals.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Can be used as an output as long as the input is not an &#039;&#039;each&#039;&#039; wildcard.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;span style=&amp;quot;color:#99FF99&amp;quot;&amp;gt;Anything wildcard&amp;lt;/span&amp;gt; [[File:Signal_anything.png|left|20px]] ====&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Anything&#039;&#039; wildcard is also used with decider combinators, but only as an input.&lt;br /&gt;
&lt;br /&gt;
Given &#039;&#039;&#039;at least one&#039;&#039;&#039; input signal, it returns true if &#039;&#039;any&#039;&#039; input signal passes the condition. If no signal passes the condition, or there are no input signals, then it returns false. From this behavior, the &#039;&#039;anything&#039;&#039; wildcard can be thought of as a logical OR, or an [[:Wikipedia:existential quantification|existential quantifier]].&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;span style=&amp;quot;color:#FFFF99&amp;quot;&amp;gt;Each wildcard&amp;lt;/span&amp;gt; [[File:Signal_each.png|left|20px]] ====&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Each&#039;&#039; wildcard is used with both decider combinators and [[arithmetic combinator]]s, and behaves somewhat uniquely compared to the previous two. Generally speaking, it performs a combinator action on each signal &#039;&#039;&#039;individually&#039;&#039;&#039;, with the exact action depending on how it is used, and the type of combinator it is used in. It can be used as an input, and it can be used as an output, but &#039;&#039;only when it is used as input as well&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
In a &#039;&#039;&#039;decider combinator&#039;&#039;&#039;, when used as an input, the &#039;&#039;each&#039;&#039; wildcard individually compares each input signal against the combinator condition, returning each signal that passes the condition. The manner that the &#039;&#039;each&#039;&#039; wildcard returns signals when used as input depends on whether or not it is also used as output:&lt;br /&gt;
* &#039;&#039;&#039;Input only&#039;&#039;&#039;: Sums each input signal that passed the condition, and depending on output settings returns either a count of the passed signals or a summation of their values as the desired output signal.&lt;br /&gt;
* &#039;&#039;&#039;Input and Output&#039;&#039;&#039;: Returns each signal that passed the condition, their values depending on the output settings.&lt;br /&gt;
&lt;br /&gt;
In an &#039;&#039;&#039;arithmetic combinator&#039;&#039;&#039;, the designated arithmetic operation is applied individually to each input signal, and similar to the decider combinator, the signal that is returned depends on whether or not the &#039;&#039;each&#039;&#039; wildcard is used as output:&lt;br /&gt;
* &#039;&#039;&#039;Input only&#039;&#039;&#039;: The result of each operation on the input signals is summed and returned as the desired output signal.&lt;br /&gt;
* &#039;&#039;&#039;Input and Output&#039;&#039;&#039;: Each input signal is returned with the result of the specified operation applied to it.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Each&#039;&#039; wildcard is therefore notably more complex than the other two wildcards, but offers a good deal of power in exchange for its complexity.&lt;br /&gt;
&lt;br /&gt;
== Input insulator &amp;amp; gate ==&lt;br /&gt;
An arithmetic combinator set to (In: Each + 0, Out: Each) can be used to swap wire colors and as an insulator to prevent downstream logic from backfeeding into the circuit network&#039;s inputs.&lt;br /&gt;
&lt;br /&gt;
A decider combinator set to (Out: Everything, Input-&amp;gt; Output) will also function as an insulator as long as the set logic condition is true. This can also selectively pass or &#039;gate&#039; inputs only when desired. This could be used to sequentially poll remote train stations for their chest contents, and include only desired stations.&lt;br /&gt;
&lt;br /&gt;
== Set/Reset latching switch ==&lt;br /&gt;
You want something to SET a trigger at some quantity, but then STAY on until that quantity hits some other value, the RESET value. You&#039;ll need one decider combinator and one arithmetic combinator. (Two decider combinators and a [[constant combinator]] can also be used for more complex multi-channel conditions.)&lt;br /&gt;
&lt;br /&gt;
Setup the first decider combinator to the desired set conditional and to output a 1. Then connect the output to the input of an arithmetic combinator, and configure it to multiply by the bias value, which is the difference between the set and reset values, and wire the arithmetic output to the input of the decider. The arithmetic output channel must be set the same as the decider&#039;s input channel.&amp;lt;br&amp;gt;&lt;br /&gt;
Whenever the set conditional is reached, the decider will output a &#039;1&#039;, and the bias of the arithmetic combinator will be applied. This will &#039;hold&#039; the output true until the value goes back below the reset point.&lt;br /&gt;
&lt;br /&gt;
In this specific example, the pump runs when light oil reaches 20000, and turns off when it reaches 5000:&lt;br /&gt;
&lt;br /&gt;
[[File:SR_latch.png|600px]]&lt;br /&gt;
&lt;br /&gt;
A similar backup steam power example with detailed configuration and explanation can be found here:&amp;lt;br&amp;gt;[[Tutorial:Circuit_network_cookbook#RS_latch_-_single_decider_version|RS latch - single decider version]]&lt;br /&gt;
&lt;br /&gt;
== Smart train loading ==&lt;br /&gt;
This solves the problem of loading logistics into chests, which tend to be unequal and is slower in the rate of loading logistics into the cargo of trains.&lt;br /&gt;
&lt;br /&gt;
To setup the design, you require an Arithmetic Combinator, as well as Red and Green wires. &#039;&#039;&#039;Wire all the chests used, to the input of the Arithmetic Combinator&#039;&#039;&#039;. &#039;&#039;&#039;Then write (Logistics Item / -Amount of chests) and as the output as the Logistics Item in the Arithmetic Combinator&#039;&#039;&#039;, this will average the amount of items within the chests. Lastly, &#039;&#039;&#039;wire all the inserters used to the output of the Arithmetic Combinator and have the other color of the wire be wired to the adjacent chest&#039;&#039;&#039;. &#039;&#039;&#039;Have the inserters enabled when Logistics Item &amp;lt; 1&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A more visual representation as well as questions about the design can be found in a reddit post: [https://www.reddit.com/r/factorio/comments/4e03g2/madzuris_smart_loading_train_station_guide/ MadZuri&#039;s smart loading train station].&lt;br /&gt;
&lt;br /&gt;
Explanation of why this works:&lt;br /&gt;
It compares the average amount of total items within the chests and the chest adjacent to the inserter so that it activates when the average number of items is higher than the amount within the chest.&lt;br /&gt;
The reason for why the division denominator is negative is because if the items in the chests are 0, it basically makes it so that it adds 1 to the equation.&lt;br /&gt;
&lt;br /&gt;
== Memory ==&lt;br /&gt;
How to store a constant value for later use, either for a basic counter or for more advanced logic. A decider combinator wired output tied to input and configured greater than zero (for positive values), input -&amp;gt; output will &#039;hold&#039; a value, as long as all other inputs on the network are zero.&lt;br /&gt;
&lt;br /&gt;
Any non-zero input condition will create a basic clock; incrementing the stored value by the sum of all connected input values every cycle. A single pulse of an input will cause a single increment by the pulsed value. Reset to zero occurs whenever the set condition is no longer met, or if a negative pulse equal to the input occurs.&lt;br /&gt;
&lt;br /&gt;
== Basic clocks ==&lt;br /&gt;
[[File:Timer.png|thumb|right|377px|A basic clock. 30 ticks is the ceiling for Signal 1; which is continuously added.]]&lt;br /&gt;
Clocks are constructed by having the output of a combinator tied back to its own input, such that every cycle advances its own count. Either the arithmetic combinator or the decider combinator can be used.&lt;br /&gt;
&lt;br /&gt;
An arithmetic combinator tied to itself is fun to watch and will happily run-away, but requires additional control logic to reset.&lt;br /&gt;
&lt;br /&gt;
A self-resetting clock requires just a single decider combinator with output wired to input and configured with Less Than (&amp;lt;) and Input -&amp;gt; Output. When a constant combinator is then connected to the input, every cycle it will count up by the value of the Constant Combinator until the set conditional value is reached, then output a zero which will be summed with the constant combinator, and reset the process.&lt;br /&gt;
&lt;br /&gt;
The clock sequence will not include zero, will begin at the value set by the constant combinator, and will include whatever value eventually causes the conditional to be false. An arithmetic combinator can modify the clock sequence but remember its outputs will occur one cycle later than the clock cycle values.&lt;br /&gt;
&lt;br /&gt;
A clock that only counts once can be built using the following setup:&lt;br /&gt;
&lt;br /&gt;
[[File:Onetime_Clock.png|thumb|none|360px|One-time clock. Runs until T=Z+1. Reset via R&amp;gt;0.]]&lt;br /&gt;
&lt;br /&gt;
== Pulse generators ==&lt;br /&gt;
&lt;br /&gt;
Connecting an additional (=) decider combinator to the output of a basic clock will create a pulse generator, and will pulse a single output every time the clock cycles through the set condition. Any output value can be used, either directly from the clock sequence (input-&amp;gt;output), a 1, or some value on a separate logic channel on the circuit network, such as set by a constant combinator. or by the circuit network.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:PulseGen.png|500px]]&lt;br /&gt;
*&#039;&#039;The value 1 can be written as any positive integer, so long as it is within the cap or ceiling of your timer.&#039;&#039;&lt;br /&gt;
*&#039;&#039;As an example from the above timer, this light will pulse every 1st tick after the timer reaches 30 ticks, making it pulse 1/30th of a second, as Factorio updates at 60 times per second.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Counter ==&lt;br /&gt;
A counter is used to count the number of input events, and output the sum of that count. Any pulsing input into a decider combinator configured input -&amp;gt; output and wired between output and input will create a counter, but this input must be zero at all other times or else the combinator will run away like a clock. A pulse generator is normally used to accomplish this. Combining several gating decider isolators set with sequential conditionals, a clock, and a pulse generator to the input of a counter will allow remote polling and counting of each isolator&#039;s contents.&lt;br /&gt;
&lt;br /&gt;
== Logic gates ==&lt;br /&gt;
&lt;br /&gt;
Some logic gates will only function with boolean values, where the inputs are either 0 or 1.&lt;br /&gt;
Other logic gates will work with other values as well, e.g. 2.&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Built In&#039;&#039;&#039;===&lt;br /&gt;
The arithmetic combinator has built in OR, XOR and AND operators.&lt;br /&gt;
These operate bitwise, i.e. they perform the operation on each bit in the number in a binary format and return the result.&lt;br /&gt;
&lt;br /&gt;
An example for the bitwise AND operator:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Input 1!!Input 2!!Output&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 4  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 3  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 30  || 10&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 40  || 8&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
If your inputs only consist of boolean values (1 or 0) the arithmetic combinator&#039;s operators can be used as logic gates.&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Unary NOT&#039;&#039;&#039;===&lt;br /&gt;
----&lt;br /&gt;
[[File:NOT.png|415px]]&lt;br /&gt;
&lt;br /&gt;
Truth Table:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Input!!Output&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Binary OR&#039;&#039;&#039;===&lt;br /&gt;
----&lt;br /&gt;
[[File:OR.png|415px]]&lt;br /&gt;
&lt;br /&gt;
Truth Table:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Input 1!!Input 2!!Output&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 0  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1  || 1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;*Notes: This works for any number of inputs, all sent as the signal &amp;quot;A&amp;quot;. This works for boolean inputs as well as other values.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Binary NOR&#039;&#039;&#039;===&lt;br /&gt;
----&lt;br /&gt;
[[File:NOR.png|415px]]&lt;br /&gt;
&lt;br /&gt;
Truth Table:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Input 1!!Input 2!!Output&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 0  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1  || 0&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;*Notes: This works for any number of inputs, all sent as the signal &amp;quot;A&amp;quot;. This works for boolean inputs as well as other values.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Binary XOR&#039;&#039;&#039;===&lt;br /&gt;
----&lt;br /&gt;
[[File:XOR.png|415px]]&lt;br /&gt;
&lt;br /&gt;
Truth Table:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Input 1!!Input 2!!Output&lt;br /&gt;
|-&lt;br /&gt;
| 0 ||  0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 0 ||  1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 1 ||  0 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 1 ||  1 || 0&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;*Note: This only works for boolean inputs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Binary AND&#039;&#039;&#039;===&lt;br /&gt;
----&lt;br /&gt;
[[File:AND.png|530px]]&lt;br /&gt;
&lt;br /&gt;
Truth Table:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Input 1!!Input 2!!Output&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 || 1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;*Note:The arithmetic combinator example provided works for non-boolean values, and will return non-boolean values when given them as input, but only if both values are non 0.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;*Note:The decider combinator example provided only works for boolean values. It can be modified to have any number of inputs by changing the &amp;quot;1&amp;quot; shown to 1 less than the number of inputs, or the &amp;quot;2&amp;quot; shown to the number of inputs, as demonstrated below for a Ternary AND.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Ternary AND&#039;&#039;&#039;===&lt;br /&gt;
----&lt;br /&gt;
[[File:TrinaryAND.png|415px]]&lt;br /&gt;
&lt;br /&gt;
Truth Table:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Input 1!!Input 2!!Input 3!!Output&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 0  || 0  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1  || 0  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 0  || 1  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1  || 1  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0  || 0  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1  || 0  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0  || 1  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1  || 1  || 1&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Binary NAND&#039;&#039;&#039;===&lt;br /&gt;
----&lt;br /&gt;
[[File:NAND.png|415px]]&lt;br /&gt;
&lt;br /&gt;
Truth Table:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Input 1!!Input 2!!Output&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 0  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1  || 0&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;*Note:This only works for boolean input values. It can be modified to have any number of inputs by changing the &amp;quot;2&amp;quot; shown to the number of inputs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Binary XNOR&#039;&#039;&#039;===&lt;br /&gt;
----&lt;br /&gt;
[[File:XAND.png|415px]]&lt;br /&gt;
&lt;br /&gt;
Truth Table:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Input 1!!Input 2!!Output&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 0  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1  || 1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;*Note:This only works for boolean input values.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Memory cells ==&lt;br /&gt;
&lt;br /&gt;
=== Simple latch ===&lt;br /&gt;
&lt;br /&gt;
When looping the combinator to itself, use a different color of wire from your main inputs or outputs. &lt;br /&gt;
&lt;br /&gt;
[[File:SimpleLatchv2.png|415px]]&lt;br /&gt;
&lt;br /&gt;
Truth Table:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Output 1!!Input 1!!Input 2!! Output 1 (t+1)&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || 0 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 0 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 || 0 || 1&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 || 0 || 1 &#039;&#039;(2)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 || 1 || 1 &#039;&#039;(2)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&#039;&#039;Output 1 is the green wire loop seen in the picture, it carries the value to latch.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Input 1 is Set, while Input 2 is Reset.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Positive cell ===&lt;br /&gt;
&lt;br /&gt;
Cell for storing a positive value, with reset support:&lt;br /&gt;
&lt;br /&gt;
[[File:AdvancedMemoryCell.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Connect the desired value as signal I on the right side to set the memory cell and connect a negative value as signal I to reset the cell.&lt;br /&gt;
&lt;br /&gt;
* The output of the memory cell is 2 mutually exclusive signals.&lt;br /&gt;
** In case input signal I &amp;gt; 0 then signal I is passed to the other side.&lt;br /&gt;
** In case input signal I is interrupted, then signal M is passed instead as a memory of previous input value.&lt;br /&gt;
* When input signal I is interrupted, it takes 2 ticks to switch to memory signal M.&lt;br /&gt;
* In case input I signal lasts only one tick then memory cell starts to cycle between the 2 previous values, tick by tick. Indefinitely.&lt;br /&gt;
* Switching is seamless, e.g. there are no ticks with empty signal.&lt;br /&gt;
&lt;br /&gt;
=== Positives and negatives cell ===&lt;br /&gt;
&lt;br /&gt;
This cell can store negatives or positives. Reset is done on a dedicated line. Additionally, a 1-tick burst is handled properly. [https://forums.factorio.com/viewtopic.php?f=193&amp;amp;t=60330&amp;amp;p=362377#p362377 Forum post].&lt;br /&gt;
&lt;br /&gt;
* The output M (memory) is the last non-zero input I (Input).&lt;br /&gt;
* A non zero R (reset) signal sets the output to zero.&lt;br /&gt;
* 1-tick bursts of R or I are handled properly.&lt;br /&gt;
* Negatives are handled properly.&lt;br /&gt;
&lt;br /&gt;
[[File:Memory_cell_with_negatives.png|500px]]&lt;br /&gt;
&lt;br /&gt;
== Multiplier and Dictionaries/Arrays ==&lt;br /&gt;
[[File:combinatorMultiplierDetailed.png|left|500px]]&lt;br /&gt;
* Multiplying two signals together is simple and requires only a single combinator, however multiplying a set of signals is more complicated.&lt;br /&gt;
* A proof is shown below for the equation and why it works.&lt;br /&gt;
* A dictionary is a system that allows a value on a specific signal to be accessed. For example, A can contain many signals (either from a constant combinator or memory cell) and B can contain 1 of a specific signal (such as blue signal). What remains is the blue-signal value from A. This is because all the other signals are multiplied by 0.&lt;br /&gt;
* Arrays are similar to dictionaries, but instead of using a signal as a key, we use a number. Constant combinators are placed mapping each signal to a unique number (such as 1 yellow belt, 2 red belt, 3 blue belt, 4 burner inserter, etc). Then, use a combinator of &amp;quot;each = index OUTPUT 1 of each&amp;quot; and plug that in as the input to a dictionary.{{clear}}&lt;br /&gt;
[[File:combinatorMultiplierMath.png|left|500px]]&lt;br /&gt;
&lt;br /&gt;
    ((A+B)^2 - (A-B)^2)/4 = AB&lt;br /&gt;
    (A+B)^2 - (A-B)^2 = 4AB&lt;br /&gt;
    (A^2 + 2AB + B^2) - (A^2 - 2AB + B^2) = 4AB&lt;br /&gt;
    4AB = 4AB&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [http://www.factorioforums.com/forum/viewtopic.php?f=18&amp;amp;t=14556 Combinators 101 (Tutorial)]&lt;br /&gt;
* [[Tutorial:Circuit network cookbook]]&lt;br /&gt;
* [[Circuit network]]&lt;br /&gt;
* [[Arithmetic combinator]]&lt;br /&gt;
* [[Constant combinator]]&lt;br /&gt;
* [[Decider combinator]]&lt;/div&gt;</summary>
		<author><name>Phoenixx</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Achievements&amp;diff=182050</id>
		<title>Achievements</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Achievements&amp;diff=182050"/>
		<updated>2020-09-03T00:13:02Z</updated>

		<summary type="html">&lt;p&gt;Phoenixx: /* List of all achievements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
&#039;&#039;&#039;Achievements&#039;&#039;&#039; are given to the player when certain events happen or criteria is fulfilled. Some achievements are meant to make the player feel invested in the game. Others are meant to guide the player to use different strategies and optional game mechanics. Achievements are available in both the [http://store.steampowered.com/app/427520/ Steam] and standalone versions.&lt;br /&gt;
&lt;br /&gt;
== Disabling achievements ==&lt;br /&gt;
[[File:achievement_list.png|thumb|200px|right|Achievement list in-game.]]Achievements can only be unlocked in the default game mode, called &#039;&#039;Freeplay&#039;&#039;. Any scenarios, such as the [[tutorial]] or [[scenario system|custom scenarios]] disable achievements. Furthermore, using script or cheat commands in the [[Console#Scripting_and_cheat_commands|console]] disables achievements, however the user will be warned about this the first time they try to run such a command. Within the freeplay game, enabling peaceful mode or setting enemy bases to anything lower than default disables the following achievements: There is no spoon, No time for chit-chat, Raining bullets and Steam all the way. Any other changes to map generation or using the [[debug mode]]s does not disable achievements.&lt;br /&gt;
&lt;br /&gt;
A separate instance of achievements will be used when mods are installed and earned achievements will not register with Steam. In multiplayer, achievements can only be earned if the player has spent more than 50% of the time online.&lt;br /&gt;
&lt;br /&gt;
Re-enabling achievements again can be achieved by editing the binary data of a save. ([https://forums.factorio.com/58077 reference])&lt;br /&gt;
&lt;br /&gt;
== List of all achievements ==&lt;br /&gt;
The search function of a browser may be used to find a specific achievement faster. This is usually {{keybinding|Ctrl|F}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- these are in the order like they are in-game --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;min-width:350px&amp;quot; | Achievement !! Notes !! Trivia&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|getting-on-track}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|eco-unfriendly}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|tech-maniac}}&lt;br /&gt;
|| Completing infinite technologies of any level is not required. All non-infinite levels of technologies that have infinite continuations are still required (for example, it requires only first 6 levels of [[physical projectile damage (research)|physical projectile damage]]). The achievement&#039;s condition is checked when any technology (finite or infinite) is researched.&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|smoke-me-a-kipper-i-will-be-back-for-breakfast}}&lt;br /&gt;
||&lt;br /&gt;
|| This line was spoken by Ace Rimmer from the British sci-fi comedy show &#039;&#039;Red Dwarf&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|it-stinks-and-they-dont-like-it}}&lt;br /&gt;
|| This achievement is not disabled in peaceful mode, however it is impossible to achieve.&lt;br /&gt;
||The line &amp;quot;He stinks and I don&#039;t like him&amp;quot; was spoken by comedian Jim Norton in the 2002 film Spider-Man.  It became a regular sound drop on the radio program Opie and Anthony, where Norton was third mic.&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|automated-construction}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|you-are-doing-it-right}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|automated-cleanup}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|you-have-got-a-package}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|delivery-service}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|trans-factorio-express}}&lt;br /&gt;
||&lt;br /&gt;
|| Refers to the &#039;&#039;Trans-Europ Express&#039;&#039;, an international passenger railway company that served west and central Europe from 1957 to 1995.&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|watch-your-step}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|golem}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|getting-on-track-like-a-pro}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|mass-production-1}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|mass-production-2}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|mass-production-3}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|circuit-veteran-1}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|circuit-veteran-2}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|circuit-veteran-3}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|computer-age-1}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|computer-age-2}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|computer-age-3}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|iron-throne-1}}&lt;br /&gt;
||&lt;br /&gt;
|| These three achievements refer to the Iron Throne, a large throne in the fantasy novel series &#039;&#039;A Song of Ice and Fire&#039;&#039; made from many swords fused together with dragonfire.&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|iron-throne-2}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|iron-throne-3}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|solaris}}&lt;br /&gt;
|| The electric network may not have any electricity producers besides solar panels connected to it.&lt;br /&gt;
|| &#039;&#039;Solaris&#039;&#039; is a 1961 philosophical sci-fi novel written by Stanisław Lem, and a Unix-based computer operating system.&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|steamrolled}}&lt;br /&gt;
||&lt;br /&gt;
|| &#039;Steamroll&#039; generally refers to a multiplayer match in which one team is performing significantly better than the other.&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|pyromaniac}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|run-forrest-run}}&lt;br /&gt;
||&lt;br /&gt;
|| This line was spoken by Jenny Curran in the 1994 drama film &#039;&#039;Forrest Gump&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|minions}}&lt;br /&gt;
|| This achievement requires follower robot count level 11 for a total of 100 robots. 6 rocket launches are needed to obtain the space science packs to get to and research level 11. &lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|lazy-bastard}}&lt;br /&gt;
|| In multiplayer, the crafts of all players are counted towards this achievement. The minimum amount of items crafted by hand is 103 if the player uses the stone furnace in the starting inventory to craft the boiler necessary to power a lab for the [[automation (research)]].&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|steam-all-the-way}}&lt;br /&gt;
|| Only &#039;&#039;placing&#039;&#039; solar panels breaks the requirement of this achievement, simply crafting them does not disqualify the player from earning the achievement. Disabled when using peaceful mode or lower than default enemy base settings.&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|raining-bullets}}&lt;br /&gt;
|| Only &#039;&#039;placing&#039;&#039; laser turrets breaks the requirement of this achievement, simply crafting them does not disqualify the player from earning the achievement. Disabled when using peaceful mode or lower than default enemy base settings.&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|logistic-network-embargo}}&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|no-time-for-chitchat}}&lt;br /&gt;
|| Disabled when using peaceful mode or lower than default enemy base settings.&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|there-is-no-spoon}}&lt;br /&gt;
|| Disabled when using peaceful mode or lower than default enemy base settings.&lt;br /&gt;
|| This line was spoken by Spoon Boy in the 1999 sci-fi action film &#039;&#039;The Matrix&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
| {{Achievement|so-long-and-thanks-for-all-the-fish}}&lt;br /&gt;
||&lt;br /&gt;
|| The last message left by the dolphins before leaving Earth in &#039;&#039;The Hitchhiker&#039;s Guide to the Galaxy&#039;&#039;. Also the name of the fourth book in the series.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
{{history|0.13.0|&lt;br /&gt;
* Introduced}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Console]]&lt;br /&gt;
* [https://www.factorio.com/blog/post/fff-125 Friday Facts #125 - Achievements]&lt;/div&gt;</summary>
		<author><name>Phoenixx</name></author>
	</entry>
</feed>