<?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=CodeGreen</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=CodeGreen"/>
	<link rel="alternate" type="text/html" href="https://wiki.factorio.com/Special:Contributions/CodeGreen"/>
	<updated>2026-04-20T14:42:20Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Mod_portal_API&amp;diff=216900</id>
		<title>Mod portal API</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Mod_portal_API&amp;diff=216900"/>
		<updated>2026-01-09T19:49:25Z</updated>

		<summary type="html">&lt;p&gt;CodeGreen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div align=&amp;quot;center&amp;quot; class=&amp;quot;stub&amp;quot;&amp;gt;&#039;&#039;&#039;Category:&#039;&#039;&#039; [[Factorio_HTTP_API_usage_guidelines#Internal|Internal API]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Mod Portal API is used to both browse and download all mods available on the [https://mods.factorio.com/ official Factorio mod portal]. Using the API does not require any kind of authentication or account information and can be viewed simply by following the URLs below in any web browser.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/mods&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More detailed information about a particular mod can be obtained by retrieving the following URL, where {name} is the mod&#039;s name field in the result object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/mods/{name}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get even more information about a mod, you can use the following URL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/mods/{name}/full&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
List of bookmarked mods can be accessed from following URL (requires authentication).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/bookmarks?username={username}&amp;amp;token={token}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also toggle a bookmark using following URL, with &amp;lt;code&amp;gt;state&amp;lt;/code&amp;gt; being &amp;lt;code&amp;gt;on&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;off&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/bookmarks/toggle?username={username}&amp;amp;token={token}&amp;amp;mod={name}&amp;amp;state={state}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Endpoints ==&lt;br /&gt;
&lt;br /&gt;
=== /api/mods ===&lt;br /&gt;
&lt;br /&gt;
GET Parameters (sent as query parameters):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Values !! Description&lt;br /&gt;
|-&lt;br /&gt;
| hide_deprecated || {boolean} || Only return non-deprecated mods. &lt;br /&gt;
|-&lt;br /&gt;
| page ||{an integer}||Page number you would like to show. Makes it so you can see a certain part of the list without getting detail on all&lt;br /&gt;
|-&lt;br /&gt;
| page_size ||{an integer or &#039;max&#039;}||The amount of results to show in your search&lt;br /&gt;
|-&lt;br /&gt;
| sort || {enum, one of name, created_at or updated_at} || Sort results by this property. Defaults to name when not defined. Ignored for &amp;lt;code&amp;gt;page_size=max&amp;lt;/code&amp;gt; queries.&lt;br /&gt;
|-&lt;br /&gt;
| sort_order || {enum, one of asc or desc} || Sort results ascending or descending. Defaults to descending when not defined. Ignored for &amp;lt;code&amp;gt;page_size=max&amp;lt;/code&amp;gt; queries.&lt;br /&gt;
|-&lt;br /&gt;
| namelist || {array of strings} || Return only mods that match the given names. Either comma-separated names or supply the namelist parameter more than once. Response will include &amp;lt;code&amp;gt;releases&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;latest_release&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| version || {enum, one of 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 1.0, 1.1 or 2.0} || Only return non-deprecated mods compatible with this Factorio version&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns [[#Mod List Response]]&lt;br /&gt;
&lt;br /&gt;
=== /api/mods/{mod_name} ===&lt;br /&gt;
&lt;br /&gt;
Return short information of a specific mod.&lt;br /&gt;
&lt;br /&gt;
See [[#Result Entry]], &amp;quot;Short&amp;quot; column.&lt;br /&gt;
&lt;br /&gt;
=== /api/mods/{mod_name}/full ===&lt;br /&gt;
&lt;br /&gt;
Returns more information of a mod.&lt;br /&gt;
&lt;br /&gt;
See [[#Result Entry]], &amp;quot;Full&amp;quot; column.&lt;br /&gt;
&lt;br /&gt;
=== /api/bookmarks ===&lt;br /&gt;
&lt;br /&gt;
Returns array of mod names&lt;br /&gt;
&lt;br /&gt;
== JSON Object Types ==&lt;br /&gt;
&lt;br /&gt;
=== Mod List Response ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| pagination || [[#Pagination|Pagination]] || See [[#Pagination]]&lt;br /&gt;
|-&lt;br /&gt;
| results || [[#Result Entry|Result]][] || A list of mods, matching any filters you specified.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pagination ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| count || Integer || Total number of mods that match your specified filters.&lt;br /&gt;
|-&lt;br /&gt;
| links || [[#Pagination_Links|Links]] || Utility links to mod portal api requests, preserving all filters and search queries.&lt;br /&gt;
|-&lt;br /&gt;
| page || Integer || The current page number.&lt;br /&gt;
|-&lt;br /&gt;
| page_count || Integer || The total number of pages returned.&lt;br /&gt;
|-&lt;br /&gt;
| page_size || Integer || The number of results per page.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pagination Links ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| first || String(URL) || URL to the first page of the results, or null if you&#039;re already on the first page.&lt;br /&gt;
|- &lt;br /&gt;
| prev || String(URL) || URL to the previous page of the results, or null if you&#039;re already on the first page.&lt;br /&gt;
|-&lt;br /&gt;
| next || String(URL) || URL to the next page of the results, or null if you&#039;re already on the last page.&lt;br /&gt;
|-&lt;br /&gt;
| last || String(URL) || URL to the last page of the results, or null if you&#039;re already on the last page.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Result Entry ===&lt;br /&gt;
&lt;br /&gt;
Fields returned by the api/mods endpoint are marked with a check (✓) in the &amp;quot;api/mods endpoint&amp;quot; column, those returned by the api/mods/{name} endpoint are marked with a check in the &amp;quot;Short&amp;quot; column and those returned by the api/mods/{name}/full endpoint are marked in the &amp;quot;Full&amp;quot; column. Fields may be absent if there is no data.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !!+ style=&#039;writing-mode:vertical-lr;vertical-align:bottom;font-size:90%&#039; | api/mods endpoint !!+ style=&#039;writing-mode:vertical-lr;vertical-align:bottom;font-size:90%&#039; | Short !!+ style=&#039;writing-mode:vertical-lr;vertical-align:bottom;font-size:90%&#039; | Full !! Description&lt;br /&gt;
|-&lt;br /&gt;
| latest_release || [[#Releases|Release]]? || ✓ || ||&lt;br /&gt;
| The latest version of the mod available for download. Absent when the &amp;lt;code&amp;gt;namelist&amp;lt;/code&amp;gt; [[#/api/mods|parameter]] is used.&lt;br /&gt;
|-&lt;br /&gt;
| downloads_count || Integer || ✓ || ✓ || ✓&lt;br /&gt;
| Number of downloads.&lt;br /&gt;
|-&lt;br /&gt;
| name || String || ✓ || ✓ || ✓&lt;br /&gt;
| The mod&#039;s machine-readable ID string.&lt;br /&gt;
|-&lt;br /&gt;
| owner || String || ✓ || ✓ || ✓&lt;br /&gt;
| The Factorio username of the mod&#039;s author.&lt;br /&gt;
|-&lt;br /&gt;
| releases || [[#Releases|Release]][] || ✓* || ✓ || ✓&lt;br /&gt;
| A list of different versions of the mod available for download. See [[#Releases]]. *Only when using &amp;lt;code&amp;gt;namelist&amp;lt;/code&amp;gt; [[#/api/mods|parameter]].&lt;br /&gt;
|-&lt;br /&gt;
| summary || String || ✓ || ✓ || ✓&lt;br /&gt;
| A shorter mod description.&lt;br /&gt;
|-&lt;br /&gt;
| title || String || ✓ || ✓ || ✓&lt;br /&gt;
| The mod&#039;s human-readable name.&lt;br /&gt;
|-&lt;br /&gt;
| category || [[Mod_details_API#Category|Category]]? || ✓ || ✓ || ✓&lt;br /&gt;
| A single category describing the mod. See [[Mod_details_API#Category]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| score || Integer || ✓ || ✓* || ✓*&lt;br /&gt;
| The score of the mod. *Only when not 0.&lt;br /&gt;
|-&lt;br /&gt;
| thumbnail || String(relative URL)? || || ✓ || ✓&lt;br /&gt;
| The relative path to the thumbnail of the mod. For mods that have no thumbnail it may be absent or default to &amp;lt;code&amp;gt;&amp;quot;/assets/.thumb.png&amp;quot;&amp;lt;/code&amp;gt;. Prepend &amp;quot;assets-mod.factorio.com&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| changelog || String? || || || ✓&lt;br /&gt;
| A string describing the recent changes to a mod.&lt;br /&gt;
|- &lt;br /&gt;
| created_at || String(ISO 8601) || || || ✓&lt;br /&gt;
| ISO 8601 for when the mod was created. (RFC 3339 nano)&lt;br /&gt;
|-&lt;br /&gt;
| updated_at || String(ISO 8601) || || || ✓&lt;br /&gt;
| ISO 8601 for when the mod was last updated. (RFC 3339 nano)&lt;br /&gt;
|-&lt;br /&gt;
| last_highlighted_at || String(ISO 8601)? || || || ✓&lt;br /&gt;
| ISO 8601 for when the mod was last featured on the &amp;quot;Highlighted mods&amp;quot; tab. (RFC 3339 nano)&lt;br /&gt;
|-&lt;br /&gt;
| description || String? || || || ✓&lt;br /&gt;
| A longer description of the mod, in text only format.&lt;br /&gt;
|-&lt;br /&gt;
| source_url || String? || || || ✓&lt;br /&gt;
| A URL to the mod&#039;s source code.&lt;br /&gt;
|-&lt;br /&gt;
| github_path || String? || || || ✓&lt;br /&gt;
| Deprecated: Use &amp;lt;code&amp;gt;source_url&amp;lt;/code&amp;gt; instead. A link to the mod&#039;s github project page, just prepend &amp;quot;github.com/&amp;quot;. Can be blank (&amp;quot;&amp;quot;).&lt;br /&gt;
|-&lt;br /&gt;
| homepage || String || || || ✓&lt;br /&gt;
| Usually a URL to the mod&#039;s main project page, but can be any string.&lt;br /&gt;
|-&lt;br /&gt;
| tags || [[#Tags|Tag]][] || || || ✓&lt;br /&gt;
| A list of tag names that categorize the mod. See [[#Tags]].&lt;br /&gt;
|-&lt;br /&gt;
| license || [[#License]][] || || || ✓&lt;br /&gt;
| The license that applies to the mod. See [[#License]].&lt;br /&gt;
|-&lt;br /&gt;
| deprecated || Boolean? || || || ✓&lt;br /&gt;
| True if the mod is marked as deprecated by its owner. Absent when false.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
&lt;br /&gt;
Only difference here between the api/mods/{name} endpoint and the api/mods/{name}/full endpoint is that the full one includes an array of dependencies in the info_json object.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| download_url || String &lt;br /&gt;
| Path to download for a mod. starts with &amp;quot;/download&amp;quot; and does not include a full url. See [[#Downloading Mods]]&lt;br /&gt;
|-&lt;br /&gt;
| file_name || String &lt;br /&gt;
| The file name of the release. Always seems to follow the pattern &amp;quot;{name}_{version}.zip&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| info_json || Object &lt;br /&gt;
| A copy of the mod&#039;s info.json file, only contains factorio_version in short version, also contains an array of dependencies in full version&lt;br /&gt;
|- &lt;br /&gt;
| released_at || String(ISO 8601) &lt;br /&gt;
| ISO 8601 for when the mod was released. (RFC 3339 nano)&lt;br /&gt;
|-&lt;br /&gt;
| version || String &lt;br /&gt;
| The version string of this mod release. Used to determine dependencies. &lt;br /&gt;
|-&lt;br /&gt;
| sha1 || String &lt;br /&gt;
| The sha1 key for the file.&lt;br /&gt;
|- &lt;br /&gt;
| feature_flags || String[]?&lt;br /&gt;
| The feature flags this mod uses. See [https://lua-api.factorio.com/latest/types/FeatureFlags.html FeatureFlags]&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tags ===&lt;br /&gt;
&lt;br /&gt;
Currently, there are only a fixed number of tags available, these include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! id !! type !! name !! title !! description&lt;br /&gt;
|-&lt;br /&gt;
| ?? || t || planets || Planets || New places to build more factories.&lt;br /&gt;
|-&lt;br /&gt;
| 12 || t || transportation || Transportation || Transportation of the player, be it vehicles or teleporters.&lt;br /&gt;
|-&lt;br /&gt;
| 13 || t || logistics || Logistics || Augmented or new ways of transporting materials - belts, inserters, pipes!&lt;br /&gt;
|-&lt;br /&gt;
| ?? || t || combat || Combat || New ways to deal with enemies, be it attack or defense.&lt;br /&gt;
|-&lt;br /&gt;
| 17 || t || enemies || Enemies || Changes to enemies or entirely new enemies to deal with.&lt;br /&gt;
|-&lt;br /&gt;
| 18 || t || armor || Armor || Armors or armor equipment.&lt;br /&gt;
|-&lt;br /&gt;
| ?? || t || environment || Environment || Map generation and terrain modification.&lt;br /&gt;
|-&lt;br /&gt;
| 20 || t || logistic-network || Logistics Network || Related to roboports and logistic robots&lt;br /&gt;
|-&lt;br /&gt;
| ?? || t || circuit-network || Circuit network || Entities which interact with the circuit network.&lt;br /&gt;
|- &lt;br /&gt;
| 21 || t || storage || Storage || More than just chests.&lt;br /&gt;
|-&lt;br /&gt;
| 22 || t || power || Power Production || Changes to power production and distribution.&lt;br /&gt;
|-&lt;br /&gt;
| 23 || t || manufacturing || Manufacture || Furnaces, assembling machines, production chains&lt;br /&gt;
|-&lt;br /&gt;
| 24 || t || blueprints || Blueprints || Change blueprint behavior.&lt;br /&gt;
|-&lt;br /&gt;
| 25 || t || cheats || Cheats || Play it your way.&lt;br /&gt;
|- &lt;br /&gt;
| 27 || t || mining || Mining || New ores and resources as well as machines.&lt;br /&gt;
|-&lt;br /&gt;
| ?? || t || fluids || Fluids || Things related to oil and other fluids.&lt;br /&gt;
|-&lt;br /&gt;
| 29 || t || trains || Trains || Trains are great, but what if they could do even more?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== License ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| description || String || A short description of the license.&lt;br /&gt;
|-&lt;br /&gt;
| id || String || The unique id of the license.&lt;br /&gt;
|-&lt;br /&gt;
| name || String || The internal name of the license.&lt;br /&gt;
|-&lt;br /&gt;
| title || String || The human-readable title of the license.&lt;br /&gt;
|-&lt;br /&gt;
| url || String || Usually a URL to the full license text, but can be any string.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| message || String ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Downloading Mods ==&lt;br /&gt;
&lt;br /&gt;
You can get the full url by appending the download_url to mods.factorio.com, but if you&#039;re not authenticated, you will be redirected to mods.factorio.com/login. Logging in to that would give you access to the file. Fortunately, there&#039;s a better way to do this. Simply adding username and token parameters to the download url will prevent the redirecting and let you download the file immediately. The token can be acquired from a json file called &amp;quot;player-data.json&amp;quot;, located in the User Data directory (see [[Application_directory#User_data_directory]]). You can also get the token by using the [[Web_authentication_API | Web Authentication API]].&lt;br /&gt;
&lt;br /&gt;
Example usage:&lt;br /&gt;
https://mods.factorio.com/{download_url}?username={username}&amp;amp;token={token}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Mod_portal_API&amp;diff=216899</id>
		<title>Mod portal API</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Mod_portal_API&amp;diff=216899"/>
		<updated>2026-01-09T19:48:54Z</updated>

		<summary type="html">&lt;p&gt;CodeGreen: Added planets tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div align=&amp;quot;center&amp;quot; class=&amp;quot;stub&amp;quot;&amp;gt;&#039;&#039;&#039;Category:&#039;&#039;&#039; [[Factorio_HTTP_API_usage_guidelines#Internal|Internal API]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Mod Portal API is used to both browse and download all mods available on the [https://mods.factorio.com/ official Factorio mod portal]. Using the API does not require any kind of authentication or account information and can be viewed simply by following the URLs below in any web browser.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/mods&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More detailed information about a particular mod can be obtained by retrieving the following URL, where {name} is the mod&#039;s name field in the result object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/mods/{name}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get even more information about a mod, you can use the following URL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/mods/{name}/full&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
List of bookmarked mods can be accessed from following URL (requires authentication).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/bookmarks?username={username}&amp;amp;token={token}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also toggle a bookmark using following URL, with &amp;lt;code&amp;gt;state&amp;lt;/code&amp;gt; being &amp;lt;code&amp;gt;on&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;off&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/bookmarks/toggle?username={username}&amp;amp;token={token}&amp;amp;mod={name}&amp;amp;state={state}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Endpoints ==&lt;br /&gt;
&lt;br /&gt;
=== /api/mods ===&lt;br /&gt;
&lt;br /&gt;
GET Parameters (sent as query parameters):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Values !! Description&lt;br /&gt;
|-&lt;br /&gt;
| hide_deprecated || {boolean} || Only return non-deprecated mods. &lt;br /&gt;
|-&lt;br /&gt;
| page ||{an integer}||Page number you would like to show. Makes it so you can see a certain part of the list without getting detail on all&lt;br /&gt;
|-&lt;br /&gt;
| page_size ||{an integer or &#039;max&#039;}||The amount of results to show in your search&lt;br /&gt;
|-&lt;br /&gt;
| sort || {enum, one of name, created_at or updated_at} || Sort results by this property. Defaults to name when not defined. Ignored for &amp;lt;code&amp;gt;page_size=max&amp;lt;/code&amp;gt; queries.&lt;br /&gt;
|-&lt;br /&gt;
| sort_order || {enum, one of asc or desc} || Sort results ascending or descending. Defaults to descending when not defined. Ignored for &amp;lt;code&amp;gt;page_size=max&amp;lt;/code&amp;gt; queries.&lt;br /&gt;
|-&lt;br /&gt;
| namelist || {array of strings} || Return only mods that match the given names. Either comma-separated names or supply the namelist parameter more than once. Response will include &amp;lt;code&amp;gt;releases&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;latest_release&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| version || {enum, one of 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 1.0, 1.1 or 2.0} || Only return non-deprecated mods compatible with this Factorio version&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns [[#Mod List Response]]&lt;br /&gt;
&lt;br /&gt;
=== /api/mods/{mod_name} ===&lt;br /&gt;
&lt;br /&gt;
Return short information of a specific mod.&lt;br /&gt;
&lt;br /&gt;
See [[#Result Entry]], &amp;quot;Short&amp;quot; column.&lt;br /&gt;
&lt;br /&gt;
=== /api/mods/{mod_name}/full ===&lt;br /&gt;
&lt;br /&gt;
Returns more information of a mod.&lt;br /&gt;
&lt;br /&gt;
See [[#Result Entry]], &amp;quot;Full&amp;quot; column.&lt;br /&gt;
&lt;br /&gt;
=== /api/bookmarks ===&lt;br /&gt;
&lt;br /&gt;
Returns array of mod names&lt;br /&gt;
&lt;br /&gt;
== JSON Object Types ==&lt;br /&gt;
&lt;br /&gt;
=== Mod List Response ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| pagination || [[#Pagination|Pagination]] || See [[#Pagination]]&lt;br /&gt;
|-&lt;br /&gt;
| results || [[#Result Entry|Result]][] || A list of mods, matching any filters you specified.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pagination ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| count || Integer || Total number of mods that match your specified filters.&lt;br /&gt;
|-&lt;br /&gt;
| links || [[#Pagination_Links|Links]] || Utility links to mod portal api requests, preserving all filters and search queries.&lt;br /&gt;
|-&lt;br /&gt;
| page || Integer || The current page number.&lt;br /&gt;
|-&lt;br /&gt;
| page_count || Integer || The total number of pages returned.&lt;br /&gt;
|-&lt;br /&gt;
| page_size || Integer || The number of results per page.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pagination Links ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| first || String(URL) || URL to the first page of the results, or null if you&#039;re already on the first page.&lt;br /&gt;
|- &lt;br /&gt;
| prev || String(URL) || URL to the previous page of the results, or null if you&#039;re already on the first page.&lt;br /&gt;
|-&lt;br /&gt;
| next || String(URL) || URL to the next page of the results, or null if you&#039;re already on the last page.&lt;br /&gt;
|-&lt;br /&gt;
| last || String(URL) || URL to the last page of the results, or null if you&#039;re already on the last page.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Result Entry ===&lt;br /&gt;
&lt;br /&gt;
Fields returned by the api/mods endpoint are marked with a check (✓) in the &amp;quot;api/mods endpoint&amp;quot; column, those returned by the api/mods/{name} endpoint are marked with a check in the &amp;quot;Short&amp;quot; column and those returned by the api/mods/{name}/full endpoint are marked in the &amp;quot;Full&amp;quot; column. Fields may be absent if there is no data.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !!+ style=&#039;writing-mode:vertical-lr;vertical-align:bottom;font-size:90%&#039; | api/mods endpoint !!+ style=&#039;writing-mode:vertical-lr;vertical-align:bottom;font-size:90%&#039; | Short !!+ style=&#039;writing-mode:vertical-lr;vertical-align:bottom;font-size:90%&#039; | Full !! Description&lt;br /&gt;
|-&lt;br /&gt;
| latest_release || [[#Releases|Release]]? || ✓ || ||&lt;br /&gt;
| The latest version of the mod available for download. Absent when the &amp;lt;code&amp;gt;namelist&amp;lt;/code&amp;gt; [[#/api/mods|parameter]] is used.&lt;br /&gt;
|-&lt;br /&gt;
| downloads_count || Integer || ✓ || ✓ || ✓&lt;br /&gt;
| Number of downloads.&lt;br /&gt;
|-&lt;br /&gt;
| name || String || ✓ || ✓ || ✓&lt;br /&gt;
| The mod&#039;s machine-readable ID string.&lt;br /&gt;
|-&lt;br /&gt;
| owner || String || ✓ || ✓ || ✓&lt;br /&gt;
| The Factorio username of the mod&#039;s author.&lt;br /&gt;
|-&lt;br /&gt;
| releases || [[#Releases|Release]][] || ✓* || ✓ || ✓&lt;br /&gt;
| A list of different versions of the mod available for download. See [[#Releases]]. *Only when using &amp;lt;code&amp;gt;namelist&amp;lt;/code&amp;gt; [[#/api/mods|parameter]].&lt;br /&gt;
|-&lt;br /&gt;
| summary || String || ✓ || ✓ || ✓&lt;br /&gt;
| A shorter mod description.&lt;br /&gt;
|-&lt;br /&gt;
| title || String || ✓ || ✓ || ✓&lt;br /&gt;
| The mod&#039;s human-readable name.&lt;br /&gt;
|-&lt;br /&gt;
| category || [[Mod_details_API#Category|Category]]? || ✓ || ✓ || ✓&lt;br /&gt;
| A single category describing the mod. See [[Mod_details_API#Category]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| score || Integer || ✓ || ✓* || ✓*&lt;br /&gt;
| The score of the mod. *Only when not 0.&lt;br /&gt;
|-&lt;br /&gt;
| thumbnail || String(relative URL)? || || ✓ || ✓&lt;br /&gt;
| The relative path to the thumbnail of the mod. For mods that have no thumbnail it may be absent or default to &amp;lt;code&amp;gt;&amp;quot;/assets/.thumb.png&amp;quot;&amp;lt;/code&amp;gt;. Prepend &amp;quot;assets-mod.factorio.com&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| changelog || String? || || || ✓&lt;br /&gt;
| A string describing the recent changes to a mod.&lt;br /&gt;
|- &lt;br /&gt;
| created_at || String(ISO 8601) || || || ✓&lt;br /&gt;
| ISO 8601 for when the mod was created. (RFC 3339 nano)&lt;br /&gt;
|-&lt;br /&gt;
| updated_at || String(ISO 8601) || || || ✓&lt;br /&gt;
| ISO 8601 for when the mod was last updated. (RFC 3339 nano)&lt;br /&gt;
|-&lt;br /&gt;
| last_highlighted_at || String(ISO 8601)? || || || ✓&lt;br /&gt;
| ISO 8601 for when the mod was last featured on the &amp;quot;Highlighted mods&amp;quot; tab. (RFC 3339 nano)&lt;br /&gt;
|-&lt;br /&gt;
| description || String? || || || ✓&lt;br /&gt;
| A longer description of the mod, in text only format.&lt;br /&gt;
|-&lt;br /&gt;
| source_url || String? || || || ✓&lt;br /&gt;
| A URL to the mod&#039;s source code.&lt;br /&gt;
|-&lt;br /&gt;
| github_path || String? || || || ✓&lt;br /&gt;
| Deprecated: Use &amp;lt;code&amp;gt;source_url&amp;lt;/code&amp;gt; instead. A link to the mod&#039;s github project page, just prepend &amp;quot;github.com/&amp;quot;. Can be blank (&amp;quot;&amp;quot;).&lt;br /&gt;
|-&lt;br /&gt;
| homepage || String || || || ✓&lt;br /&gt;
| Usually a URL to the mod&#039;s main project page, but can be any string.&lt;br /&gt;
|-&lt;br /&gt;
| tags || [[#Tags|Tag]][] || || || ✓&lt;br /&gt;
| A list of tag names that categorize the mod. See [[#Tags]].&lt;br /&gt;
|-&lt;br /&gt;
| license || [[#License]][] || || || ✓&lt;br /&gt;
| The license that applies to the mod. See [[#License]].&lt;br /&gt;
|-&lt;br /&gt;
| deprecated || Boolean? || || || ✓&lt;br /&gt;
| True if the mod is marked as deprecated by its owner. Absent when false.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
&lt;br /&gt;
Only difference here between the api/mods/{name} endpoint and the api/mods/{name}/full endpoint is that the full one includes an array of dependencies in the info_json object.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| download_url || String &lt;br /&gt;
| Path to download for a mod. starts with &amp;quot;/download&amp;quot; and does not include a full url. See [[#Downloading Mods]]&lt;br /&gt;
|-&lt;br /&gt;
| file_name || String &lt;br /&gt;
| The file name of the release. Always seems to follow the pattern &amp;quot;{name}_{version}.zip&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| info_json || Object &lt;br /&gt;
| A copy of the mod&#039;s info.json file, only contains factorio_version in short version, also contains an array of dependencies in full version&lt;br /&gt;
|- &lt;br /&gt;
| released_at || String(ISO 8601) &lt;br /&gt;
| ISO 8601 for when the mod was released. (RFC 3339 nano)&lt;br /&gt;
|-&lt;br /&gt;
| version || String &lt;br /&gt;
| The version string of this mod release. Used to determine dependencies. &lt;br /&gt;
|-&lt;br /&gt;
| sha1 || String &lt;br /&gt;
| The sha1 key for the file.&lt;br /&gt;
|- &lt;br /&gt;
| feature_flags || String[]?&lt;br /&gt;
| The feature flags this mod uses. See [https://lua-api.factorio.com/latest/types/FeatureFlags.html FeatureFlags]&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tags ===&lt;br /&gt;
&lt;br /&gt;
Currently, there are only a fixed number of tags available, these include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! id !! type !! name !! title !! description&lt;br /&gt;
|-&lt;br /&gt;
| 12 || t || planets || Planets || New places to build more factories.&lt;br /&gt;
|-&lt;br /&gt;
| 12 || t || transportation || Transportation || Transportation of the player, be it vehicles or teleporters.&lt;br /&gt;
|-&lt;br /&gt;
| 13 || t || logistics || Logistics || Augmented or new ways of transporting materials - belts, inserters, pipes!&lt;br /&gt;
|-&lt;br /&gt;
| ?? || t || combat || Combat || New ways to deal with enemies, be it attack or defense.&lt;br /&gt;
|-&lt;br /&gt;
| 17 || t || enemies || Enemies || Changes to enemies or entirely new enemies to deal with.&lt;br /&gt;
|-&lt;br /&gt;
| 18 || t || armor || Armor || Armors or armor equipment.&lt;br /&gt;
|-&lt;br /&gt;
| ?? || t || environment || Environment || Map generation and terrain modification.&lt;br /&gt;
|-&lt;br /&gt;
| 20 || t || logistic-network || Logistics Network || Related to roboports and logistic robots&lt;br /&gt;
|-&lt;br /&gt;
| ?? || t || circuit-network || Circuit network || Entities which interact with the circuit network.&lt;br /&gt;
|- &lt;br /&gt;
| 21 || t || storage || Storage || More than just chests.&lt;br /&gt;
|-&lt;br /&gt;
| 22 || t || power || Power Production || Changes to power production and distribution.&lt;br /&gt;
|-&lt;br /&gt;
| 23 || t || manufacturing || Manufacture || Furnaces, assembling machines, production chains&lt;br /&gt;
|-&lt;br /&gt;
| 24 || t || blueprints || Blueprints || Change blueprint behavior.&lt;br /&gt;
|-&lt;br /&gt;
| 25 || t || cheats || Cheats || Play it your way.&lt;br /&gt;
|- &lt;br /&gt;
| 27 || t || mining || Mining || New ores and resources as well as machines.&lt;br /&gt;
|-&lt;br /&gt;
| ?? || t || fluids || Fluids || Things related to oil and other fluids.&lt;br /&gt;
|-&lt;br /&gt;
| 29 || t || trains || Trains || Trains are great, but what if they could do even more?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== License ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| description || String || A short description of the license.&lt;br /&gt;
|-&lt;br /&gt;
| id || String || The unique id of the license.&lt;br /&gt;
|-&lt;br /&gt;
| name || String || The internal name of the license.&lt;br /&gt;
|-&lt;br /&gt;
| title || String || The human-readable title of the license.&lt;br /&gt;
|-&lt;br /&gt;
| url || String || Usually a URL to the full license text, but can be any string.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| message || String ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Downloading Mods ==&lt;br /&gt;
&lt;br /&gt;
You can get the full url by appending the download_url to mods.factorio.com, but if you&#039;re not authenticated, you will be redirected to mods.factorio.com/login. Logging in to that would give you access to the file. Fortunately, there&#039;s a better way to do this. Simply adding username and token parameters to the download url will prevent the redirecting and let you download the file immediately. The token can be acquired from a json file called &amp;quot;player-data.json&amp;quot;, located in the User Data directory (see [[Application_directory#User_data_directory]]). You can also get the token by using the [[Web_authentication_API | Web Authentication API]].&lt;br /&gt;
&lt;br /&gt;
Example usage:&lt;br /&gt;
https://mods.factorio.com/{download_url}?username={username}&amp;amp;token={token}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Mod_portal_API&amp;diff=216898</id>
		<title>Mod portal API</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Mod_portal_API&amp;diff=216898"/>
		<updated>2026-01-09T19:43:48Z</updated>

		<summary type="html">&lt;p&gt;CodeGreen: Added feature_flags to Release object&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div align=&amp;quot;center&amp;quot; class=&amp;quot;stub&amp;quot;&amp;gt;&#039;&#039;&#039;Category:&#039;&#039;&#039; [[Factorio_HTTP_API_usage_guidelines#Internal|Internal API]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Mod Portal API is used to both browse and download all mods available on the [https://mods.factorio.com/ official Factorio mod portal]. Using the API does not require any kind of authentication or account information and can be viewed simply by following the URLs below in any web browser.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/mods&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More detailed information about a particular mod can be obtained by retrieving the following URL, where {name} is the mod&#039;s name field in the result object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/mods/{name}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get even more information about a mod, you can use the following URL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/mods/{name}/full&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
List of bookmarked mods can be accessed from following URL (requires authentication).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/bookmarks?username={username}&amp;amp;token={token}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also toggle a bookmark using following URL, with &amp;lt;code&amp;gt;state&amp;lt;/code&amp;gt; being &amp;lt;code&amp;gt;on&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;off&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/bookmarks/toggle?username={username}&amp;amp;token={token}&amp;amp;mod={name}&amp;amp;state={state}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Endpoints ==&lt;br /&gt;
&lt;br /&gt;
=== /api/mods ===&lt;br /&gt;
&lt;br /&gt;
GET Parameters (sent as query parameters):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Values !! Description&lt;br /&gt;
|-&lt;br /&gt;
| hide_deprecated || {boolean} || Only return non-deprecated mods. &lt;br /&gt;
|-&lt;br /&gt;
| page ||{an integer}||Page number you would like to show. Makes it so you can see a certain part of the list without getting detail on all&lt;br /&gt;
|-&lt;br /&gt;
| page_size ||{an integer or &#039;max&#039;}||The amount of results to show in your search&lt;br /&gt;
|-&lt;br /&gt;
| sort || {enum, one of name, created_at or updated_at} || Sort results by this property. Defaults to name when not defined. Ignored for &amp;lt;code&amp;gt;page_size=max&amp;lt;/code&amp;gt; queries.&lt;br /&gt;
|-&lt;br /&gt;
| sort_order || {enum, one of asc or desc} || Sort results ascending or descending. Defaults to descending when not defined. Ignored for &amp;lt;code&amp;gt;page_size=max&amp;lt;/code&amp;gt; queries.&lt;br /&gt;
|-&lt;br /&gt;
| namelist || {array of strings} || Return only mods that match the given names. Either comma-separated names or supply the namelist parameter more than once. Response will include &amp;lt;code&amp;gt;releases&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;latest_release&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| version || {enum, one of 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 1.0, 1.1 or 2.0} || Only return non-deprecated mods compatible with this Factorio version&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns [[#Mod List Response]]&lt;br /&gt;
&lt;br /&gt;
=== /api/mods/{mod_name} ===&lt;br /&gt;
&lt;br /&gt;
Return short information of a specific mod.&lt;br /&gt;
&lt;br /&gt;
See [[#Result Entry]], &amp;quot;Short&amp;quot; column.&lt;br /&gt;
&lt;br /&gt;
=== /api/mods/{mod_name}/full ===&lt;br /&gt;
&lt;br /&gt;
Returns more information of a mod.&lt;br /&gt;
&lt;br /&gt;
See [[#Result Entry]], &amp;quot;Full&amp;quot; column.&lt;br /&gt;
&lt;br /&gt;
=== /api/bookmarks ===&lt;br /&gt;
&lt;br /&gt;
Returns array of mod names&lt;br /&gt;
&lt;br /&gt;
== JSON Object Types ==&lt;br /&gt;
&lt;br /&gt;
=== Mod List Response ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| pagination || [[#Pagination|Pagination]] || See [[#Pagination]]&lt;br /&gt;
|-&lt;br /&gt;
| results || [[#Result Entry|Result]][] || A list of mods, matching any filters you specified.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pagination ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| count || Integer || Total number of mods that match your specified filters.&lt;br /&gt;
|-&lt;br /&gt;
| links || [[#Pagination_Links|Links]] || Utility links to mod portal api requests, preserving all filters and search queries.&lt;br /&gt;
|-&lt;br /&gt;
| page || Integer || The current page number.&lt;br /&gt;
|-&lt;br /&gt;
| page_count || Integer || The total number of pages returned.&lt;br /&gt;
|-&lt;br /&gt;
| page_size || Integer || The number of results per page.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pagination Links ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| first || String(URL) || URL to the first page of the results, or null if you&#039;re already on the first page.&lt;br /&gt;
|- &lt;br /&gt;
| prev || String(URL) || URL to the previous page of the results, or null if you&#039;re already on the first page.&lt;br /&gt;
|-&lt;br /&gt;
| next || String(URL) || URL to the next page of the results, or null if you&#039;re already on the last page.&lt;br /&gt;
|-&lt;br /&gt;
| last || String(URL) || URL to the last page of the results, or null if you&#039;re already on the last page.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Result Entry ===&lt;br /&gt;
&lt;br /&gt;
Fields returned by the api/mods endpoint are marked with a check (✓) in the &amp;quot;api/mods endpoint&amp;quot; column, those returned by the api/mods/{name} endpoint are marked with a check in the &amp;quot;Short&amp;quot; column and those returned by the api/mods/{name}/full endpoint are marked in the &amp;quot;Full&amp;quot; column. Fields may be absent if there is no data.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !!+ style=&#039;writing-mode:vertical-lr;vertical-align:bottom;font-size:90%&#039; | api/mods endpoint !!+ style=&#039;writing-mode:vertical-lr;vertical-align:bottom;font-size:90%&#039; | Short !!+ style=&#039;writing-mode:vertical-lr;vertical-align:bottom;font-size:90%&#039; | Full !! Description&lt;br /&gt;
|-&lt;br /&gt;
| latest_release || [[#Releases|Release]]? || ✓ || ||&lt;br /&gt;
| The latest version of the mod available for download. Absent when the &amp;lt;code&amp;gt;namelist&amp;lt;/code&amp;gt; [[#/api/mods|parameter]] is used.&lt;br /&gt;
|-&lt;br /&gt;
| downloads_count || Integer || ✓ || ✓ || ✓&lt;br /&gt;
| Number of downloads.&lt;br /&gt;
|-&lt;br /&gt;
| name || String || ✓ || ✓ || ✓&lt;br /&gt;
| The mod&#039;s machine-readable ID string.&lt;br /&gt;
|-&lt;br /&gt;
| owner || String || ✓ || ✓ || ✓&lt;br /&gt;
| The Factorio username of the mod&#039;s author.&lt;br /&gt;
|-&lt;br /&gt;
| releases || [[#Releases|Release]][] || ✓* || ✓ || ✓&lt;br /&gt;
| A list of different versions of the mod available for download. See [[#Releases]]. *Only when using &amp;lt;code&amp;gt;namelist&amp;lt;/code&amp;gt; [[#/api/mods|parameter]].&lt;br /&gt;
|-&lt;br /&gt;
| summary || String || ✓ || ✓ || ✓&lt;br /&gt;
| A shorter mod description.&lt;br /&gt;
|-&lt;br /&gt;
| title || String || ✓ || ✓ || ✓&lt;br /&gt;
| The mod&#039;s human-readable name.&lt;br /&gt;
|-&lt;br /&gt;
| category || [[Mod_details_API#Category|Category]]? || ✓ || ✓ || ✓&lt;br /&gt;
| A single category describing the mod. See [[Mod_details_API#Category]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| score || Integer || ✓ || ✓* || ✓*&lt;br /&gt;
| The score of the mod. *Only when not 0.&lt;br /&gt;
|-&lt;br /&gt;
| thumbnail || String(relative URL)? || || ✓ || ✓&lt;br /&gt;
| The relative path to the thumbnail of the mod. For mods that have no thumbnail it may be absent or default to &amp;lt;code&amp;gt;&amp;quot;/assets/.thumb.png&amp;quot;&amp;lt;/code&amp;gt;. Prepend &amp;quot;assets-mod.factorio.com&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| changelog || String? || || || ✓&lt;br /&gt;
| A string describing the recent changes to a mod.&lt;br /&gt;
|- &lt;br /&gt;
| created_at || String(ISO 8601) || || || ✓&lt;br /&gt;
| ISO 8601 for when the mod was created. (RFC 3339 nano)&lt;br /&gt;
|-&lt;br /&gt;
| updated_at || String(ISO 8601) || || || ✓&lt;br /&gt;
| ISO 8601 for when the mod was last updated. (RFC 3339 nano)&lt;br /&gt;
|-&lt;br /&gt;
| last_highlighted_at || String(ISO 8601)? || || || ✓&lt;br /&gt;
| ISO 8601 for when the mod was last featured on the &amp;quot;Highlighted mods&amp;quot; tab. (RFC 3339 nano)&lt;br /&gt;
|-&lt;br /&gt;
| description || String? || || || ✓&lt;br /&gt;
| A longer description of the mod, in text only format.&lt;br /&gt;
|-&lt;br /&gt;
| source_url || String? || || || ✓&lt;br /&gt;
| A URL to the mod&#039;s source code.&lt;br /&gt;
|-&lt;br /&gt;
| github_path || String? || || || ✓&lt;br /&gt;
| Deprecated: Use &amp;lt;code&amp;gt;source_url&amp;lt;/code&amp;gt; instead. A link to the mod&#039;s github project page, just prepend &amp;quot;github.com/&amp;quot;. Can be blank (&amp;quot;&amp;quot;).&lt;br /&gt;
|-&lt;br /&gt;
| homepage || String || || || ✓&lt;br /&gt;
| Usually a URL to the mod&#039;s main project page, but can be any string.&lt;br /&gt;
|-&lt;br /&gt;
| tags || [[#Tags|Tag]][] || || || ✓&lt;br /&gt;
| A list of tag names that categorize the mod. See [[#Tags]].&lt;br /&gt;
|-&lt;br /&gt;
| license || [[#License]][] || || || ✓&lt;br /&gt;
| The license that applies to the mod. See [[#License]].&lt;br /&gt;
|-&lt;br /&gt;
| deprecated || Boolean? || || || ✓&lt;br /&gt;
| True if the mod is marked as deprecated by its owner. Absent when false.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
&lt;br /&gt;
Only difference here between the api/mods/{name} endpoint and the api/mods/{name}/full endpoint is that the full one includes an array of dependencies in the info_json object.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| download_url || String &lt;br /&gt;
| Path to download for a mod. starts with &amp;quot;/download&amp;quot; and does not include a full url. See [[#Downloading Mods]]&lt;br /&gt;
|-&lt;br /&gt;
| file_name || String &lt;br /&gt;
| The file name of the release. Always seems to follow the pattern &amp;quot;{name}_{version}.zip&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| info_json || Object &lt;br /&gt;
| A copy of the mod&#039;s info.json file, only contains factorio_version in short version, also contains an array of dependencies in full version&lt;br /&gt;
|- &lt;br /&gt;
| released_at || String(ISO 8601) &lt;br /&gt;
| ISO 8601 for when the mod was released. (RFC 3339 nano)&lt;br /&gt;
|-&lt;br /&gt;
| version || String &lt;br /&gt;
| The version string of this mod release. Used to determine dependencies. &lt;br /&gt;
|-&lt;br /&gt;
| sha1 || String &lt;br /&gt;
| The sha1 key for the file.&lt;br /&gt;
|- &lt;br /&gt;
| feature_flags || String[]?&lt;br /&gt;
| The feature flags this mod uses. See [https://lua-api.factorio.com/latest/types/FeatureFlags.html FeatureFlags]&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tags ===&lt;br /&gt;
&lt;br /&gt;
Currently, there are only a fixed number of tags available, these include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! id !! type !! name !! title !! description&lt;br /&gt;
|-&lt;br /&gt;
| 12 || t || transportation || Transportation || Transportation of the player, be it vehicles or teleporters.&lt;br /&gt;
|-&lt;br /&gt;
| 13 || t || logistics || Logistics || Augmented or new ways of transporting materials - belts, inserters, pipes!&lt;br /&gt;
|-&lt;br /&gt;
| ?? || t || combat || Combat || New ways to deal with enemies, be it attack or defense.&lt;br /&gt;
|-&lt;br /&gt;
| 17 || t || enemies || Enemies || Changes to enemies or entirely new enemies to deal with.&lt;br /&gt;
|-&lt;br /&gt;
| 18 || t || armor || Armor || Armors or armor equipment.&lt;br /&gt;
|-&lt;br /&gt;
| ?? || t || environment || Environment || Map generation and terrain modification.&lt;br /&gt;
|-&lt;br /&gt;
| 20 || t || logistic-network || Logistics Network || Related to roboports and logistic robots&lt;br /&gt;
|-&lt;br /&gt;
| ?? || t || circuit-network || Circuit network || Entities which interact with the circuit network.&lt;br /&gt;
|- &lt;br /&gt;
| 21 || t || storage || Storage || More than just chests.&lt;br /&gt;
|-&lt;br /&gt;
| 22 || t || power || Power Production || Changes to power production and distribution.&lt;br /&gt;
|-&lt;br /&gt;
| 23 || t || manufacturing || Manufacture || Furnaces, assembling machines, production chains&lt;br /&gt;
|-&lt;br /&gt;
| 24 || t || blueprints || Blueprints || Change blueprint behavior.&lt;br /&gt;
|-&lt;br /&gt;
| 25 || t || cheats || Cheats || Play it your way.&lt;br /&gt;
|- &lt;br /&gt;
| 27 || t || mining || Mining || New ores and resources as well as machines.&lt;br /&gt;
|-&lt;br /&gt;
| ?? || t || fluids || Fluids || Things related to oil and other fluids.&lt;br /&gt;
|-&lt;br /&gt;
| 29 || t || trains || Trains || Trains are great, but what if they could do even more?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== License ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| description || String || A short description of the license.&lt;br /&gt;
|-&lt;br /&gt;
| id || String || The unique id of the license.&lt;br /&gt;
|-&lt;br /&gt;
| name || String || The internal name of the license.&lt;br /&gt;
|-&lt;br /&gt;
| title || String || The human-readable title of the license.&lt;br /&gt;
|-&lt;br /&gt;
| url || String || Usually a URL to the full license text, but can be any string.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| message || String ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Downloading Mods ==&lt;br /&gt;
&lt;br /&gt;
You can get the full url by appending the download_url to mods.factorio.com, but if you&#039;re not authenticated, you will be redirected to mods.factorio.com/login. Logging in to that would give you access to the file. Fortunately, there&#039;s a better way to do this. Simply adding username and token parameters to the download url will prevent the redirecting and let you download the file immediately. The token can be acquired from a json file called &amp;quot;player-data.json&amp;quot;, located in the User Data directory (see [[Application_directory#User_data_directory]]). You can also get the token by using the [[Web_authentication_API | Web Authentication API]].&lt;br /&gt;
&lt;br /&gt;
Example usage:&lt;br /&gt;
https://mods.factorio.com/{download_url}?username={username}&amp;amp;token={token}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Artillery_turret&amp;diff=210343</id>
		<title>Artillery turret</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Artillery_turret&amp;diff=210343"/>
		<updated>2025-01-28T16:04:36Z</updated>

		<summary type="html">&lt;p&gt;CodeGreen: Updated places talking about one-shotting enemies to account for behemoth worms and spawner health scaling, and added a section about damage + damage research&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}{{:Infobox:Artillery turret}}&lt;br /&gt;
The &#039;&#039;&#039;artillery turret&#039;&#039;&#039; is a super-long-range static defense structure added in game version 0.16. It fires [[Artillery shell|artillery shells]], relatively slow-moving projectiles that explore chunks of terrain they travel across. The turret has both automatic and manual (even longer-ranged) firing modes. Projectiles have sufficient damage to destroy any type of worm up to behemoths with a single hit, and have a modest area of effect. They can also one-shot spawners up to just below 75% evolution, since spawner health increases with evolution. Infinitely-stacking research upgrades are available for range, firing speed, and damage.&lt;br /&gt;
&lt;br /&gt;
The [[Artillery wagon|artillery wagon]] is essentially the same weapon, only mounted on a train car and therefore mobile.&lt;br /&gt;
&lt;br /&gt;
[[Inserters]] can insert and remove artillery shells from artillery turrets. This allows chaining multiple turrets together with inserters, each inserter taking shells, as needed, from one turret and placing it into the next.&lt;br /&gt;
&lt;br /&gt;
The artillery turret can be connected to the [[circuit network]] to read its current ammunition and/or enable it on a condition. &lt;br /&gt;
&lt;br /&gt;
== Mechanics ==&lt;br /&gt;
Artillery turrets have a massive range, outranging other fixed fortifications by a factor of 10 or more. There are no special limits on how many may be built or where and, being ammunition-based, these turrets do not require electric power to operate.&lt;br /&gt;
&lt;br /&gt;
In automatic mode, they function much the same as other turrets, automatically scanning for valid targets within range and firing on them. Automatic mode can only target [[Military units and structures|enemy structures]] (spawners and worms), not mobile units (biters and spitters); shells do, however, damage mobile units in the vicinity of impact normally. Automatic mode can be disabled by opening the GUI of the artillery turret and toggling the &amp;quot;Auto targeting&amp;quot; box.&lt;br /&gt;
&lt;br /&gt;
In manual mode, an [[artillery targeting remote]] is used to point-and-click anywhere in the world, map, or zoomed-in map; Each click corresponds to one shell delivered to that location, so long as any working artillery turrets and / or wagons are in range. Targeting remotes show the number of fire-ready (loaded and, for wagons, stationary) artillery pieces in range of cursor position when held. Manual fire can be ordered on unexplored areas; shells will explore all chunks they travel across (but no surrounding chunks).&lt;br /&gt;
&lt;br /&gt;
Range in automatic mode is 224 tiles (7 chunks); in manual mode, 560 tiles (17.5 chunks). Infinite [[Artillery shell range (research)|research]] is available to increase range, at +30% of base range per level, applied to both automatic and manual range.&lt;br /&gt;
&lt;br /&gt;
Artillery turrets are capable of killing most enemies with a single shot, although Behemoth worms and spawners with enough extra health from the evolution factor (just below 75%) take two shots to kill instead. Damage can be increased with infinite [[Artillery shell damage (research)|research]] to combat this; To one-shot behemoth worms, you&#039;ll need 8 levels of damage research, and to one-shot spawners at 100% evolution, you&#039;ll need 9 levels. Do note that spawner health increases gradually with evolution factor, so you do not need all 9 levels to one-shot them right away. Instead, each time they break that one-shot threshold, just one more research level is enough until the next time they get enough health to survive again.&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
Aside from the considerable expense of research and assembly for both turrets and shells, there are certain considerations that make a base defense based purely on these turrets unwise, despite their phenomenal range.&lt;br /&gt;
&lt;br /&gt;
Artillery shelling will antagonize enemy mobile units in the vicinity of the impact into rushing the turret emplacement, regardless of their normal &amp;quot;aggro radius&amp;quot;. Artillery turrets are relatively slow-firing, although infinite [[Artillery shell shooting speed (research)|research]] is available to improve firing speed, at +100% per level, affecting both stationary turrets and wagons and applying to both automatic and manual mode. They also cannot target mobile units in automatic mode. Importantly, artillery has a &#039;&#039;minimum&#039;&#039; range as well, which is 32 tiles.&lt;br /&gt;
&lt;br /&gt;
Together, these limitations mean that an artillery turret needs to be defended by other means. Any conventional approach such as walls, gun, laser, and / or flamethrower turrets, or the personal intervention of the player will do. However, players should keep in mind that extensive shelling of large biter-infested areas will produce massive attack waves centered on the position of the artillery piece at time of firing, and should plan close-range defenses accordingly.&lt;br /&gt;
&lt;br /&gt;
Logistic considerations are also important, as artillery shells have a stack size of 1, meaning any-size container can only hold a modest supply and an inserter will only ever move a single shell at a time. Players may wish to consider on-site assembly for permanent and semi-permanent emplacements. The turret itself can hold 15 shells, and the wagon version can hold a full 100, providing a buffer of some size when continuous supply is not available. Some players use artillery wagons with auto targeting disabled as storage for artillery shells to deliver to regular turret outposts, since they can hold twice as much as a cargo wagon.&lt;br /&gt;
&lt;br /&gt;
== Gallery ==&lt;br /&gt;
&amp;lt;gallery widths=236px heights=162px&amp;gt;&lt;br /&gt;
File:artillery_turret_firing_anim.gif|Animation of the turret seeking a target, then firing.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
{{history|2.0.7|&lt;br /&gt;
* All turrets (including artillery) can now be connected to the circuit network to read their current ammo count and/or deactivate them&lt;br /&gt;
* Doubled the damage of artillery.&lt;br /&gt;
* Default &amp;quot;use item&amp;quot; control changed from {{keybinding|left click}} to {{keybinding|right click}}.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.16.0|&lt;br /&gt;
* Introduced}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Artillery wagon]]&lt;br /&gt;
* [[Artillery shell]]&lt;br /&gt;
* [[Artillery targeting remote]]&lt;br /&gt;
&lt;br /&gt;
{{CombatNav}}&lt;br /&gt;
{{C|Defense}}&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Mod_portal_API&amp;diff=208724</id>
		<title>Mod portal API</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Mod_portal_API&amp;diff=208724"/>
		<updated>2025-01-04T18:24:12Z</updated>

		<summary type="html">&lt;p&gt;CodeGreen: Added two missing fields from the full mod request and specified the RFC 3339 nano format for the places iSO 8601 is mentioned&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div align=&amp;quot;center&amp;quot; class=&amp;quot;stub&amp;quot;&amp;gt;&#039;&#039;&#039;Category:&#039;&#039;&#039; [[Factorio_HTTP_API_usage_guidelines#Internal|Internal API]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Mod Portal API is used to both browse and download all mods available on the [https://mods.factorio.com/ official Factorio mod portal]. Using the API does not require any kind of authentication or account information and can be viewed simply by following the URLs below in any web browser.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/mods&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More detailed information about a particular mod can be obtained by retrieving the following URL, where {name} is the mod&#039;s name field in the result object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/mods/{name}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get even more information about a mod, you can use the following URL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/mods/{name}/full&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Endpoints ==&lt;br /&gt;
&lt;br /&gt;
=== /api/mods ===&lt;br /&gt;
&lt;br /&gt;
GET Parameters (sent as query parameters):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Values !! Description&lt;br /&gt;
|-&lt;br /&gt;
| hide_deprecated || {boolean} || Only return non-deprecated mods. &lt;br /&gt;
|-&lt;br /&gt;
| page ||{an integer}||Page number you would like to show. Makes it so you can see a certain part of the list without getting detail on all&lt;br /&gt;
|-&lt;br /&gt;
| page_size ||{an integer or &#039;max&#039;}||The amount of results to show in your search&lt;br /&gt;
|-&lt;br /&gt;
| sort || {enum, one of name, created_at or updated_at} || Sort results by this property. Defaults to name when not defined. Ignored for &amp;lt;code&amp;gt;page_size=max&amp;lt;/code&amp;gt; queries.&lt;br /&gt;
|-&lt;br /&gt;
| sort_order || {enum, one of asc or desc} || Sort results ascending or descending. Defaults to descending when not defined. Ignored for &amp;lt;code&amp;gt;page_size=max&amp;lt;/code&amp;gt; queries.&lt;br /&gt;
|-&lt;br /&gt;
| namelist || {array of strings} || Return only mods that match the given names. Either comma-separated names or supply the namelist parameter more than once. Response will include &amp;lt;code&amp;gt;releases&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;latest_release&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| version || {enum, one of 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 1.0, 1.1 or 2.0} || Only return non-deprecated mods compatible with this Factorio version&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns [[#Mod List Response]]&lt;br /&gt;
&lt;br /&gt;
=== /api/mods/{mod_name} ===&lt;br /&gt;
&lt;br /&gt;
Return short information of a specific mod.&lt;br /&gt;
&lt;br /&gt;
See [[#Result Entry]], &amp;quot;Short&amp;quot; column.&lt;br /&gt;
&lt;br /&gt;
=== /api/mods/{mod_name}/full ===&lt;br /&gt;
&lt;br /&gt;
Returns more information of a mod.&lt;br /&gt;
&lt;br /&gt;
See [[#Result Entry]], &amp;quot;Full&amp;quot; column.&lt;br /&gt;
&lt;br /&gt;
== JSON Object Types ==&lt;br /&gt;
&lt;br /&gt;
=== Mod List Response ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| pagination || [[#Pagination|Pagination]] || See [[#Pagination]]&lt;br /&gt;
|-&lt;br /&gt;
| results || [[#Result Entry|Result]][] || A list of mods, matching any filters you specified.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pagination ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| count || Integer || Total number of mods that match your specified filters.&lt;br /&gt;
|-&lt;br /&gt;
| links || [[#Pagination_Links|Links]] || Utility links to mod portal api requests, preserving all filters and search queries.&lt;br /&gt;
|-&lt;br /&gt;
| page || Integer || The current page number.&lt;br /&gt;
|-&lt;br /&gt;
| page_count || Integer || The total number of pages returned.&lt;br /&gt;
|-&lt;br /&gt;
| page_size || Integer || The number of results per page.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pagination Links ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| first || String(URL) || URL to the first page of the results, or null if you&#039;re already on the first page.&lt;br /&gt;
|- &lt;br /&gt;
| prev || String(URL) || URL to the previous page of the results, or null if you&#039;re already on the first page.&lt;br /&gt;
|-&lt;br /&gt;
| next || String(URL) || URL to the next page of the results, or null if you&#039;re already on the last page.&lt;br /&gt;
|-&lt;br /&gt;
| last || String(URL) || URL to the last page of the results, or null if you&#039;re already on the last page.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Result Entry ===&lt;br /&gt;
&lt;br /&gt;
Fields returned by the api/mods endpoint are marked with a check (✓) in the &amp;quot;api/mods endpoint&amp;quot; column, those returned by the api/mods/{name} endpoint are marked with a check in the &amp;quot;Short&amp;quot; column and those returned by the api/mods/{name}/full endpoint are marked in the &amp;quot;Full&amp;quot; column. Fields may be absent if there is no data.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !!+ style=&#039;writing-mode:vertical-lr;vertical-align:bottom;font-size:90%&#039; | api/mods endpoint !!+ style=&#039;writing-mode:vertical-lr;vertical-align:bottom;font-size:90%&#039; | Short !!+ style=&#039;writing-mode:vertical-lr;vertical-align:bottom;font-size:90%&#039; | Full !! Description&lt;br /&gt;
|-&lt;br /&gt;
| latest_release || [[#Releases|Release]]? || ✓ || ||&lt;br /&gt;
| The latest version of the mod available for download. Absent when the &amp;lt;code&amp;gt;namelist&amp;lt;/code&amp;gt; [[#/api/mods|parameter]] is used.&lt;br /&gt;
|-&lt;br /&gt;
| downloads_count || Integer || ✓ || ✓ || ✓&lt;br /&gt;
| Number of downloads.&lt;br /&gt;
|-&lt;br /&gt;
| name || String || ✓ || ✓ || ✓&lt;br /&gt;
| The mod&#039;s machine-readable ID string.&lt;br /&gt;
|-&lt;br /&gt;
| owner || String || ✓ || ✓ || ✓&lt;br /&gt;
| The Factorio username of the mod&#039;s author.&lt;br /&gt;
|-&lt;br /&gt;
| releases || [[#Releases|Release]][] || ✓* || ✓ || ✓&lt;br /&gt;
| A list of different versions of the mod available for download. See [[#Releases]]. *Only when using &amp;lt;code&amp;gt;namelist&amp;lt;/code&amp;gt; [[#/api/mods|parameter]].&lt;br /&gt;
|-&lt;br /&gt;
| summary || String || ✓ || ✓ || ✓&lt;br /&gt;
| A shorter mod description.&lt;br /&gt;
|-&lt;br /&gt;
| title || String || ✓ || ✓ || ✓&lt;br /&gt;
| The mod&#039;s human-readable name.&lt;br /&gt;
|-&lt;br /&gt;
| category || [[Mod_details_API#Category|Category]]? || ✓ || ✓ || ✓&lt;br /&gt;
| A single category describing the mod. See [[Mod_details_API#Category]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| score || Integer || ✓ || ✓* || ✓*&lt;br /&gt;
| The score of the mod. *Only when not 0.&lt;br /&gt;
|-&lt;br /&gt;
| thumbnail || String(relative URL) || || ✓ || ✓&lt;br /&gt;
| The relative path to the thumbnail of the mod. For mods that have no thumbnail it may be absent or default to &amp;lt;code&amp;gt;&amp;quot;/assets/.thumb.png&amp;quot;&amp;lt;/code&amp;gt;. Prepend &amp;quot;assets-mod.factorio.com&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| changelog || String || || || ✓&lt;br /&gt;
| A string describing the recent changes to a mod.&lt;br /&gt;
|- &lt;br /&gt;
| created_at || String(ISO 8601) || || || ✓&lt;br /&gt;
| ISO 8601 for when the mod was created. (RFC 3339 nano)&lt;br /&gt;
|-&lt;br /&gt;
| updated_at || String(ISO 8601) || || || ✓&lt;br /&gt;
| ISO 8601 for when the mod was last updated. (RFC 3339 nano)&lt;br /&gt;
|-&lt;br /&gt;
| last_highlighted_at || String(ISO 8601) || || || ✓&lt;br /&gt;
| ISO 8601 for when the mod was last featured on the &amp;quot;Highlighted mods&amp;quot; tab. (RFC 3339 nano)&lt;br /&gt;
|-&lt;br /&gt;
| description || String || || || ✓&lt;br /&gt;
| A longer description of the mod, in text only format.&lt;br /&gt;
|-&lt;br /&gt;
| source_url || String || || || ✓&lt;br /&gt;
| A URL to the mod&#039;s source code.&lt;br /&gt;
|-&lt;br /&gt;
| github_path || String || || || ✓&lt;br /&gt;
| Deprecated: Use &amp;lt;code&amp;gt;source_url&amp;lt;/code&amp;gt; instead. A link to the mod&#039;s github project page, just prepend &amp;quot;github.com/&amp;quot;. Can be blank (&amp;quot;&amp;quot;).&lt;br /&gt;
|-&lt;br /&gt;
| homepage || String || || || ✓&lt;br /&gt;
| Usually a URL to the mod&#039;s main project page, but can be any string.&lt;br /&gt;
|-&lt;br /&gt;
| tags || [[#Tags|Tag]][] || || || ✓&lt;br /&gt;
| A list of tag names that categorize the mod. See [[#Tags]].&lt;br /&gt;
|-&lt;br /&gt;
| license || [[#License]][] || || || ✓&lt;br /&gt;
| The license that applies to the mod. See [[#License]].&lt;br /&gt;
|-&lt;br /&gt;
| deprecated || Boolean? || || || ✓&lt;br /&gt;
| &amp;lt;ref&amp;gt;&amp;lt;/ref&amp;gt;True if the mod is marked as deprecated by its owner. Absent when false.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
&lt;br /&gt;
Only difference here between the api/mods/{name} endpoint and the api/mods/{name}/full endpoint is that the full one includes an array of dependencies in the info_json object.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| download_url || String &lt;br /&gt;
| Path to download for a mod. starts with &amp;quot;/download&amp;quot; and does not include a full url. See [[#Downloading Mods]]&lt;br /&gt;
|-&lt;br /&gt;
| file_name || String &lt;br /&gt;
| The file name of the release. Always seems to follow the pattern &amp;quot;{name}_{version}.zip&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| info_json || Object &lt;br /&gt;
| A copy of the mod&#039;s info.json file, only contains factorio_version in short version, also contains an array of dependencies in full version&lt;br /&gt;
|- &lt;br /&gt;
| released_at || String(ISO 8601) &lt;br /&gt;
| ISO 8601 for when the mod was released. (RFC 3339 nano)&lt;br /&gt;
|-&lt;br /&gt;
| version || String &lt;br /&gt;
| The version string of this mod release. Used to determine dependencies. &lt;br /&gt;
|-&lt;br /&gt;
| sha1 || String &lt;br /&gt;
| The sha1 key for the file&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tags ===&lt;br /&gt;
&lt;br /&gt;
Currently, there are only a fixed number of tags available, these include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! id !! type !! name !! title !! description&lt;br /&gt;
|-&lt;br /&gt;
| 12 || t || transportation || Transportation || Transportation of the player, be it vehicles or teleporters.&lt;br /&gt;
|-&lt;br /&gt;
| 13 || t || logistics || Logistics || Augmented or new ways of transporting materials - belts, inserters, pipes!&lt;br /&gt;
|-&lt;br /&gt;
| ?? || t || combat || Combat || New ways to deal with enemies, be it attack or defense.&lt;br /&gt;
|-&lt;br /&gt;
| 17 || t || enemies || Enemies || Changes to enemies or entirely new enemies to deal with.&lt;br /&gt;
|-&lt;br /&gt;
| 18 || t || armor || Armor || Armors or armor equipment.&lt;br /&gt;
|-&lt;br /&gt;
| ?? || t || environment || Environment || Map generation and terrain modification.&lt;br /&gt;
|-&lt;br /&gt;
| 20 || t || logistic-network || Logistics Network || Related to roboports and logistic robots&lt;br /&gt;
|-&lt;br /&gt;
| ?? || t || circuit-network || Circuit network || Entities which interact with the circuit network.&lt;br /&gt;
|- &lt;br /&gt;
| 21 || t || storage || Storage || More than just chests.&lt;br /&gt;
|-&lt;br /&gt;
| 22 || t || power || Power Production || Changes to power production and distribution.&lt;br /&gt;
|-&lt;br /&gt;
| 23 || t || manufacturing || Manufacture || Furnaces, assembling machines, production chains&lt;br /&gt;
|-&lt;br /&gt;
| 24 || t || blueprints || Blueprints || Change blueprint behavior.&lt;br /&gt;
|-&lt;br /&gt;
| 25 || t || cheats || Cheats || Play it your way.&lt;br /&gt;
|- &lt;br /&gt;
| 27 || t || mining || Mining || New ores and resources as well as machines.&lt;br /&gt;
|-&lt;br /&gt;
| ?? || t || fluids || Fluids || Things related to oil and other fluids.&lt;br /&gt;
|-&lt;br /&gt;
| 29 || t || trains || Trains || Trains are great, but what if they could do even more?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== License ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| description || String || A short description of the license.&lt;br /&gt;
|-&lt;br /&gt;
| id || String || The unique id of the license.&lt;br /&gt;
|-&lt;br /&gt;
| name || String || The internal name of the license.&lt;br /&gt;
|-&lt;br /&gt;
| title || String || The human-readable title of the license.&lt;br /&gt;
|-&lt;br /&gt;
| url || String || Usually a URL to the full license text, but can be any string.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| message || String ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Downloading Mods ==&lt;br /&gt;
&lt;br /&gt;
You can get the full url by appending the download_url to mods.factorio.com, but if you&#039;re not authenticated, you will be redirected to mods.factorio.com/login. Logging in to that would give you access to the file. Fortunately, there&#039;s a better way to do this. Simply adding username and token parameters to the download url will prevent the redirecting and let you download the file immediately. The token can be acquired from a json file called &amp;quot;player-data.json&amp;quot;, located in the User Data directory (see [[Application_directory#User_data_directory]]). You can also get the token by using the [[Web_authentication_API | Web Authentication API]].&lt;br /&gt;
&lt;br /&gt;
Example usage:&lt;br /&gt;
https://mods.factorio.com/{download_url}?username={username}&amp;amp;token={token}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Permissions&amp;diff=199325</id>
		<title>Permissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Permissions&amp;diff=199325"/>
		<updated>2024-08-16T03:49:44Z</updated>

		<summary type="html">&lt;p&gt;CodeGreen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The permissions system provides control over what players are allowed to do while in a specific game. This system is most useful in [[multiplayer]], but may also be used in singleplayer. The permissions menu can be opened using the /permissions command. It is important to note that the permissions system is based on input actions, which are what gets sent from clients to the host. This means that some permissions don&#039;t prevent you from changing things that are client side, only that changing those things won&#039;t be reflected from the server&#039;s perspective.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Permission !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Activate copy || Get a copy tool by pressing Ctrl + C or the copy button on the shortcut bar.&lt;br /&gt;
|-&lt;br /&gt;
| Activate cut || Get a cut tool by pressing Ctrl + X or the cut button on the shortcut bar.&lt;br /&gt;
|-&lt;br /&gt;
| Activate paste || Get a paste tool by pressing Ctrl + V or the paste button on the shortcut bar.&lt;br /&gt;
|-&lt;br /&gt;
| Add permission group || Create a new permission group in the permissions settings.&lt;br /&gt;
|-&lt;br /&gt;
| Add train station || Add a train station to a train schedule.&lt;br /&gt;
|-&lt;br /&gt;
| Admin action || Do anything that requires admin permissions, such as using commands like /ban or opening other players.&lt;br /&gt;
|-&lt;br /&gt;
| Alt reverse select area || Right click and hold Shift while using a selection tool.&lt;br /&gt;
|-&lt;br /&gt;
| Alt select area || Hold Shift when using a selection tool.&lt;br /&gt;
|-&lt;br /&gt;
| Alt select blueprint entities || Select blueprint while holding shift to skip the blueprint edit window.&lt;br /&gt;
|-&lt;br /&gt;
| Alternative copy || Copy while holding Shift to open a blueprint edit window.&lt;br /&gt;
|-&lt;br /&gt;
| Begin mining || Mine an entity&lt;br /&gt;
|-&lt;br /&gt;
| Begin mining terrain || Mine any tile (removing paving)&lt;br /&gt;
|-&lt;br /&gt;
| Build || Place an entity.&lt;br /&gt;
|-&lt;br /&gt;
| Build rail || Use the rail planner&lt;br /&gt;
|-&lt;br /&gt;
| Build terrain || Place any tile.&lt;br /&gt;
|-&lt;br /&gt;
| Cancel craft || Cancel items in the handcrafting queue&lt;br /&gt;
|-&lt;br /&gt;
| Cancel deconstruct || Cancel deconstruction plans by selecting entities/tiles marked for deconstruction with a deconstruction planner while holding Shift.&lt;br /&gt;
|-&lt;br /&gt;
| Cancel new blueprint || Exit out of the blueprint editing menu by pressing escape (X button still works).&lt;br /&gt;
|-&lt;br /&gt;
| Cancel research || Cancel ongoing research (Does not correctly show in research gui in singleplayer, research will appear cancelled but resumes as soon as window is closed)&lt;br /&gt;
|-&lt;br /&gt;
| Cancel upgrade || Cancel an entity upgrade created with the upgrade planner.&lt;br /&gt;
|-&lt;br /&gt;
| Change active character tab || ? (Switching between the crafting and logistics tabs when flat gui is enabled still works as normal)&lt;br /&gt;
|-&lt;br /&gt;
| Change active item group for crafting || ? (supposed to be the different recipe tabs in crafting menus)&lt;br /&gt;
|-&lt;br /&gt;
| Change active item group for filters || ? (supposed to be the different tabs in filter menus)&lt;br /&gt;
|-&lt;br /&gt;
| Change active quick bar || Change which quick bar row is selected (only affects server)&lt;br /&gt;
|-&lt;br /&gt;
| Change arithmetic combinator parameters || Make changes to any of the settings of arithmetic combinators.&lt;br /&gt;
|-&lt;br /&gt;
| Change decider combinator parameters || Make changes to any of the settings of decider combinators.&lt;br /&gt;
|-&lt;br /&gt;
| Change entity label || ?&lt;br /&gt;
|-&lt;br /&gt;
| Change item description || ?&lt;br /&gt;
|-&lt;br /&gt;
| Change item label || ?&lt;br /&gt;
|-&lt;br /&gt;
| Change multiplayer config || Use /config to edit the multiplayer settings.&lt;br /&gt;
|-&lt;br /&gt;
| Change picking state || Pick up items from the floor by holding F.&lt;br /&gt;
|-&lt;br /&gt;
| Change programmable speaker alert parameters || Change any of the programmable speaker&#039;s alert settings.&lt;br /&gt;
|-&lt;br /&gt;
| Change programmable speaker circuit parameters || Change the programmable speaker&#039;s &amp;quot;signal value is pitch&amp;quot; setting.&lt;br /&gt;
|-&lt;br /&gt;
| Change programmable speaker parameters || Change the programmable speaker&#039;s &amp;quot;Volume&amp;quot;, &amp;quot;Global playback&amp;quot; and &amp;quot;Allow polyphony&amp;quot; settings.&lt;br /&gt;
|-&lt;br /&gt;
| Change riding state || Control any vehicle (getting in and out is still possible).&lt;br /&gt;
|-&lt;br /&gt;
| Change shooting state || Shoot at anything.&lt;br /&gt;
|-&lt;br /&gt;
| Change train stop station || Change the name of a train stop.&lt;br /&gt;
|-&lt;br /&gt;
| Change train wait condition || Add or remove wait conditions in a train schedule.&lt;br /&gt;
|-&lt;br /&gt;
| Change train wait condition data || Edit the contents of wait conditions in a train schedule.&lt;br /&gt;
|-&lt;br /&gt;
| Clear cursor || Clear the cursor by pressing Q.&lt;br /&gt;
|-&lt;br /&gt;
| Connect rolling stock || Connect multiple trains together using the &amp;quot;connect rolling stock&amp;quot; keybind.&lt;br /&gt;
|-&lt;br /&gt;
| Copy || Copy entities using the copy tool.&lt;br /&gt;
|-&lt;br /&gt;
| Copy entity settings || Copy the settings of an entity with Shift + RMB.&lt;br /&gt;
|-&lt;br /&gt;
| Copy opened blueprint || Make a copy of an opened blueprint using the &amp;quot;create copy of this&amp;quot; button.&lt;br /&gt;
|-&lt;br /&gt;
| Copy opened item || Make a copy of an opened item that is not a blueprint (i.e. planners) using the &amp;quot;create copy of this&amp;quot; button.&lt;br /&gt;
|-&lt;br /&gt;
| Craft || Handcraft recipes from your inventory.&lt;br /&gt;
|-&lt;br /&gt;
| Cursor split || Pick up half a stack of items from an inventory by right clicking it.&lt;br /&gt;
|-&lt;br /&gt;
| Cursor transfer || Pick up a stack of items from an inventory by clicking it.&lt;br /&gt;
|-&lt;br /&gt;
| Custom input || Use custom inputs defined by mods.&lt;br /&gt;
|-&lt;br /&gt;
| Cycle blueprint book backwards || Cycle through the blueprints in a blueprint book in reverse order with Shift + Scroll.&lt;br /&gt;
|-&lt;br /&gt;
| Cycle blueprint book || Cycle through the blueprints in a blueprint book by scrolling.&lt;br /&gt;
|-&lt;br /&gt;
| Deconstruct || Mark items for deconstruction using a deconstruction planner.&lt;br /&gt;
|-&lt;br /&gt;
| Delete blueprint library || Delete a blueprint that is placed in the player&#039;s personal blueprint library. (Taking the blueprint out and then deleting it still works.)&lt;br /&gt;
|-&lt;br /&gt;
| Delete blueprint record || Delete a blueprint that is placed in the Game blueprints menu. (Taking the blueprint out and then deleting it still works.)&lt;br /&gt;
|-&lt;br /&gt;
| Delete custom tag || Delete a custom tag that has been placed on the map.&lt;br /&gt;
|-&lt;br /&gt;
| Delete permission group || Delete a permission group in the permission setting.&lt;br /&gt;
|-&lt;br /&gt;
| Destroy item || Ctrl + MMB in the editor to delete an item.&lt;br /&gt;
|-&lt;br /&gt;
| Destroy opened item || Destroy a blueprint or planner that is opened using the Destroy button.&lt;br /&gt;
|-&lt;br /&gt;
| Disconnect rolling stock || Disconnect wagons using the &amp;quot;disconnect rolling stock&amp;quot; keybind.&lt;br /&gt;
|-&lt;br /&gt;
| Drag train schedule || Rearrange stations in a train schedule by dragging them.&lt;br /&gt;
|-&lt;br /&gt;
| Drag train wait condition || Rearrange wait conditions in a train schedule by dragging them.&lt;br /&gt;
|-&lt;br /&gt;
| Drop blueprint record || Drop a blueprint from your blueprint library onto the ground by pressing Z.&lt;br /&gt;
|-&lt;br /&gt;
| Drop item || Drop an item onto the floor by pressing Z.&lt;br /&gt;
|-&lt;br /&gt;
| Edit blueprint tool preview || Edit the name, icon or description fields of a blueprint.&lt;br /&gt;
|-&lt;br /&gt;
| Edit custom tag || Edit a custom tag that has been placed on the map.&lt;br /&gt;
|-&lt;br /&gt;
| Edit permission group || Edit the settings for an existing permission group in the permissions settings.&lt;br /&gt;
|-&lt;br /&gt;
| Export blueprint || Export a blueprint to a blueprint string.&lt;br /&gt;
|-&lt;br /&gt;
| Fast entity split || Fast transfer half a stack of items to an entity by holding a stack and pressing Ctrl + RMB.&lt;br /&gt;
|-&lt;br /&gt;
| Fast entity transfer || Fast transfer a stack of items to an entity by holding a stack and pressing Ctrl + LMB.&lt;br /&gt;
|-&lt;br /&gt;
| Flush opened entity fluid || Flush fluids from a specific entity.&lt;br /&gt;
|-&lt;br /&gt;
| Flush opened entity specific fluid || Flush fluids from a connected fluid network.&lt;br /&gt;
|-&lt;br /&gt;
| Go to train station || Send a train to a specific station in its schedule. (Temporary stops still work)&lt;br /&gt;
|-&lt;br /&gt;
| Grab blueprint record || Take blueprints out of the blueprint library. (Copying still works)&lt;br /&gt;
|-&lt;br /&gt;
| Gui checked state changed || Toggle check boxes in modded GUIs&lt;br /&gt;
|-&lt;br /&gt;
| Gui click || Click elements in modded GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| Gui confirmed || Press E to confirm modded GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| Gui elem changed || Change a button&#039;s selected element in modded GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| Gui hover || Hover over elements in modded GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| Gui leave || Stop hovering over elements in modded GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| Gui location changed || Drag modded GUIs around the screen.&lt;br /&gt;
|-&lt;br /&gt;
| Gui selected tab changed || Select tabs of tabbed panes in modded GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| Gui selection state changed || Change dropdowns or list boxes in modded GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| Gui switch state changed || Toggle switches in modded GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| Gui text changed || Edit textboxes or textfields in modded GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| Gui value changed || Change sliders in modded GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| Import blueprint || ? (May only work in multiplayer?)&lt;br /&gt;
|-&lt;br /&gt;
| Import blueprint string || Import blueprints using the import blueprint string menu.&lt;br /&gt;
|-&lt;br /&gt;
| Import blueprints filtered || ? (multiplayer importing blueprints by getting them from the library as client?)&lt;br /&gt;
|-&lt;br /&gt;
| Import permissions string || Import a permissions string in the permissions settings.&lt;br /&gt;
|-&lt;br /&gt;
| Inventory split || Quick transfer half of all items or all items of a specific kind to another inventory with Ctrl + RMB&lt;br /&gt;
|-&lt;br /&gt;
| Inventory transfer || Quick transfer all items or all items of a specific kind from one inventory to another with Ctrl + LMB&lt;br /&gt;
|-&lt;br /&gt;
| Launch rocket || Launch a rocket from the rocket silo&lt;br /&gt;
|-&lt;br /&gt;
| Lua shortcut || Use a modded shortcut from the bottom right buttons.&lt;br /&gt;
|-&lt;br /&gt;
| Map editor action || Use any of the features of the map editor (opening it is still possible).&lt;br /&gt;
|-&lt;br /&gt;
| Market offer || Interact with the market entity.&lt;br /&gt;
|-&lt;br /&gt;
| Mod settings changed || Change any mod settings.&lt;br /&gt;
|-&lt;br /&gt;
| Open achievements gui || Open the Achievements menu.&lt;br /&gt;
|-&lt;br /&gt;
| Open blueprint library gui || Open the blueprint library.&lt;br /&gt;
|-&lt;br /&gt;
| Open blueprint record || Open the blueprint edit menu for any blueprint in the blueprint library.&lt;br /&gt;
|-&lt;br /&gt;
| Open bonus gui || Open the bonuses menu.&lt;br /&gt;
|-&lt;br /&gt;
| Open character gui || Open the character inventory/crafting menu&lt;br /&gt;
|-&lt;br /&gt;
| Open current vehicle gui || Open the gui of the currently driven vehicle with the button at the bottom-left of the screen.&lt;br /&gt;
|-&lt;br /&gt;
| Open equipment || Open the menus of individual personal equipment items. (No openable equipment exists in vanilla)&lt;br /&gt;
|-&lt;br /&gt;
| Open gui || Open any entity menus.&lt;br /&gt;
|-&lt;br /&gt;
| Open item || Open the editing menus of blueprints and planners.&lt;br /&gt;
|-&lt;br /&gt;
| Open logistic gui || Open the logistic networks menu.&lt;br /&gt;
|-&lt;br /&gt;
| Open mod item || ?&lt;br /&gt;
|-&lt;br /&gt;
| Open parent of opened item || Directly open the parent inventory of items such as blueprint books.&lt;br /&gt;
|-&lt;br /&gt;
| Open production gui || Open the production statistics menu.&lt;br /&gt;
|-&lt;br /&gt;
| Open technology gui || Open the tech tree menu.&lt;br /&gt;
|-&lt;br /&gt;
| Open tips and tricks gui || Open the tips and tricks menu.&lt;br /&gt;
|-&lt;br /&gt;
| Open train gui || Open the trains overview menu.&lt;br /&gt;
|-&lt;br /&gt;
| Paste entity settings || Paste the settings of an entity with Shift + LMB.&lt;br /&gt;
|-&lt;br /&gt;
| Place equipment || Place personal equipment into equipment grids.&lt;br /&gt;
|-&lt;br /&gt;
| Quick bar pick slot || Select items placed on the quick bar.&lt;br /&gt;
|-&lt;br /&gt;
| Quick bar set selected page || Change the selected quick bar page.&lt;br /&gt;
|-&lt;br /&gt;
| Quick bar set slot || Reassign a quick bar slot to hold a new item. (Assigning items to empty slots is still possible)&lt;br /&gt;
|-&lt;br /&gt;
| Reassign blueprint || Select new contents for a blueprint.&lt;br /&gt;
|-&lt;br /&gt;
| Remove cables || Remove cables from power boles using Shift + LMB.&lt;br /&gt;
|-&lt;br /&gt;
| Remove train station || Remove stations from train schedules.&lt;br /&gt;
|-&lt;br /&gt;
| Reset assembling machine || Remove the recipe from an assembling machine.&lt;br /&gt;
|-&lt;br /&gt;
| Reset item || Reset items such as spidertron remotes.&lt;br /&gt;
|-&lt;br /&gt;
| Reverse select area || Right click while using a selection tool.&lt;br /&gt;
|-&lt;br /&gt;
| Rotate entity || Rotate already placed entities.&lt;br /&gt;
|-&lt;br /&gt;
| Select area || Left click while using a selection tool.&lt;br /&gt;
|-&lt;br /&gt;
| Select blueprint entities || Select entities to include in a blueprint.&lt;br /&gt;
|-&lt;br /&gt;
| Select entity slot || Set entity filters in deconstruction planners.&lt;br /&gt;
|-&lt;br /&gt;
| Select item || ? (something to do with spidertrons)&lt;br /&gt;
|-&lt;br /&gt;
| Select mapper slot || Set upgrade filters in upgrade planners.&lt;br /&gt;
|-&lt;br /&gt;
| Select next valid gun || Switch between weapons by pressing Tab.&lt;br /&gt;
|-&lt;br /&gt;
| Select tile slot || Set tile filters in deconstruction planners.&lt;br /&gt;
|-&lt;br /&gt;
| Send spidertron || Use the remote control to send a spidertron somewhere.&lt;br /&gt;
|-&lt;br /&gt;
| Set auto launch rocket || Set a rocket silo to automatically launch rockets.&lt;br /&gt;
|-&lt;br /&gt;
| Set autosort inventory || Change the &amp;quot;always keep the player&#039;s main inventory sorted&amp;quot; setting. (Setting will still change, but the change has no effect.)&lt;br /&gt;
|-&lt;br /&gt;
| Set behaviour mode || ? (possibly circuit network?)&lt;br /&gt;
|-&lt;br /&gt;
| Set car weapons control || Change who has control of the weapons in a car when there are multiple people on board.&lt;br /&gt;
|-&lt;br /&gt;
| Set circuit condition || Change the enabled condition settings on any circuit connected entities.&lt;br /&gt;
|-&lt;br /&gt;
| Set circuit mode of operation || Change the mode of operation settings on any circuit controlled entities.&lt;br /&gt;
|-&lt;br /&gt;
| Set controller logistic trash filter item || Change the maximum count for a personal logistic request.&lt;br /&gt;
|-&lt;br /&gt;
| Set deconstruction item trees and rocks only || Change the deconstruction planner&#039;s &amp;quot;trees/rocks only&amp;quot; checkbox.&lt;br /&gt;
|-&lt;br /&gt;
| Set entity color || Change the color of any entity that supports this.&lt;br /&gt;
|-&lt;br /&gt;
| Set entity energy property || Change the settings on an electric energy interface (editor only item).&lt;br /&gt;
|-&lt;br /&gt;
| Set entity logistic trash filter item || Change the maximum count for an entity&#039;s logistic request.&lt;br /&gt;
|-&lt;br /&gt;
| Set filter || Filter inventory slots to a specific item.&lt;br /&gt;
|-&lt;br /&gt;
| Set flat controller gui || ? (does not affect changing to/from flat character gui)&lt;br /&gt;
|-&lt;br /&gt;
| Set heat interface mode || Set the mode of a heat interface (editor only item).&lt;br /&gt;
|-&lt;br /&gt;
| Set heat interface temperature || Set the temperature on a heat interface (editor only item).&lt;br /&gt;
|-&lt;br /&gt;
| Set infinity container filter item || Change the filters on infinity chests (editor only item)&lt;br /&gt;
|-&lt;br /&gt;
| Set infinity container remove unfiltered items || Change the remove unfiltered items setting on infinity chests (editor only item).&lt;br /&gt;
|-&lt;br /&gt;
| Set infinity pipe filter || Set the fluid type on an infinity pipe (editor only item).&lt;br /&gt;
|-&lt;br /&gt;
| Set inserter max stack size || Change the stack size limit on inserters.&lt;br /&gt;
|-&lt;br /&gt;
| Set inventory bar || Set the inventory limit in chests or other inventories.&lt;br /&gt;
|-&lt;br /&gt;
| Set linked container link ID || Change which network linked chests are connected to (editor only item).&lt;br /&gt;
|-&lt;br /&gt;
| Set logistic filter item || Change any personal logistics request filters.&lt;br /&gt;
|-&lt;br /&gt;
| Set logistic filter signal || Change output signals on constant combinators.&lt;br /&gt;
|-&lt;br /&gt;
| Set player color || Change the color of the player&#039;s character.&lt;br /&gt;
|-&lt;br /&gt;
| Set recipe notifications || Change whether new recipes are marked as new in the crafting menu.&lt;br /&gt;
|-&lt;br /&gt;
| Set request from buffers || Change the &amp;quot;request from buffer chests&amp;quot; setting on requester chests.&lt;br /&gt;
|-&lt;br /&gt;
| Set research finished stops game || Set whether the technology tree opens automatically after finishing a research.&lt;br /&gt;
|-&lt;br /&gt;
| Set signal || ? (not setting signals in circuit connected entities)&lt;br /&gt;
|-&lt;br /&gt;
| Set splitter priority || Change the priority settings on splitters.&lt;br /&gt;
|-&lt;br /&gt;
| Set train stopped || Toggle trains between manual and automatic modes.&lt;br /&gt;
|-&lt;br /&gt;
| Set trains limit || Change the train limit setting on train stops.&lt;br /&gt;
|-&lt;br /&gt;
| Set vehicle automatic targeting parameters || Change the automatic targeting settings on autonomous vehicles such as the spidertron.&lt;br /&gt;
|-&lt;br /&gt;
| Setup assembling machine || Set the recipe on assembling machines that do not have a recipe set.&lt;br /&gt;
|-&lt;br /&gt;
| Setup blueprint || Create a blueprint from the blueprint edit menu.&lt;br /&gt;
|-&lt;br /&gt;
| Setup single blueprint record || ?&lt;br /&gt;
|-&lt;br /&gt;
| Smart pipette || Smart pipette functions such as selecting a miner when using the pipette on ore.&lt;br /&gt;
|-&lt;br /&gt;
| Spawn item || ? (something to do with modded shortcuts that spawn items?)&lt;br /&gt;
|-&lt;br /&gt;
| Stack split || Transfer half a stack of items to another inventory with Shift + RMB.&lt;br /&gt;
|-&lt;br /&gt;
| Stack transfer || Transfer a stack of items to another inventory with Shift + LMB.&lt;br /&gt;
|-&lt;br /&gt;
| Start repair || Repair entities using a repair pack.&lt;br /&gt;
|-&lt;br /&gt;
| Start research || Start new research in the tech tree menu.&lt;br /&gt;
|-&lt;br /&gt;
| Start walking || Walk around.&lt;br /&gt;
|-&lt;br /&gt;
| Stop building by moving || ?&lt;br /&gt;
|-&lt;br /&gt;
| Switch connect to logistic network || Connect or disconnect machines from the logistic network.&lt;br /&gt;
|-&lt;br /&gt;
| Switch constant combinator state || Toggle constant combinators on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Switch inserter filter mode state || Switch between blacklist and whitelist on filter inserters.&lt;br /&gt;
|-&lt;br /&gt;
| Switch power switch state || Toggle power switches on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Switch to rename stop gui || Open the rename train stop menu by clicking the pencil icon next to the stop name.&lt;br /&gt;
|-&lt;br /&gt;
| Take equipment || Remove equipment from an equipment grid.&lt;br /&gt;
|-&lt;br /&gt;
| Toggle deconstruction item entity filter mode || Toggle the &amp;quot;entities only&amp;quot; switch on deconstruction planners.&lt;br /&gt;
|-&lt;br /&gt;
| Toggle deconstruction item tile filter mode || Toggle the &amp;quot;tiles only&amp;quot; switch on deconstruction planners.&lt;br /&gt;
|-&lt;br /&gt;
| Toggle driving || Enter or exit vehicles.&lt;br /&gt;
|-&lt;br /&gt;
| Toggle enable vehicle logistic requests || Toggle logistic requests of vehicles on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Toggle entity logistic requests || Toggle personal logistics and auto-trash on or off for entities.&lt;br /&gt;
|-&lt;br /&gt;
| Toggle equipment movement bonus || Toggle exoskeletons on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Toggle map editor || Open or close the map editor.&lt;br /&gt;
|-&lt;br /&gt;
| Toggle personal logistic requests. || Toggle personal logistic requests on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Toggle personal roboport || Toggle personal roboports on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Toggle show entity info || Toggle &amp;quot;alt mode&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| Translate string || ? (possibly something to do with the API translating for mods)&lt;br /&gt;
|-&lt;br /&gt;
| Undo || Undo the previous action with Ctrl + Z.&lt;br /&gt;
|-&lt;br /&gt;
| Upgrade || Apply an upgrade using the upgrade planner.&lt;br /&gt;
|-&lt;br /&gt;
| Upgrade opened blueprint by item || Apply a pre-existing upgrade planner to an open blueprint.&lt;br /&gt;
|-&lt;br /&gt;
| Upgrade opened blueprint by record || Apply a default upgrade planner to an open blueprint.&lt;br /&gt;
|-&lt;br /&gt;
| Use artillery remote || Use the artillery remote to target artillery.&lt;br /&gt;
|-&lt;br /&gt;
| Use item || Use consumable items such as capsules.&lt;br /&gt;
|-&lt;br /&gt;
| Wire dragging || Manually place circuit network wires.&lt;br /&gt;
|-&lt;br /&gt;
| Write to console || Allow use of chat/console.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Permissions&amp;diff=199324</id>
		<title>Permissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Permissions&amp;diff=199324"/>
		<updated>2024-08-16T03:41:24Z</updated>

		<summary type="html">&lt;p&gt;CodeGreen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The permissions system provides control over what players are allowed to do while in a specific game. This system is most useful in [[multiplayer]], but may also be used in singleplayer. The permissions menu can be opened using the /permissions command. It is important to note that the permissions system is based on input actions, which are what gets sent from clients to the host. This means that some permissions don&#039;t prevent you from changing things that are client side, only that changing those things won&#039;t be reflected from the server&#039;s perspective.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Permission !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Activate copy || Get a copy tool by pressing Ctrl + C or the copy button on the shortcut bar.&lt;br /&gt;
|-&lt;br /&gt;
| Activate cut || Get a cut tool by pressing Ctrl + X or the cut button on the shortcut bar.&lt;br /&gt;
|-&lt;br /&gt;
| Activate paste || Get a paste tool by pressing Ctrl + V or the paste button on the shortcut bar.&lt;br /&gt;
|-&lt;br /&gt;
| Add permission group || Create a new permission group in the permissions settings.&lt;br /&gt;
|-&lt;br /&gt;
| Add train station || Add a train station to a train schedule.&lt;br /&gt;
|-&lt;br /&gt;
| Admin action || Do anything that requires admin permissions, such as using commands like /ban or opening other players.&lt;br /&gt;
|-&lt;br /&gt;
| Alt reverse select area || Right click and hold Shift while using a selection tool.&lt;br /&gt;
|-&lt;br /&gt;
| Alt select area || Hold Shift when using a selection tool.&lt;br /&gt;
|-&lt;br /&gt;
| Alt select blueprint entities || Select blueprint while holding shift to skip the blueprint edit window.&lt;br /&gt;
|-&lt;br /&gt;
| Alternative copy || Copy while holding Shift to open a blueprint edit window.&lt;br /&gt;
|-&lt;br /&gt;
| Begin mining || Mine an entity&lt;br /&gt;
|-&lt;br /&gt;
| Begin mining terrain || Mine any tile (removing paving)&lt;br /&gt;
|-&lt;br /&gt;
| Build || Place an entity.&lt;br /&gt;
|-&lt;br /&gt;
| Build rail || Use the rail planner&lt;br /&gt;
|-&lt;br /&gt;
| Build terrain || Place any tile.&lt;br /&gt;
|-&lt;br /&gt;
| Cancel craft || Cancel items in the handcrafting queue&lt;br /&gt;
|-&lt;br /&gt;
| Cancel deconstruct || Cancel deconstruction plans by selecting entities/tiles marked for deconstruction with a deconstruction planner while holding Shift.&lt;br /&gt;
|-&lt;br /&gt;
| Cancel new blueprint || Exit out of the blueprint editing menu by pressing escape (X button still works).&lt;br /&gt;
|-&lt;br /&gt;
| Cancel research || Cancel ongoing research (Does not correctly show in research gui in singleplayer, research will appear cancelled but resumes as soon as window is closed)&lt;br /&gt;
|-&lt;br /&gt;
| Cancel upgrade || Cancel an entity upgrade created with the upgrade planner.&lt;br /&gt;
|-&lt;br /&gt;
| Change active character tab || ? (Switching between the crafting and logistics tabs when flat gui is enabled still works as normal)&lt;br /&gt;
|-&lt;br /&gt;
| Change active item group for crafting || ?&lt;br /&gt;
|-&lt;br /&gt;
| Change active item group for filters || ?&lt;br /&gt;
|-&lt;br /&gt;
| Change active quick bar || Change which quick bar row is selected (only affects server)&lt;br /&gt;
|-&lt;br /&gt;
| Change arithmetic combinator parameters || Make changes to any of the settings of arithmetic combinators.&lt;br /&gt;
|-&lt;br /&gt;
| Change decider combinator parameters || Make changes to any of the settings of decider combinators.&lt;br /&gt;
|-&lt;br /&gt;
| Change entity label || ?&lt;br /&gt;
|-&lt;br /&gt;
| Change item description || ?&lt;br /&gt;
|-&lt;br /&gt;
| Change item label || ?&lt;br /&gt;
|-&lt;br /&gt;
| Change multiplayer config || Use /config to edit the multiplayer settings.&lt;br /&gt;
|-&lt;br /&gt;
| Change picking state || Pick up items from the floor by holding F.&lt;br /&gt;
|-&lt;br /&gt;
| Change programmable speaker alert parameters || Change any of the programmable speaker&#039;s alert settings.&lt;br /&gt;
|-&lt;br /&gt;
| Change programmable speaker circuit parameters || Change the programmable speaker&#039;s &amp;quot;signal value is pitch&amp;quot; setting.&lt;br /&gt;
|-&lt;br /&gt;
| Change programmable speaker parameters || Change the programmable speaker&#039;s &amp;quot;Volume&amp;quot;, &amp;quot;Global playback&amp;quot; and &amp;quot;Allow polyphony&amp;quot; settings.&lt;br /&gt;
|-&lt;br /&gt;
| Change riding state || Control any vehicle (getting in and out is still possible).&lt;br /&gt;
|-&lt;br /&gt;
| Change shooting state || Shoot at anything.&lt;br /&gt;
|-&lt;br /&gt;
| Change train stop station || Change the name of a train stop.&lt;br /&gt;
|-&lt;br /&gt;
| Change train wait condition || Add or remove wait conditions in a train schedule.&lt;br /&gt;
|-&lt;br /&gt;
| Change train wait condition data || Edit the contents of wait conditions in a train schedule.&lt;br /&gt;
|-&lt;br /&gt;
| Clear cursor || Clear the cursor by pressing Q.&lt;br /&gt;
|-&lt;br /&gt;
| Connect rolling stock || Connect multiple trains together using the &amp;quot;connect rolling stock&amp;quot; keybind.&lt;br /&gt;
|-&lt;br /&gt;
| Copy || Copy entities using the copy tool.&lt;br /&gt;
|-&lt;br /&gt;
| Copy entity settings || Copy the settings of an entity with Shift + RMB.&lt;br /&gt;
|-&lt;br /&gt;
| Copy opened blueprint || Make a copy of an opened blueprint using the &amp;quot;create copy of this&amp;quot; button.&lt;br /&gt;
|-&lt;br /&gt;
| Copy opened item || Make a copy of an opened item that is not a blueprint (i.e. planners) using the &amp;quot;create copy of this&amp;quot; button.&lt;br /&gt;
|-&lt;br /&gt;
| Craft || Handcraft recipes from your inventory.&lt;br /&gt;
|-&lt;br /&gt;
| Cursor split || Pick up half a stack of items from an inventory by right clicking it.&lt;br /&gt;
|-&lt;br /&gt;
| Cursor transfer || Pick up a stack of items from an inventory by clicking it.&lt;br /&gt;
|-&lt;br /&gt;
| Custom input || Use custom inputs defined by mods.&lt;br /&gt;
|-&lt;br /&gt;
| Cycle blueprint book backwards || Cycle through the blueprints in a blueprint book in reverse order with Shift + Scroll.&lt;br /&gt;
|-&lt;br /&gt;
| Cycle blueprint book || Cycle through the blueprints in a blueprint book by scrolling.&lt;br /&gt;
|-&lt;br /&gt;
| Deconstruct || Mark items for deconstruction using a deconstruction planner.&lt;br /&gt;
|-&lt;br /&gt;
| Delete blueprint library || Delete a blueprint that is placed in the player&#039;s personal blueprint library. (Taking the blueprint out and then deleting it still works.)&lt;br /&gt;
|-&lt;br /&gt;
| Delete blueprint record || Delete a blueprint that is placed in the Game blueprints menu. (Taking the blueprint out and then deleting it still works.)&lt;br /&gt;
|-&lt;br /&gt;
| Delete custom tag || Delete a custom tag that has been placed on the map.&lt;br /&gt;
|-&lt;br /&gt;
| Delete permission group || Delete a permission group in the permission setting.&lt;br /&gt;
|-&lt;br /&gt;
| Destroy item || Ctrl + MMB in the editor to delete an item.&lt;br /&gt;
|-&lt;br /&gt;
| Destroy opened item || Destroy a blueprint or planner that is opened using the Destroy button.&lt;br /&gt;
|-&lt;br /&gt;
| Disconnect rolling stock || Disconnect wagons using the &amp;quot;disconnect rolling stock&amp;quot; keybind.&lt;br /&gt;
|-&lt;br /&gt;
| Drag train schedule || Rearrange stations in a train schedule by dragging them.&lt;br /&gt;
|-&lt;br /&gt;
| Drag train wait condition || Rearrange wait conditions in a train schedule by dragging them.&lt;br /&gt;
|-&lt;br /&gt;
| Drop blueprint record || Drop a blueprint from your blueprint library onto the ground by pressing Z.&lt;br /&gt;
|-&lt;br /&gt;
| Drop item || Drop an item onto the floor by pressing Z.&lt;br /&gt;
|-&lt;br /&gt;
| Edit blueprint tool preview || Edit the name, icon or description fields of a blueprint.&lt;br /&gt;
|-&lt;br /&gt;
| Edit custom tag || Edit a custom tag that has been placed on the map.&lt;br /&gt;
|-&lt;br /&gt;
| Edit permission group || Edit the settings for an existing permission group in the permissions settings.&lt;br /&gt;
|-&lt;br /&gt;
| Export blueprint || Export a blueprint to a blueprint string.&lt;br /&gt;
|-&lt;br /&gt;
| Fast entity split || Fast transfer half a stack of items to an entity by holding a stack and pressing Ctrl + RMB.&lt;br /&gt;
|-&lt;br /&gt;
| Fast entity transfer || Fast transfer a stack of items to an entity by holding a stack and pressing Ctrl + LMB.&lt;br /&gt;
|-&lt;br /&gt;
| Flush opened entity fluid || Flush fluids from a specific entity.&lt;br /&gt;
|-&lt;br /&gt;
| Flush opened entity specific fluid || Flush fluids from a connected fluid network.&lt;br /&gt;
|-&lt;br /&gt;
| Go to train station || Send a train to a specific station in its schedule. (Temporary stops still work)&lt;br /&gt;
|-&lt;br /&gt;
| Grab blueprint record || Take blueprints out of the blueprint library. (Copying still works)&lt;br /&gt;
|-&lt;br /&gt;
| Gui checked state changed || Toggle check boxes in modded GUIs&lt;br /&gt;
|-&lt;br /&gt;
| Gui click || Click elements in modded GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| Gui confirmed || Press E to confirm modded GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| Gui elem changed || Change a button&#039;s selected element in modded GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| Gui hover || Hover over elements in modded GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| Gui leave || Stop hovering over elements in modded GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| Gui location changed || Drag modded GUIs around the screen.&lt;br /&gt;
|-&lt;br /&gt;
| Gui selected tab changed || Select tabs of tabbed panes in modded GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| Gui selection state changed || Change dropdowns or list boxes in modded GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| Gui switch state changed || Toggle switches in modded GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| Gui text changed || Edit textboxes or textfields in modded GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| Gui value changed || Change sliders in modded GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| Import blueprint || ? (May only work in multiplayer?)&lt;br /&gt;
|-&lt;br /&gt;
| Import blueprint string || Import blueprints using the import blueprint string menu.&lt;br /&gt;
|-&lt;br /&gt;
| Import blueprints filtered || ?&lt;br /&gt;
|-&lt;br /&gt;
| Import permissions string || Import a permissions string in the permissions settings.&lt;br /&gt;
|-&lt;br /&gt;
| Inventory split || Quick transfer half of all items or all items of a specific kind to another inventory with Ctrl + RMB&lt;br /&gt;
|-&lt;br /&gt;
| Inventory transfer || Quick transfer all items or all items of a specific kind from one inventory to another with Ctrl + LMB&lt;br /&gt;
|-&lt;br /&gt;
| Launch rocket || Launch a rocket from the rocket silo&lt;br /&gt;
|-&lt;br /&gt;
| Lua shortcut || Use a modded shortcut from the bottom right buttons.&lt;br /&gt;
|-&lt;br /&gt;
| Map editor action || Use any of the features of the map editor (opening it is still possible).&lt;br /&gt;
|-&lt;br /&gt;
| Market offer || Interact with the market entity.&lt;br /&gt;
|-&lt;br /&gt;
| Mod settings changed || Change any mod settings.&lt;br /&gt;
|-&lt;br /&gt;
| Open achievements gui || Open the Achievements menu.&lt;br /&gt;
|-&lt;br /&gt;
| Open blueprint library gui || Open the blueprint library.&lt;br /&gt;
|-&lt;br /&gt;
| Open blueprint record || Open the blueprint edit menu for any blueprint in the blueprint library.&lt;br /&gt;
|-&lt;br /&gt;
| Open bonus gui || Open the bonuses menu.&lt;br /&gt;
|-&lt;br /&gt;
| Open character gui || Open the character inventory/crafting menu&lt;br /&gt;
|-&lt;br /&gt;
| Open current vehicle gui || Open the gui of the currently driven vehicle with the button at the bottom-left of the screen.&lt;br /&gt;
|-&lt;br /&gt;
| Open equipment || Open the menus of individual personal equipment items. (No openable equipment exists in vanilla)&lt;br /&gt;
|-&lt;br /&gt;
| Open gui || Open any entity menus.&lt;br /&gt;
|-&lt;br /&gt;
| Open item || Open the editing menus of blueprints and planners.&lt;br /&gt;
|-&lt;br /&gt;
| Open logistic gui || Open the logistic networks menu.&lt;br /&gt;
|-&lt;br /&gt;
| Open mod item || Open a modded item with inventory.&lt;br /&gt;
|-&lt;br /&gt;
| Open parent of opened item || Directly open the parent inventory of items such as blueprint books.&lt;br /&gt;
|-&lt;br /&gt;
| Open production gui || Open the production statistics menu.&lt;br /&gt;
|-&lt;br /&gt;
| Open technology gui || Open the tech tree menu.&lt;br /&gt;
|-&lt;br /&gt;
| Open tips and tricks gui || Open the tips and tricks menu.&lt;br /&gt;
|-&lt;br /&gt;
| Open train gui || Open the trains overview menu.&lt;br /&gt;
|-&lt;br /&gt;
| Paste entity settings || Paste the settings of an entity with Shift + LMB.&lt;br /&gt;
|-&lt;br /&gt;
| Place equipment || Place personal equipment into equipment grids.&lt;br /&gt;
|-&lt;br /&gt;
| Quick bar pick slot || Select items placed on the quick bar.&lt;br /&gt;
|-&lt;br /&gt;
| Quick bar set selected page || Change the selected quick bar page.&lt;br /&gt;
|-&lt;br /&gt;
| Quick bar set slot || Reassign a quick bar slot to hold a new item. (Assigning items to empty slots is still possible)&lt;br /&gt;
|-&lt;br /&gt;
| Reassign blueprint || Select new contents for a blueprint.&lt;br /&gt;
|-&lt;br /&gt;
| Remove cables || Remove cables from power boles using Shift + LMB.&lt;br /&gt;
|-&lt;br /&gt;
| Remove train station || Remove stations from train schedules.&lt;br /&gt;
|-&lt;br /&gt;
| Reset assembling machine || Remove the recipe from an assembling machine.&lt;br /&gt;
|-&lt;br /&gt;
| Reset item || Reset items such as spidertron remotes.&lt;br /&gt;
|-&lt;br /&gt;
| Reverse select area || Right click while using a selection tool.&lt;br /&gt;
|-&lt;br /&gt;
| Rotate entity || Rotate already placed entities.&lt;br /&gt;
|-&lt;br /&gt;
| Select area || Left click while using a selection tool.&lt;br /&gt;
|-&lt;br /&gt;
| Select blueprint entities || Select entities to include in a blueprint.&lt;br /&gt;
|-&lt;br /&gt;
| Select entity slot || Set entity filters in deconstruction planners.&lt;br /&gt;
|-&lt;br /&gt;
| Select item || ? (something to do with spidertrons)&lt;br /&gt;
|-&lt;br /&gt;
| Select mapper slot || Set upgrade filters in upgrade planners.&lt;br /&gt;
|-&lt;br /&gt;
| Select next valid gun || Switch between weapons by pressing Tab.&lt;br /&gt;
|-&lt;br /&gt;
| Select tile slot || Set tile filters in deconstruction planners.&lt;br /&gt;
|-&lt;br /&gt;
| Send spidertron || Use the remote control to send a spidertron somewhere.&lt;br /&gt;
|-&lt;br /&gt;
| Set auto launch rocket || Set a rocket silo to automatically launch rockets.&lt;br /&gt;
|-&lt;br /&gt;
| Set autosort inventory || Change the &amp;quot;always keep the player&#039;s main inventory sorted&amp;quot; setting. (Setting will still change, but the change has no effect.)&lt;br /&gt;
|-&lt;br /&gt;
| Set behaviour mode || ?&lt;br /&gt;
|-&lt;br /&gt;
| Set car weapons control || Change who has control of the weapons in a car when there are multiple people on board.&lt;br /&gt;
|-&lt;br /&gt;
| Set circuit condition || Change the enabled condition settings on any circuit connected entities.&lt;br /&gt;
|-&lt;br /&gt;
| Set circuit mode of operation || Change the mode of operation settings on any circuit controlled entities.&lt;br /&gt;
|-&lt;br /&gt;
| Set controller logistic trash filter item || Change the maximum count for a personal logistic request.&lt;br /&gt;
|-&lt;br /&gt;
| Set deconstruction item trees and rocks only || Change the deconstruction planner&#039;s &amp;quot;trees/rocks only&amp;quot; checkbox.&lt;br /&gt;
|-&lt;br /&gt;
| Set entity color || Change the color of any entity that supports this.&lt;br /&gt;
|-&lt;br /&gt;
| Set entity energy property || Change the settings on an electric energy interface (editor only item).&lt;br /&gt;
|-&lt;br /&gt;
| Set entity logistic trash filter item || Change the maximum count for an entity&#039;s logistic request.&lt;br /&gt;
|-&lt;br /&gt;
| Set filter || Filter inventory slots to a specific item.&lt;br /&gt;
|-&lt;br /&gt;
| Set flat controller gui || ? (does not affect changing to/from flat character gui)&lt;br /&gt;
|-&lt;br /&gt;
| Set heat interface mode || Set the mode of a heat interface (editor only item).&lt;br /&gt;
|-&lt;br /&gt;
| Set heat interface temperature || Set the temperature on a heat interface (editor only item).&lt;br /&gt;
|-&lt;br /&gt;
| Set infinity container filter item || Change the filters on infinity chests (editor only item)&lt;br /&gt;
|-&lt;br /&gt;
| Set infinity container remove unfiltered items || Change the remove unfiltered items setting on infinity chests (editor only item).&lt;br /&gt;
|-&lt;br /&gt;
| Set infinity pipe filter || Set the fluid type on an infinity pipe (editor only item).&lt;br /&gt;
|-&lt;br /&gt;
| Set inserter max stack size || Change the stack size limit on inserters.&lt;br /&gt;
|-&lt;br /&gt;
| Set inventory bar || Set the inventory limit in chests or other inventories.&lt;br /&gt;
|-&lt;br /&gt;
| Set linked container link ID || Change which network linked chests are connected to (editor only item).&lt;br /&gt;
|-&lt;br /&gt;
| Set logistic filter item || Change any personal logistics request filters.&lt;br /&gt;
|-&lt;br /&gt;
| Set logistic filter signal || Change output signals on constant combinators.&lt;br /&gt;
|-&lt;br /&gt;
| Set player color || Change the color of the player&#039;s character.&lt;br /&gt;
|-&lt;br /&gt;
| Set recipe notifications || Change whether new recipes are marked as new in the crafting menu.&lt;br /&gt;
|-&lt;br /&gt;
| Set request from buffers || Change the &amp;quot;request from buffer chests&amp;quot; setting on requester chests.&lt;br /&gt;
|-&lt;br /&gt;
| Set research finished stops game || Set whether the technology tree opens automatically after finishing a research.&lt;br /&gt;
|-&lt;br /&gt;
| Set signal || ?&lt;br /&gt;
|-&lt;br /&gt;
| Set splitter priority || Change the priority settings on splitters.&lt;br /&gt;
|-&lt;br /&gt;
| Set train stopped || Toggle trains between manual and automatic modes.&lt;br /&gt;
|-&lt;br /&gt;
| Set trains limit || Change the train limit setting on train stops.&lt;br /&gt;
|-&lt;br /&gt;
| Set vehicle automatic targeting parameters || Change the automatic targeting settings on autonomous vehicles such as the spidertron.&lt;br /&gt;
|-&lt;br /&gt;
| Setup assembling machine || Set the recipe on assembling machines that do not have a recipe set.&lt;br /&gt;
|-&lt;br /&gt;
| Setup blueprint || Create a blueprint from the blueprint edit menu.&lt;br /&gt;
|-&lt;br /&gt;
| Setup single blueprint record || ?&lt;br /&gt;
|-&lt;br /&gt;
| Smart pipette || Smart pipette functions such as selecting a miner when using the pipette on ore.&lt;br /&gt;
|-&lt;br /&gt;
| Spawn item || ?&lt;br /&gt;
|-&lt;br /&gt;
| Stack split || Transfer half a stack of items to another inventory with Shift + RMB.&lt;br /&gt;
|-&lt;br /&gt;
| Stack transfer || Transfer a stack of items to another inventory with Shift + LMB.&lt;br /&gt;
|-&lt;br /&gt;
| Start repair || Repair entities using a repair pack.&lt;br /&gt;
|-&lt;br /&gt;
| Start research || Start new research in the tech tree menu.&lt;br /&gt;
|-&lt;br /&gt;
| Start walking || Walk around.&lt;br /&gt;
|-&lt;br /&gt;
| Stop building by moving || ?&lt;br /&gt;
|-&lt;br /&gt;
| Switch connect to logistic network || Connect or disconnect machines from the logistic network.&lt;br /&gt;
|-&lt;br /&gt;
| Switch constant combinator state || Toggle constant combinators on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Switch inserter filter mode state || Switch between blacklist and whitelist on filter inserters.&lt;br /&gt;
|-&lt;br /&gt;
| Switch power switch state || Toggle power switches on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Switch to rename stop gui || Open the rename train stop menu by clicking the pencil icon next to the stop name.&lt;br /&gt;
|-&lt;br /&gt;
| Take equipment || Remove equipment from an equipment grid.&lt;br /&gt;
|-&lt;br /&gt;
| Toggle deconstruction item entity filter mode || Toggle the &amp;quot;entities only&amp;quot; switch on deconstruction planners.&lt;br /&gt;
|-&lt;br /&gt;
| Toggle deconstruction item tile filter mode || Toggle the &amp;quot;tiles only&amp;quot; switch on deconstruction planners.&lt;br /&gt;
|-&lt;br /&gt;
| Toggle driving || Enter or exit vehicles.&lt;br /&gt;
|-&lt;br /&gt;
| Toggle enable vehicle logistic requests || Toggle logistic requests of vehicles on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Toggle entity logistic requests || Toggle personal logistics and auto-trash on or off for entities.&lt;br /&gt;
|-&lt;br /&gt;
| Toggle equipment movement bonus || Toggle exoskeletons on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Toggle map editor || Open or close the map editor.&lt;br /&gt;
|-&lt;br /&gt;
| Toggle personal logistic requests. || Toggle personal logistic requests on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Toggle personal roboport || Toggle personal roboports on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Toggle show entity info || Toggle &amp;quot;alt mode&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| Translate string || ?&lt;br /&gt;
|-&lt;br /&gt;
| Undo || Undo the previous action with Ctrl + Z.&lt;br /&gt;
|-&lt;br /&gt;
| Upgrade || Apply an upgrade using the upgrade planner.&lt;br /&gt;
|-&lt;br /&gt;
| Upgrade opened blueprint by item || Apply a pre-existing upgrade planner to an open blueprint.&lt;br /&gt;
|-&lt;br /&gt;
| Upgrade opened blueprint by record || Apply a default upgrade planner to an open blueprint.&lt;br /&gt;
|-&lt;br /&gt;
| Use artillery remote || Use the artillery remote to target artillery.&lt;br /&gt;
|-&lt;br /&gt;
| Use item || Use consumable items such as capsules.&lt;br /&gt;
|-&lt;br /&gt;
| Wire dragging || Manually place circuit network wires.&lt;br /&gt;
|-&lt;br /&gt;
| Write to console || Allow use of chat/console.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Railway/Train_path_finding&amp;diff=198353</id>
		<title>Railway/Train path finding</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Railway/Train_path_finding&amp;diff=198353"/>
		<updated>2024-05-17T18:29:37Z</updated>

		<summary type="html">&lt;p&gt;CodeGreen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
Before a train moves to a target (in this case, a [[Train stop]]), it calculates the best route based on the railway network at that time.&lt;br /&gt;
&lt;br /&gt;
== Path finding penalties ==&lt;br /&gt;
&lt;br /&gt;
For calculation it uses a simple [[WIKIPEDIA:A*_search_algorithm|A*-algorithm]]&amp;lt;sup&amp;gt;[https://www.factorio.com/blog/post/fff-331]&amp;lt;/sup&amp;gt;: The pathfinder first builds a list of non-disabled stops that match the name in the schedule, then searches outward from both ends of the train at once, if applicable, in segments. A segment is an uninterrupted plain sequence of rails, with no intersections, stops, or signals (all of which define segment borders). The cost (distance) is calculated using the following weighting rules:&lt;br /&gt;
* Base cost for a block/segment is the length of the segment (linear grid length along the center of the rail).&lt;br /&gt;
* When the rail block is occupied by a train -&amp;gt; Add a penalty of 2 * length of the block divided by the number of blocks from the start, so the far away occupied paths don&#039;t matter much.&lt;br /&gt;
* When the rail block is guarded by a [[rail signal]] set to red by the [[circuit network]] -&amp;gt; Add a penalty of 1000.&lt;br /&gt;
* When the path includes a train stop -&amp;gt; Add a penalty of 2000.&lt;br /&gt;
* When the rail block contains a train that is stopped at a train stop -&amp;gt; Add a penalty of 500.&lt;br /&gt;
* When the rail block contains a train that is stopped at a train stop and the train doesn&#039;t have other valid stops in its schedule -&amp;gt; Add a penalty of 1000.&lt;br /&gt;
* When the rail block contains a manually controlled stopped train with a passenger -&amp;gt; Add a penalty of 2000.&lt;br /&gt;
* When the rail block contains a manually controlled stopped train without a passenger -&amp;gt; Add a penalty of 7000.&lt;br /&gt;
* When the rail block contains an automatic train without a schedule -&amp;gt; Add a penalty of 7000.&lt;br /&gt;
* When the rail block contains a train currently arriving to a train stop -&amp;gt; Add a penalty of 100.&lt;br /&gt;
* When the rail block contains a train currently arriving to a rail signal -&amp;gt; Add a penalty of 100.&lt;br /&gt;
* When the rail block contains a train currently waiting at a rail signal -&amp;gt; Add a penalty of 100 + 0.1 for every tick the train has already waited.&lt;br /&gt;
* When the rail block contains a train that doesn&#039;t have a path -&amp;gt; Add a penalty of 1000.&lt;br /&gt;
&lt;br /&gt;
== Path Revalidation ==&lt;br /&gt;
A rail path will be revalidated if any event happens that could make this trains path invalid. If the path is found to be invalid then the game will repath the train. Path revalidation just confirms that the current path is still valid and does not confirm that it is still the best. &lt;br /&gt;
The following events cause path revalidation:&lt;br /&gt;
* A rail is destroyed (all trains are revalidated).&lt;br /&gt;
* A rail is created and invalidates a signal (all trains are revalidated) .&lt;br /&gt;
* A signal (chain or regular) is created or destroyed  (all trains are revalidated).&lt;br /&gt;
* A rail block changes and invalidates a signal (chain or regular) (all trains are revalidated).&lt;br /&gt;
* [https://lua-api.factorio.com/latest/LuaTrain.html#LuaTrain.recalculate_path LuaTrain::recalculate_path()] is called on the train by a script.&lt;br /&gt;
* The train&#039;s schedule is changed.&lt;br /&gt;
* The train&#039;s braking force gets changed and the train is currently driving normally, arriving at a signal (chain or regular) or arriving at a station.&lt;br /&gt;
* The train has waited at a chain signal for a multiple of 5 seconds.&lt;br /&gt;
&lt;br /&gt;
== Repath events ==&lt;br /&gt;
There are a number of events that can cause a train to repath listed below. When one of these conditions is met the game considers possible paths from the train&#039;s current location to any train stop matching the destination name in the train&#039;s schedule and will chose the path with the lowest score according to the penalties listed above. &lt;br /&gt;
=== User / script generated events ===&lt;br /&gt;
* A locomotive that is part of the train is rotated. &lt;br /&gt;
* [https://lua-api.factorio.com/latest/LuaTrain.html#LuaTrain.recalculate_path LuaTrain::recalculate_path(true)] is called on the train by a script.&lt;br /&gt;
* The train is switched to automatic control when it was previously manually controlled.&lt;br /&gt;
* The train is set to go to a station using the &amp;quot;Go to stop&amp;quot; button in the train&#039;s GUI.&lt;br /&gt;
* A waypoint (train stop without wait condition) is removed from the train&#039;s schedule.&lt;br /&gt;
&lt;br /&gt;
=== Repaths that happen as part of normal train operation ===&lt;br /&gt;
* A train fails a revalidation.&lt;br /&gt;
* The train stop a train is heading to is renamed or destroyed.&lt;br /&gt;
* The train is preparing to stop at a signal (chain or regular) that changes so that the train can now continue. &lt;br /&gt;
* The train is braking for a signal (chain or regular) it cant reserve. &lt;br /&gt;
* The train enters a new rail block and can&#039;t reserve the next needed signal (chain or regular). &lt;br /&gt;
* The train has waited at a chain signal for a multiple of 5 seconds and there are multiple train stops with the same name as the destination. &lt;br /&gt;
* The train has waited at a chain signal for a multiple of 30 seconds and there is only a single train stop with the same name as the destination.&lt;br /&gt;
* The train wants to depart from a signal (chain or regular) that it stopped at. &lt;br /&gt;
* The train wants to depart from a train stop.&lt;br /&gt;
* The train is pathing to a train stop that gets disabled.&lt;br /&gt;
&lt;br /&gt;
=== Destination full / No path trains === &lt;br /&gt;
* A rail gets created.&lt;br /&gt;
* A train stop that is part of the train&#039;s schedule gets enabled, renamed or created. &lt;br /&gt;
* The train limit of a train stop that is part of the train&#039;s schedule becomes not full.&lt;br /&gt;
* The train stop that it currently cannot reach gets disabled or destroyed.&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
* The train collides with something that is not a train (like a player).&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
{{History|0.18.1|&lt;br /&gt;
* Train stop at train&#039;s starting segment exit is no longer counted into penalty. (Not mentioned above)}}&lt;br /&gt;
&lt;br /&gt;
{{History|0.17.38|&lt;br /&gt;
* When a train performs path finding while in a chain signal sequence, the pathfinding will have a constraint to not go through reserved block before exiting the chain sequence. This solves a problem of train intersections being possible to be deadlocked even with proper chain signals usage in cases of using temporary stops or when path is changed because of station is being enabled/disabled by a circuit network. This also allowed us to to let train recalculate path spontaneously even in chain signal sequence, as it shouldn&#039;t break anything now.}}&lt;br /&gt;
&lt;br /&gt;
{{History|0.16.42|&lt;br /&gt;
* Added train path finding penalty for train with no path equal to 1000 tiles}}&lt;br /&gt;
&lt;br /&gt;
{{History|0.16.0|&lt;br /&gt;
* The specific penalties can now be found in the utility constants, which allows mods to change them. (Undocumented)}}&lt;br /&gt;
&lt;br /&gt;
{{History|0.15.0|&lt;br /&gt;
* Train station adds 2000 tiles penalty when path finding, so trains try to avoid stations not related to their path.}}&lt;br /&gt;
&lt;br /&gt;
{{History|0.11.17|&lt;br /&gt;
* Increased the pathing penalty for non-moving train in manual mode from 200 to 1000.}}&lt;br /&gt;
&lt;br /&gt;
{{History|0.11.13|&lt;br /&gt;
* Stopped, manually controlled train adds additional penalty (related to train path finding) of 200 tiles to the block it occupies.}}&lt;br /&gt;
&lt;br /&gt;
{{History|0.11.11|&lt;br /&gt;
* The pathfinding is based on penalties for blocked segments now. For trains waiting in station, the more remaining time in the station, the bigger penalty.}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [https://gist.github.com/Rseding91/c0d4d08d6feaed618ed4a03f6c6a8fe6 Train pathfinding code]&lt;br /&gt;
* [https://www.factorio.com/blog/post/fff-331 FFF #331]&lt;br /&gt;
* [https://www.factorio.com/blog/post/fff-68 FFF #68]&lt;br /&gt;
* [[Railway]]&lt;br /&gt;
&lt;br /&gt;
{{C|Railway{{!}}#Railway/Train path finding}}&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=User:CodeGreen&amp;diff=196589</id>
		<title>User:CodeGreen</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=User:CodeGreen&amp;diff=196589"/>
		<updated>2024-02-27T19:45:06Z</updated>

		<summary type="html">&lt;p&gt;CodeGreen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello!&lt;br /&gt;
&lt;br /&gt;
I make [https://mods.factorio.com/user/_CodeGreen mods], [https://forums.factorio.com/viewtopic.php?f=194&amp;amp;t=100614 rail intersections], and anything else that comes to mind I post over on the [https://discord.gg/factorio main discord].&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=User:CodeGreen&amp;diff=196588</id>
		<title>User:CodeGreen</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=User:CodeGreen&amp;diff=196588"/>
		<updated>2024-02-27T19:43:56Z</updated>

		<summary type="html">&lt;p&gt;CodeGreen: Created page with &amp;quot;Hello!  I make [https://mods.factorio.com/user/%20CodeGreen mods], [https://forums.factorio.com/viewtopic.php?f=194&amp;amp;t=100614 rail intersections], and anything else that comes to mind I post over on the [https://discord.gg/factorio main discord].&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello!&lt;br /&gt;
&lt;br /&gt;
I make [https://mods.factorio.com/user/%20CodeGreen mods], [https://forums.factorio.com/viewtopic.php?f=194&amp;amp;t=100614 rail intersections], and anything else that comes to mind I post over on the [https://discord.gg/factorio main discord].&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Iron_plate&amp;diff=195003</id>
		<title>Iron plate</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Iron_plate&amp;diff=195003"/>
		<updated>2023-10-22T01:10:48Z</updated>

		<summary type="html">&lt;p&gt;CodeGreen: missing period lol&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
{{:Infobox:Iron plate}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;iron plate&#039;&#039;&#039; is a material that can be made by smelting [[iron ore]] in a [[furnace]].  It is a component or subcomponent of almost every item in Factorio, and it is recommended to create a large stockpile when possible. When smelted in a furnace for a second time, iron plates will transform into [[steel plate]]s, with a ratio of 5 iron plates per 1 steel plate.&lt;br /&gt;
&lt;br /&gt;
When starting a new freeplay game, the player starts out with 8 iron plate, along with 1 [[burner mining drill]] and 1 [[stone furnace]].&lt;br /&gt;
== Achievements ==&lt;br /&gt;
{{Achievement|iron-throne-1}}&lt;br /&gt;
{{Achievement|iron-throne-2}}&lt;br /&gt;
{{Achievement|iron-throne-3}}&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
{{History|0.17.0|&lt;br /&gt;
* Crafting time reduced from 3.5 to 3.2 seconds.}}&lt;br /&gt;
{{History|0.1.0|&lt;br /&gt;
* Introduced}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Iron gear wheel]]&lt;br /&gt;
* [[Copper plate]]&lt;br /&gt;
&lt;br /&gt;
{{IntermediateNav}}&lt;br /&gt;
{{C|Materials}}&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Steel_plate&amp;diff=195002</id>
		<title>Steel plate</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Steel_plate&amp;diff=195002"/>
		<updated>2023-10-22T01:10:18Z</updated>

		<summary type="html">&lt;p&gt;CodeGreen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
{{:Infobox:Steel plate}}&lt;br /&gt;
The &#039;&#039;&#039;steel plate&#039;&#039;&#039; is an advanced material made by smelting [[iron plate]]s again. It is used in many advanced recipes, including electrical distribution logistics, military items, and upgraded production machines. Some of these products in turn are used in the [[Production science pack]], which requires a total of 25 steel plates.&lt;br /&gt;
&lt;br /&gt;
Because the recipe for steel contains a ratio of 5 iron : 1 steel, it requires less space to transport once processed. Because of this, it is easier to transport the finished steel instead of smelting the steel where it needs to be used.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
{{History|0.17.0|&lt;br /&gt;
* Crafting time reduced from 17.5 to 16 seconds.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.10.0|&lt;br /&gt;
* New icons}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.2.8|&lt;br /&gt;
* Proper ordering of steel plate vs iron plate.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.2.1|&lt;br /&gt;
* Larger stack size}}&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|Materials}}&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Iron_plate&amp;diff=195000</id>
		<title>Iron plate</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Iron_plate&amp;diff=195000"/>
		<updated>2023-10-22T01:09:35Z</updated>

		<summary type="html">&lt;p&gt;CodeGreen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
{{:Infobox:Iron plate}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;iron plate&#039;&#039;&#039; is a material that can be made by smelting [[iron ore]] in a [[furnace]].  It is a component or subcomponent of almost every item in Factorio, and it is recommended to create a large stockpile when possible. When smelted in a furnace for a second time, iron plates will transform into [[steel plate]]s, with a ratio of 5 iron plates per 1 steel plate.&lt;br /&gt;
&lt;br /&gt;
When starting a new freeplay game, the player starts out with 8 iron plate, along with 1 [[burner mining drill]] and 1 [[stone furnace]].&lt;br /&gt;
== Achievements ==&lt;br /&gt;
{{Achievement|iron-throne-1}}&lt;br /&gt;
{{Achievement|iron-throne-2}}&lt;br /&gt;
{{Achievement|iron-throne-3}}&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
{{History|0.17.0|&lt;br /&gt;
* Crafting time reduced from 3.5 to 3.2 seconds}}&lt;br /&gt;
{{History|0.1.0|&lt;br /&gt;
* Introduced}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Iron gear wheel]]&lt;br /&gt;
* [[Copper plate]]&lt;br /&gt;
&lt;br /&gt;
{{IntermediateNav}}&lt;br /&gt;
{{C|Materials}}&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Mod_images_API&amp;diff=192128</id>
		<title>Mod images API</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Mod_images_API&amp;diff=192128"/>
		<updated>2023-08-13T04:54:10Z</updated>

		<summary type="html">&lt;p&gt;CodeGreen: wrong type on URL + Thumbnail&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div align=&amp;quot;center&amp;quot; class=&amp;quot;stub&amp;quot;&amp;gt;&#039;&#039;&#039;Category:&#039;&#039;&#039; [[Factorio_HTTP_API_usage_guidelines#Public|Public API]]&amp;lt;/div&amp;gt;&lt;br /&gt;
The mod images API is used to add, reorder or remove mod images on the Factorio mod portal. It requires an API key with the &amp;lt;code&amp;gt;ModPortal: Edit Mods&amp;lt;/code&amp;gt; usage, which can be created on https://factorio.com/profile. &lt;br /&gt;
&lt;br /&gt;
It accepts &amp;lt;code&amp;gt;multipart/form-data&amp;lt;/code&amp;gt; HTTP requests and responds with JSON encoded objects.&lt;br /&gt;
&lt;br /&gt;
== Endpoints ==&lt;br /&gt;
&lt;br /&gt;
=== add ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| URL || https://mods.factorio.com/api/v2/mods/images/add&lt;br /&gt;
|-&lt;br /&gt;
| HTTP Method || &amp;lt;code&amp;gt;POST&amp;lt;/code&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
HTTP Request Header&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| Authorization|| &amp;lt;code&amp;gt;Bearer $APIKey&amp;lt;/code&amp;gt; || Authorization header with the APIKey and a &amp;quot;Bearer &amp;quot; prefix -&amp;gt; &amp;quot;Bearer $APIKey&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
HTTP Request Body&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| mod || string || Name of the mod, for which a new image will be uploaded&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
JSON object response&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| upload_url || string || URL the image should be uploaded to&lt;br /&gt;
|-&lt;br /&gt;
| error || string || This attribute only appears on &amp;lt;strong&amp;gt;failed&amp;lt;/strong&amp;gt; requests.&lt;br /&gt;
|-&lt;br /&gt;
| message || string || This attribute only appears on &amp;lt;strong&amp;gt;failed&amp;lt;/strong&amp;gt; requests. Has details about the problem.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== finish_upload ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| URL || &amp;lt;code&amp;gt;$upload_url&amp;lt;/code&amp;gt; URL returned by the add endpoint&lt;br /&gt;
|-&lt;br /&gt;
| HTTP Method || &amp;lt;code&amp;gt;POST&amp;lt;/code&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
HTTP Request Body&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| image || Image file&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
JSON object response&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| id || string || This attribute only appears on &amp;lt;strong&amp;gt;successful&amp;lt;/strong&amp;gt; uploads. SHA1 of the uploaded image.&lt;br /&gt;
|-&lt;br /&gt;
| url || string || This attribute only appears on &amp;lt;strong&amp;gt;successful&amp;lt;/strong&amp;gt; uploads. Url of the uploaded image.&lt;br /&gt;
|-&lt;br /&gt;
| thumbnail || string || This attribute only appears on &amp;lt;strong&amp;gt;successful&amp;lt;/strong&amp;gt; uploads. Url of thumbnail of the uploaded image.&lt;br /&gt;
|-&lt;br /&gt;
| error || string || This attribute only appears on &amp;lt;strong&amp;gt;failed&amp;lt;/strong&amp;gt; uploads.&lt;br /&gt;
|-&lt;br /&gt;
| message || string || This attribute only appears on &amp;lt;strong&amp;gt;failed&amp;lt;/strong&amp;gt; uploads. Has details about the problem.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== edit ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| URL || https://mods.factorio.com/api/v2/mods/images/edit&lt;br /&gt;
|-&lt;br /&gt;
| HTTP Method || &amp;lt;code&amp;gt;POST&amp;lt;/code&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
HTTP Request Header&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| Authorization|| &amp;lt;code&amp;gt;Bearer $APIKey&amp;lt;/code&amp;gt; || Authorization header with the APIKey and a &amp;quot;Bearer &amp;quot; prefix -&amp;gt; &amp;quot;Bearer $APIKey&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
HTTP Request Body&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| mod || string || Name of the mod, for which a new image will be uploaded&lt;br /&gt;
|-&lt;br /&gt;
| images || string || List of comma-seperated image ids that should be displayed on the mod page&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JSON object response&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| success || bool || This attribute only appears on &amp;lt;strong&amp;gt;successful&amp;lt;/strong&amp;gt; uploads. It&#039;s set to true.&lt;br /&gt;
|-&lt;br /&gt;
| images || list || This attribute only appears on &amp;lt;strong&amp;gt;successful&amp;lt;/strong&amp;gt; uploads. List of objects with id, url and thumbnail attribute same as finish_upload endpoint.&lt;br /&gt;
|-&lt;br /&gt;
| error || string || This attribute only appears on &amp;lt;strong&amp;gt;failed&amp;lt;/strong&amp;gt; uploads.&lt;br /&gt;
|-&lt;br /&gt;
| message || string || This attribute only appears on &amp;lt;strong&amp;gt;failed&amp;lt;/strong&amp;gt; uploads. Has details about the problem.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Possible API Error Responses ==&lt;br /&gt;
Possible values for the &amp;lt;code&amp;gt;error&amp;lt;/code&amp;gt; property of API responses&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| InvalidApiKey || Missing or invalid API key for the current endpoint&lt;br /&gt;
|-&lt;br /&gt;
| InvalidRequest || Invalid request.&lt;br /&gt;
|-&lt;br /&gt;
| InternalError || Internal error, please try again later.&lt;br /&gt;
|-&lt;br /&gt;
| Forbidden || Insufficent permission for current endpoint&lt;br /&gt;
|-&lt;br /&gt;
| Unknown || Unknown error, please try again later.&lt;br /&gt;
|-&lt;br /&gt;
| InvalidImageUpload || Invalid image file uploaded.&lt;br /&gt;
|-&lt;br /&gt;
| UnknownMod || Mod does not exist in mod portal&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Python Examples ==&lt;br /&gt;
=== Add Image ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import sys&lt;br /&gt;
import requests&lt;br /&gt;
from os import getenv&lt;br /&gt;
&lt;br /&gt;
MOD_PORTAL_URL = &amp;quot;https://mods.factorio.com&amp;quot;&lt;br /&gt;
INIT_UPLOAD_URL = f&amp;quot;{MOD_PORTAL_URL}/api/v2/mods/images/add&amp;quot;&lt;br /&gt;
&lt;br /&gt;
apikey = getenv(&amp;quot;MOD_EDIT_API_KEY&amp;quot;)&lt;br /&gt;
modname = sys.argv[1]&lt;br /&gt;
filepath = sys.argv[2]&lt;br /&gt;
&lt;br /&gt;
request_body = data = {&amp;quot;mod&amp;quot;: modname}&lt;br /&gt;
request_headers = {&amp;quot;Authorization&amp;quot;: f&amp;quot;Bearer {apikey}&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
response = requests.post(INIT_UPLOAD_URL, data=request_body, headers=request_headers)&lt;br /&gt;
&lt;br /&gt;
if not response.ok:&lt;br /&gt;
    print(f&amp;quot;init_upload failed: {response.text}&amp;quot;)&lt;br /&gt;
    sys.exit(1)&lt;br /&gt;
&lt;br /&gt;
upload_url = response.json()[&amp;quot;upload_url&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
with open(filepath, &amp;quot;rb&amp;quot;) as f:&lt;br /&gt;
    request_body = {&amp;quot;image&amp;quot;: f}&lt;br /&gt;
    response = requests.post(upload_url, files=request_body)&lt;br /&gt;
&lt;br /&gt;
if not response.ok:&lt;br /&gt;
    print(f&amp;quot;upload failed: {response.text}&amp;quot;)&lt;br /&gt;
    sys.exit(1)&lt;br /&gt;
&lt;br /&gt;
print(f&amp;quot;upload successful: {response.text}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Edit Images ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import sys&lt;br /&gt;
import requests&lt;br /&gt;
from os import getenv&lt;br /&gt;
&lt;br /&gt;
MOD_PORTAL_URL = &amp;quot;https://mods.factorio.com&amp;quot;&lt;br /&gt;
EDIT_MOD_URL = f&amp;quot;{MOD_PORTAL_URL}/api/v2/mods/images/edit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
apikey = getenv(&amp;quot;MOD_EDIT_API_KEY&amp;quot;)&lt;br /&gt;
modname = getenv(&amp;quot;MOD_NAME&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
image_ids = [&amp;quot;fdc375d5ca3c263fedafb7ef143c82f9fb668472&amp;quot;, &amp;quot;47bda5cd27ef49fe86fe03f803cb5c351a848586&amp;quot;]&lt;br /&gt;
image_ids_text = &amp;quot;,&amp;quot;.join(image_ids)&lt;br /&gt;
&lt;br /&gt;
request_body = data = {&amp;quot;mod&amp;quot;: modname, &amp;quot;images&amp;quot;: image_ids_text}&lt;br /&gt;
request_headers = {&amp;quot;Authorization&amp;quot;: f&amp;quot;Bearer {apikey}&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
response = requests.post(EDIT_MOD_URL, data=request_body, headers=request_headers)&lt;br /&gt;
&lt;br /&gt;
if not response.ok:&lt;br /&gt;
    print(f&amp;quot;edit failed: {response.text}&amp;quot;)&lt;br /&gt;
    sys.exit(1)&lt;br /&gt;
&lt;br /&gt;
print(f&amp;quot;edit successful: {response.text}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{Languages}}[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Prototype/SelectionTool&amp;diff=191353</id>
		<title>Prototype/SelectionTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Prototype/SelectionTool&amp;diff=191353"/>
		<updated>2023-05-15T01:56:43Z</updated>

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

		<summary type="html">&lt;p&gt;CodeGreen: deprecated github_path in favor of source_url&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div align=&amp;quot;center&amp;quot; class=&amp;quot;stub&amp;quot;&amp;gt;&#039;&#039;&#039;Category:&#039;&#039;&#039; [[Factorio_HTTP_API_usage_guidelines#Internal|Internal API]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Mod Portal API is used to both browse and download all mods available on the [https://mods.factorio.com/ official Factorio mod portal]. Using the API does not require any kind of authentication or account information and can be viewed simply by following the URLs below in any web browser.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/mods&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More detailed information about a particular mod can be obtained by retrieving the following URL, where {name} is the mod&#039;s name field in the result object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/mods/{name}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get even more information about a mod, you can use the following URL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/mods/{name}/full&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Endpoints ==&lt;br /&gt;
&lt;br /&gt;
=== /api/mods ===&lt;br /&gt;
&lt;br /&gt;
GET Parameters:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Values !! Description&lt;br /&gt;
|-&lt;br /&gt;
| hide_deprecated || {boolean} || Only return non-deprecated mods. &lt;br /&gt;
|-&lt;br /&gt;
| page ||{an integer}||Page number you would like to show. Makes it so you can see a certain part of the list without getting detail on all&lt;br /&gt;
|-&lt;br /&gt;
| page_size ||{an integer or &#039;max&#039;}||The amount of results to show in your search&lt;br /&gt;
|-&lt;br /&gt;
| sort || {enum, one of name, created_at or updated_at} || Sort results by this property. Defaults to name when not defined. Ignored for &amp;lt;code&amp;gt;page_size=max&amp;lt;/code&amp;gt; queries.&lt;br /&gt;
|-&lt;br /&gt;
| sort_order || {enum, one of asc or desc} || Sort results ascending or descending. Defaults to descending when not defined. Ignored for &amp;lt;code&amp;gt;page_size=max&amp;lt;/code&amp;gt; queries.&lt;br /&gt;
|-&lt;br /&gt;
| namelist || {array of strings} || Return only mods that match the given names. Response will include &amp;lt;code&amp;gt;releases&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;latest_release&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| version || {enum, one of 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 1.0 or 1.1} || Only return non-deprecated mods compatible with this Factorio version&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns [[#Mod List Response]]&lt;br /&gt;
&lt;br /&gt;
=== /api/mods/{mod_name} ===&lt;br /&gt;
&lt;br /&gt;
Return short information of a specific mod.&lt;br /&gt;
&lt;br /&gt;
See [[#Result Entry]], &amp;quot;Short&amp;quot; column.&lt;br /&gt;
&lt;br /&gt;
=== /api/mods/{mod_name}/full ===&lt;br /&gt;
&lt;br /&gt;
Returns more information of a mod.&lt;br /&gt;
&lt;br /&gt;
See [[#Result Entry]], &amp;quot;Full&amp;quot; column.&lt;br /&gt;
&lt;br /&gt;
== JSON Object Types ==&lt;br /&gt;
&lt;br /&gt;
=== Mod List Response ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| pagination || [[#Pagination|Pagination]] || See [[#Pagination]]&lt;br /&gt;
|-&lt;br /&gt;
| results || [[#Result Entry|Result]][] || A list of mods, matching any filters you specified.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pagination ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| count || Integer || Total number of mods that match your specified filters.&lt;br /&gt;
|-&lt;br /&gt;
| links || [[#Pagination_Links|Links]] || Utility links to mod portal api requests, preserving all filters and search queries.&lt;br /&gt;
|-&lt;br /&gt;
| page || Integer || The current page number.&lt;br /&gt;
|-&lt;br /&gt;
| page_count || Integer || The total number of pages returned.&lt;br /&gt;
|-&lt;br /&gt;
| page_size || Integer || The number of results per page.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pagination Links ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| first || String(URL) || URL to the first page of the results, or null if you&#039;re already on the first page.&lt;br /&gt;
|- &lt;br /&gt;
| prev || String(URL) || URL to the previous page of the results, or null if you&#039;re already on the first page.&lt;br /&gt;
|-&lt;br /&gt;
| next || String(URL) || URL to the next page of the results, or null if you&#039;re already on the last page.&lt;br /&gt;
|-&lt;br /&gt;
| last || String(URL) || URL to the last page of the results, or null if you&#039;re already on the last page.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Result Entry ===&lt;br /&gt;
&lt;br /&gt;
Fields returned by the api/mods endpoint are marked with a check (✓) in the &amp;quot;api/mods endpoint&amp;quot; column, those returned by the api/mods/{name} endpoint are marked with a check in the &amp;quot;Short&amp;quot; column and those returned by the api/mods/{name}/full endpoint are marked in the &amp;quot;Full&amp;quot; column. Fields may be absent if there is no data.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !!+ style=&#039;writing-mode:vertical-lr;vertical-align:bottom;font-size:90%&#039; | api/mods endpoint !!+ style=&#039;writing-mode:vertical-lr;vertical-align:bottom;font-size:90%&#039; | Short !!+ style=&#039;writing-mode:vertical-lr;vertical-align:bottom;font-size:90%&#039; | Full !! Description&lt;br /&gt;
|-&lt;br /&gt;
| downloads_count || Integer || ✓ || ✓ || ✓&lt;br /&gt;
| Number of downloads.&lt;br /&gt;
|-&lt;br /&gt;
| latest_release || [[#Releases|Release]]? || ✓ || ||&lt;br /&gt;
| The latest version of the mod available for download. Absent when the &amp;lt;code&amp;gt;namelist&amp;lt;/code&amp;gt; [[#/api/mods|parameter]] is used.&lt;br /&gt;
|-&lt;br /&gt;
| name || String || ✓ || ✓ || ✓&lt;br /&gt;
| The mod&#039;s machine-readable ID string.&lt;br /&gt;
|-&lt;br /&gt;
| owner || String || ✓ || ✓ || ✓&lt;br /&gt;
| The Factorio username of the mod&#039;s author.&lt;br /&gt;
|-&lt;br /&gt;
| releases || [[#Releases|Release]][] || ✓* || ✓ || ✓&lt;br /&gt;
| A list of different versions of the mod available for download. See [[#Releases]]. *Only when using &amp;lt;code&amp;gt;namelist&amp;lt;/code&amp;gt; [[#/api/mods|parameter]].&lt;br /&gt;
|-&lt;br /&gt;
| summary || String || ✓ || ✓ || ✓&lt;br /&gt;
| A shorter mod description.&lt;br /&gt;
|-&lt;br /&gt;
| title || String || ✓ || ✓ || ✓&lt;br /&gt;
| The mod&#039;s human-readable name.&lt;br /&gt;
|-&lt;br /&gt;
| category || [[#Tags|Tag]]? || ✓ || ✓ || ✓&lt;br /&gt;
| A single tag describing the mod. See [[#Tags]].&lt;br /&gt;
|-&lt;br /&gt;
| thumbnail || String(relative URL) || || ✓ || ✓&lt;br /&gt;
| The relative path to the thumbnail of the mod. For mods that have no thumbnail it may be absent or default to &amp;lt;code&amp;gt;&amp;quot;/assets/.thumb.png&amp;quot;&amp;lt;/code&amp;gt;. Prepend &amp;quot;assets-mod.factorio.com&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| changelog || String || || || ✓&lt;br /&gt;
| A string describing the recent changes to a mod.&lt;br /&gt;
|- &lt;br /&gt;
| created_at || String(ISO 8601) || || || ✓&lt;br /&gt;
| ISO 6501 for when the mod was created.&lt;br /&gt;
|-&lt;br /&gt;
| description || String || || || ✓&lt;br /&gt;
| A longer description of the mod, in text only format.&lt;br /&gt;
|-&lt;br /&gt;
| source_url || String || || || ✓&lt;br /&gt;
| A URL to the mod&#039;s source code.&lt;br /&gt;
|-&lt;br /&gt;
| github_path || String || || || ✓&lt;br /&gt;
| Deprecated: Use &amp;lt;code&amp;gt;source_url&amp;lt;/code&amp;gt; instead. A link to the mod&#039;s github project page, just prepend &amp;quot;github.com/&amp;quot;. Can be blank (&amp;quot;&amp;quot;).&lt;br /&gt;
|-&lt;br /&gt;
| homepage || String || || || ✓&lt;br /&gt;
| Usually a URL to the mod&#039;s main project page, but can be any string.&lt;br /&gt;
|-&lt;br /&gt;
| tag || [[#Tags|Tag]][] || || || ✓&lt;br /&gt;
| A list of tag objects that categorize the mod. See [[#Tags]].&lt;br /&gt;
|-&lt;br /&gt;
| license || [[#License]][] || || || ✓&lt;br /&gt;
| The license that applies to the mod. See [[#License]].&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
&lt;br /&gt;
Only difference here between the api/mods/{name} endpoint and the api/mods/{name}/full endpoint is that the full one includes an array of dependencies in the info_json object.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| download_url || String &lt;br /&gt;
| Path to download for a mod. starts with &amp;quot;/download&amp;quot; and does not include a full url. See [[#Downloading Mods]]&lt;br /&gt;
|-&lt;br /&gt;
| file_name || String &lt;br /&gt;
| The file name of the release. Always seems to follow the pattern &amp;quot;{name}_{version}.zip&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| info_json || Object &lt;br /&gt;
| A copy of the mod&#039;s info.json file, only contains factorio_version in short version, also contains an array of dependencies in full version&lt;br /&gt;
|- &lt;br /&gt;
| released_at || String(ISO 8601) &lt;br /&gt;
| ISO 6501 for when the mod was released.&lt;br /&gt;
|-&lt;br /&gt;
| version || String &lt;br /&gt;
| The version string of this mod release. Used to determine dependencies. &lt;br /&gt;
|-&lt;br /&gt;
| sha1 || String &lt;br /&gt;
| The sha1 key for the file&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tags ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| id || Integer || A numerical ID unique to this tag.&lt;br /&gt;
|-&lt;br /&gt;
| name || String || An all lower-case string used to identify this tag internally.&lt;br /&gt;
|-&lt;br /&gt;
| title || String || The tag&#039;s human-readable tag name.&lt;br /&gt;
|-&lt;br /&gt;
| description || String || A short description for the tag.&lt;br /&gt;
|-&lt;br /&gt;
| type || String || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Currently, there are only a fixed number of tags available, these include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! id !! type !! name !! title !! description&lt;br /&gt;
|-&lt;br /&gt;
| 1 || t || general || General || Mods that cannot be sorted into other categories&lt;br /&gt;
|-&lt;br /&gt;
| 2 || t || non-game-changing || Non-Game-Changing || Changes only look&amp;amp;feel. New graphics, new sounds, ... such things.&lt;br /&gt;
|-&lt;br /&gt;
| 3 || t || helper-mods || Helper Mods || These mods are not game-changing, but enhance the gameplay by helping you with useful functions. Mods like showing the current game-time, keep track over your resources, rail-laying...&lt;br /&gt;
|-&lt;br /&gt;
| 6 || t || big-mods || Big Mods || Too big and/or changes too much of the game to be fit anywhere else&lt;br /&gt;
|-&lt;br /&gt;
| 12 || t || transportation || Transportation || Player transport&lt;br /&gt;
|-&lt;br /&gt;
| 13 || t || logistics || Logistics || Transport of materials&lt;br /&gt;
|-&lt;br /&gt;
| 14 || t || utility || Utility || Helps with certain things the player is doing.&lt;br /&gt;
|-&lt;br /&gt;
| 15 || t || balancing || Balancing || Makes the game much more fair&lt;br /&gt;
|-&lt;br /&gt;
| 17 || t || enemies || Enemies || Adds more enemies for more challange&lt;br /&gt;
|-&lt;br /&gt;
| 16 || t || weapons || Weapons || Adds more weapons to annihilate the enemy&lt;br /&gt;
|-&lt;br /&gt;
| 18 || t || armor || Armor || Armors or armor equipment related.&lt;br /&gt;
|-&lt;br /&gt;
| 19 || t || oil || Oil || Things related to oil related manufacture&lt;br /&gt;
|-&lt;br /&gt;
| 20 || t || logistics-network || Logistics Network || Related to roboports and logistic robots&lt;br /&gt;
|- &lt;br /&gt;
| 21 || t || storage || Storage || Allows more ways to be able to store items&lt;br /&gt;
|-&lt;br /&gt;
| 22 || t || power-production || Power Production || Allows more ways to create mass amounts of energy&lt;br /&gt;
|-&lt;br /&gt;
| 23 || t || manufacture || Manufacture || Furnaces, assembling machines, production chains&lt;br /&gt;
|-&lt;br /&gt;
| 24 || t || blueprints || Blueprints || &lt;br /&gt;
|-&lt;br /&gt;
| 25 || t || cheats || Cheats || Well, they let you cheat&lt;br /&gt;
|- &lt;br /&gt;
| 26 || t || defense || Defense || Mods that add the ability to protect your base more&lt;br /&gt;
|-&lt;br /&gt;
| 27 || t || mining || Mining || Mods that provide better or new ways of mining resources&lt;br /&gt;
|-&lt;br /&gt;
| 28 || t || info || Info || Mods that provide additional information to the player&lt;br /&gt;
|-&lt;br /&gt;
| 29 || t || trains || Trains || Related to trains&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== License ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| description || String || A short description of the license.&lt;br /&gt;
|-&lt;br /&gt;
| id || String || The unique id of the license.&lt;br /&gt;
|-&lt;br /&gt;
| name || String || The internal name of the license.&lt;br /&gt;
|-&lt;br /&gt;
| title || String || The human-readable title of the license.&lt;br /&gt;
|-&lt;br /&gt;
| url || String || Usually a URL to the full license text, but can be any string.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| detail || String ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Downloading Mods ==&lt;br /&gt;
&lt;br /&gt;
You can get the full url by appending the download_url to mods.factorio.com, but if you&#039;re not authenticated, you will be redirected to mods.factorio.com/login. Logging in to that would give you access to the file. Fortunately, there&#039;s a better way to do this. Simply adding username and token parameters to the download url will prevent the redirecting and let you download the file immediately. The token can be acquired from a json file called &amp;quot;player-data.json&amp;quot;, located in the User Data directory (see [[Application_directory#User_data_directory]]). You can also get the token by using the [[Web_authentication_API | Web Authentication API]].&lt;br /&gt;
&lt;br /&gt;
Example usage:&lt;br /&gt;
https://mods.factorio.com/{download_url}?username={username}&amp;amp;token={token}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Languages}}[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Types/FlameThrowerExplosionTriggerDelivery&amp;diff=191302</id>
		<title>Types/FlameThrowerExplosionTriggerDelivery</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Types/FlameThrowerExplosionTriggerDelivery&amp;diff=191302"/>
		<updated>2023-04-23T21:59:57Z</updated>

		<summary type="html">&lt;p&gt;CodeGreen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Extends [[Types/TriggerDelivery]].&lt;br /&gt;
&lt;br /&gt;
== Mandatory properties ==&lt;br /&gt;
&lt;br /&gt;
=== explosion ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/string]]&lt;br /&gt;
&lt;br /&gt;
Name of a [[Prototype/Explosion]].&lt;br /&gt;
&lt;br /&gt;
=== starting_distance ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/double]]&lt;br /&gt;
&lt;br /&gt;
== Optional properties ==&lt;br /&gt;
Inherits &amp;quot;source_effects&amp;quot; and &amp;quot;target_effects&amp;quot; properties from [[Types/TriggerDelivery]].&lt;br /&gt;
&lt;br /&gt;
=== direction_deviation ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/float]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== speed_deviation ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/double]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== starting_frame_fraction_deviation ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/double]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 0&lt;br /&gt;
&lt;br /&gt;
=== projectile_starting_speed ===&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;: [[Types/float]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default&#039;&#039;&#039;: 1&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Prototype/Entity&amp;diff=190637</id>
		<title>Prototype/Entity</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Prototype/Entity&amp;diff=190637"/>
		<updated>2023-01-08T15:49:11Z</updated>

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

		<summary type="html">&lt;p&gt;CodeGreen: /* Advanced: Evolution factor components and computation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
[[File:biter_intro.png|175px|right]]&#039;&#039;&#039;Enemies&#039;&#039;&#039; (also commonly called &#039;&#039;&#039;Biters&#039;&#039;&#039;) are creatures that want to [[Damage|harm]] the [[player]]. They are the native inhabitants of the extraterrestrial world in the form of arthropods living in organic nests, coexisting with each other peacefully. They are encountered in three species: Biters, spitters and worms. The species are further distinguished in four stages of growth, and thus strength. Enemies and nests show up on the map as red dots. Much like the player, enemies can slowly regain lost health.&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
Enemies are directly connected to the following achievements:&lt;br /&gt;
{{Achievement|it-stinks-and-they-dont-like-it}}&lt;br /&gt;
{{Achievement|steamrolled}}&lt;br /&gt;
&lt;br /&gt;
==Creatures==&lt;br /&gt;
===Biters===&lt;br /&gt;
Biters are one of two main antagonists in the game. They come in four sizes: small, medium, big and behemoth. In the beginning of a game, there will only be the small ones. With increasing [[pollution]], they will become bigger, related to the enemy&#039;s [[#Evolution|evolution]]. As common sense may suggest, their method of attack is a straightforward charge to &amp;quot;bite&amp;quot; things.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Picture !! Name !! Info&lt;br /&gt;
|-&lt;br /&gt;
| [[File:small_biter.png|center]] || Small Biter&lt;br /&gt;
| Weakest of biters, can be easily killed with a pistol.&lt;br /&gt;
* Health: 15&lt;br /&gt;
* Damage: 7 Physical&lt;br /&gt;
* Attack speed: 1.71/s&lt;br /&gt;
* Speed: 43.2km/h &lt;br /&gt;
* Range: 1&lt;br /&gt;
* Pollution to join attack: 4&lt;br /&gt;
|-&lt;br /&gt;
| [[File:medium_biter.png|center]] || Medium Biter&lt;br /&gt;
| Stronger and slightly faster than the small biter. Can pose a problem for and even kill weaker players.&lt;br /&gt;
* Health: 75&lt;br /&gt;
* Damage: 15 Physical&lt;br /&gt;
* Attack speed: 1.71/s&lt;br /&gt;
* Speed: 51.8km/h&lt;br /&gt;
* Range: 1&lt;br /&gt;
* Pollution to join attack: 20&lt;br /&gt;
&lt;br /&gt;
[[Damage#Resistance|Resistances]]:&lt;br /&gt;
*Explosion: 0/10%&lt;br /&gt;
*Physical: 4/10%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:big_biter.png|center]] || Big Biter&lt;br /&gt;
| Dangerous, resistant to small arms. Can attack through walls, hitting objects directly behind them.&lt;br /&gt;
* Health: 375&lt;br /&gt;
* Damage: 30 Physical&lt;br /&gt;
* Attack speed: 1.71/s&lt;br /&gt;
* Speed: 49.7km/h&lt;br /&gt;
* Range: 2&lt;br /&gt;
* Pollution to join attack: 80&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 0/10%&lt;br /&gt;
*Physical: 8/10%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:behemoth_biter.png|center]] || Behemoth Biter&lt;br /&gt;
| Extremely durable and nearly immune to small arms, except for the strongest ordnance. Can attack through walls, hitting objects directly behind them.&lt;br /&gt;
* Health: 3000&lt;br /&gt;
* Damage: 90 Physical&lt;br /&gt;
* Attack speed: 1.2/s&lt;br /&gt;
* Speed: 64.8km/h&lt;br /&gt;
* Range: 2&lt;br /&gt;
* Pollution to join attack: 400&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 12/10%&lt;br /&gt;
*Physical: 12/10%&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Spitters===&lt;br /&gt;
&#039;&#039;&#039;Spitters&#039;&#039;&#039; are much like [[Enemies#Biters|biters]] and only appear slightly later on in the game as the evolution factor increases. Their main difference from biters is their ranged attack. Using predictive aiming, they spit a stream of acid at enemies which leaves behind a puddle of acid where it hits the ground. Due to the spitters&#039; predictive aiming, the acid stream can be dodged by suddenly changing walking directions or standing still.[https://factorio.com/blog/post/fff-279] Both the stream and the puddle of acid deal damage of time and slow down players and vehicles. Most entities of the game have a much lower resistance to acid than other damage types (including [[turret]]s and [[armor]]), so spitters are effectively more potent against the player and their factories. Their behaviour and size classification are the same as with biters, but their health is universally lower and they are resistant exclusively against explosives, with no physical resistance.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Picture !! Name !! Info&lt;br /&gt;
|-&lt;br /&gt;
| [[File:small_spitter.png|center]] || Small Spitter&lt;br /&gt;
| Weakest of spitters. Easy to kill with any weapon, but attacks at range.&lt;br /&gt;
* Health: 10&lt;br /&gt;
* Range: 13&lt;br /&gt;
* Pollution to join attack: 4&lt;br /&gt;
* Speed: 40.0km/h&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.6/s&lt;br /&gt;
* Area of effect size: 1&lt;br /&gt;
* Damage (on contact): 12 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 7.2 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Movement/vehicle speed modifier: 60%&lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[File:medium_spitter.png|center]] || Medium Spitter&lt;br /&gt;
| Stronger and slower than the smaller version. Can pose a problem for and even kill weaker players.&lt;br /&gt;
* Health: 50&lt;br /&gt;
* Range: 14&lt;br /&gt;
* Pollution to join attack: 12&lt;br /&gt;
* Speed: 35.6km/h&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.6/s&lt;br /&gt;
* Area of effect size: 1.25&lt;br /&gt;
* Damage (on contact): 24 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 28.8 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Movement/vehicle speed modifier: 50%&lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 0/10%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:big_spitter.png|center]] || Big Spitter&lt;br /&gt;
| An even bulkier spitter and so can take more damage.&lt;br /&gt;
* Health: 200&lt;br /&gt;
* Range: 15&lt;br /&gt;
* Pollution to join attack: 30&lt;br /&gt;
* Speed: 32.4km/h&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.6/s&lt;br /&gt;
* Area of effect size: 1.35&lt;br /&gt;
* Damage (on contact): 36 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 130 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Movement/vehicle speed modifier: 40%&lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 0/15%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:behemoth_spitter.png|center]] || Behemoth Spitter&lt;br /&gt;
| The bulkiest of the spitters and so can take even more damage.&lt;br /&gt;
* Health: 1500&lt;br /&gt;
* Range: 16&lt;br /&gt;
* Pollution to join attack: 200&lt;br /&gt;
* Speed: 32.4km/h&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.6/s&lt;br /&gt;
* Area of effect size: 1.75&lt;br /&gt;
* Damage (on contact): 60 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 360 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Movement/vehicle speed modifier: 30%&lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 0/30%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Worms===&lt;br /&gt;
&lt;br /&gt;
The Worms are natural allies of biters and spitters and will attack the player if they get close enough with an attack similar to spitters&#039;. They act like static [[turret]]s and will not follow attackers. They rely on high damage, great range and splash damage to keep the player away from the worms and the nests they protect, but either one of these advantages can be overcome. Unlike other enemies, they are also highly resistant to fire. They will spit acid at the player, which can also leave acidic puddles on the ground that can still damage players and vehicles, as well as slow them both down and leave a brief acidic, damaging effect for a few seconds. However, placed buildings and tiles are unaffected by the acid puddles, but still take damage normally by the acid projectile.&lt;br /&gt;
&lt;br /&gt;
Worms come in 4 sizes, their power increasing with size. Like biters and spitters, behemoth, big and medium worms spawning is influenced by the evolution factor. Worms are only created during enemy expansion when a certain evolution factor requirement is fulfilled. This is 0.3 for the medium worm, 0.5 for the big worm and 0.9 for the behemoth worm. Below these evolution factors, worms can only be created by the map generation. In map generation, the game restricts higher tier worms behind the distance from the starting point. The further away the player goes from the starting area, the stronger the worms become.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Picture !! Name !! Info&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Small worm.png|center]] || Small Worm&lt;br /&gt;
| A weak worm. It is still capable of killing the player unless it is targeted as priority.&lt;br /&gt;
* Health: 200&lt;br /&gt;
* Range: 25&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.66/s&lt;br /&gt;
* Area of effect size: 1.4&lt;br /&gt;
* Damage (on contact): 36 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 21.6 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
** Movement/vehicle speed modifier: 60%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Medium worm.png|center]] || Medium Worm&lt;br /&gt;
| Medium worms are dangerous to even more advanced players. They should be handled with care.&lt;br /&gt;
* Health: 400&lt;br /&gt;
* Range: 30&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.66/s&lt;br /&gt;
* Area of effect size: 1.55&lt;br /&gt;
* Damage (on contact): 48 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 57.6 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
** Movement/vehicle speed modifier: 50%&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 5/15%&lt;br /&gt;
*Fire: 2/50%&lt;br /&gt;
*Physical: 5/0%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Big worm.png|center]] || Big Worm&lt;br /&gt;
| Big worms are not as much more dangerous as resilient. They are almost immune to common gunfire of any sort.&lt;br /&gt;
* Health: 750&lt;br /&gt;
* Range: 38&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.66/s&lt;br /&gt;
* Area of effect size: 1.75&lt;br /&gt;
* Damage (on contact): 72 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 259 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
** Movement/vehicle speed modifier: 40%&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 10/30%&lt;br /&gt;
*Fire: 3/70%&lt;br /&gt;
*Physical: 10/0%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Behemoth worm.png|center]] || Behemoth Worm&lt;br /&gt;
| Behemoth worms are the most dangerous of worms. They are just as resilient as Big worms, with much greater range.&lt;br /&gt;
* Health: 750&lt;br /&gt;
* Range: 48&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.66/s&lt;br /&gt;
* Area of effect size: 2&lt;br /&gt;
* Damage (on contact): 96 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 691 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
** Movement/vehicle speed modifier: 30%&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Acid: 0/100%&lt;br /&gt;
*Explosion: 10/30%&lt;br /&gt;
*Fire: 3/70%&lt;br /&gt;
*Physical: 10/0%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Picture !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:worm.gif]] || A worm&#039;s attack animation.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Nests==&lt;br /&gt;
&lt;br /&gt;
The spawn points of biters and spitters. While nests themselves are generally defenseless, the enemies they release over time effectively serve as a form of guards to distract the player and any nearby turrets, and are often accompanied by worms. Nests exposed to pollution will use it to send enemies to join attacks. Enemies not engaged in combat may seek out the nearest nest for protection.&lt;br /&gt;
&lt;br /&gt;
The nests are highly resistant to fire and otherwise generally more resilient than a medium worm.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Picture !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:biter_nest.png]] || Biter&#039;s nest&lt;br /&gt;
|&lt;br /&gt;
* Health: 350&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 5/15%&lt;br /&gt;
*Fire: 3/60%&lt;br /&gt;
*Physical: 2/15%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:spitter_nest.png]] || Spitter&#039;s nest&lt;br /&gt;
|&lt;br /&gt;
* Health: 350&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 5/15%&lt;br /&gt;
*Fire: 3/60%&lt;br /&gt;
*Physical: 2/15%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Expansions ===&lt;br /&gt;
Every 4-60 minutes, a group of 5-20 biters/spitters will leave their base to create a new base which will consist of as many worms/nests as there are members in the group. This group will search for a suitable spot that&#039;s 3-7 chunks away from existing bases. The interval between enemy expansions is global, and the higher enemy evolution, the shorter the interval is on average. Furthermore, with higher evolution, the groups are bigger on average.&lt;br /&gt;
&lt;br /&gt;
Once they have found a suitable spot, each biter/spitter in the group dies and forms a new nest or worm. Forming a new nest or worm will destroy anything that is in the way, which can include members of the expansion group. There is a delay between each member sacrificing itself for to create a worm/nest, so creating the new base from the expansion group can take quite a long time, depending on the group size. Medium worms are only formed if the current evolution is higher than 0.3, big worms only if the current evolution is higher than 0.5 and behemoth worms are only formed if current evolution is higher than 0.9. The game randomly chooses whether to form a new biter nest, spitter nest, small worm, or bigger worm if the evolution factor is high enough. [https://gist.github.com/Bilka2/aa88490c23124a6f214c02c73a368aa7]&lt;br /&gt;
&lt;br /&gt;
==Defense==&lt;br /&gt;
[[File:kills_gui.png|thumb|220px|right|&amp;quot;Kills&amp;quot; tab on the [[production statistics]] screen.]]Nests spawn biters and spitters freely. However, biters and spitters will only aggressively engage the player&#039;s factory if the pollution cloud of the factory reaches a nest because pollution is consumed to send biters or spitters to join the next attack. Every 1 to 10 minutes (random) the mustered biters launch an attack. If not all biters have arrived at the rendezvous point by that time, they will wait up to an additional 2 minutes for stragglers. The attack then proceeds to their target over the shortest path possible, accounting for terrain, but not for player entities that could pose an obstacle (like [[wall]]s).&lt;br /&gt;
&lt;br /&gt;
If there is a clear path somewhere around those obstacles, the biters will attempt to go around. If there is no clear passage or a clear passage would mean deviating too far from the original course, the biters will attack whatever is in their way to go through. This can be exploited to an extent; creating mazes at regular intervals along a barrier can direct the biters through a gauntlet not dissimilar to tower defense.&lt;br /&gt;
&lt;br /&gt;
However, if a biter comes in proximity of a [[Military units and structures|military unit or structure]], it will prioritize these and attempt to immediately attack them instead, again trying to reach the new target over the shortest possible path with no too great detours, if possible.&lt;br /&gt;
&lt;br /&gt;
==Evolution==&lt;br /&gt;
[[File:Evolution Biters.png|thumb|right|400px|Spawn chances of biters from biter spawners by evolution factor.]]&lt;br /&gt;
[[File:Evolution Spitters.png|thumb|right|400px|Spawn chances of spitters from spitter spawners by evolution factor.]]&lt;br /&gt;
[[File:Evolution Weights.png|thumb|right|400px|Weight graph of both spawners by evolution factor. The values shown are primarily for indicating when certain types start and stop spawning, for actual chances refer to the tables or other charts.]]&lt;br /&gt;
The evolution factor is a global variable that determines what kind of biters will be spawned. You can check the variable in the dev console via the following command (does not disable achievements):&lt;br /&gt;
&lt;br /&gt;
  /evolution&lt;br /&gt;
&lt;br /&gt;
The evolution factor goes from 0 (not evolved at all) to 1 (maximal evolution). At the moment the evolution factor can only increase.&lt;br /&gt;
&lt;br /&gt;
Besides choosing what kind of biter will be spawned, the evolution factor also influences the spawning interval. This interval (&amp;lt;code&amp;gt;spawning_cooldown&amp;lt;/code&amp;gt; in the &amp;lt;code&amp;gt;enemy-spawner&amp;lt;/code&amp;gt; definition) is interpolated between 360 (0 evolution) and 150 (1 evolution) game ticks (= 6 to 2.5 seconds).&lt;br /&gt;
&lt;br /&gt;
=== Methods of increasing ===&lt;br /&gt;
&lt;br /&gt;
The evolution factor is increased by three kinds of events:&lt;br /&gt;
&lt;br /&gt;
* The passage of time very slightly increases the evolution factor.&lt;br /&gt;
* The global [[Pollution|pollution production]] increases the evolution factor.&lt;br /&gt;
* Destroying [[Enemies#Nests|nests]] significantly increases the evolution factor.&lt;br /&gt;
&lt;br /&gt;
All these values are set in &amp;lt;code&amp;gt;game.map_settings.enemy_evolution&amp;lt;/code&amp;gt;. From there they can be changed or modded.&lt;br /&gt;
&lt;br /&gt;
The default settings are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Source per&lt;br /&gt;
!Variable in &amp;lt;code&amp;gt;enemy_evolution&amp;lt;/code&amp;gt;&lt;br /&gt;
!Percent increase&lt;br /&gt;
|-&lt;br /&gt;
| [[Time#Seconds|Second]] || &amp;lt;code&amp;gt;time_factor&amp;lt;/code&amp;gt; || 0.0004%&lt;br /&gt;
|-&lt;br /&gt;
| 1 Pollution unit || &amp;lt;code&amp;gt;pollution_factor&amp;lt;/code&amp;gt; || 0.00009% &lt;br /&gt;
|-&lt;br /&gt;
| Destroyed enemy spawner || &amp;lt;code&amp;gt;destroy_factor&amp;lt;/code&amp;gt; || 0.2%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pollution production is the total pollution produced by [[Pollution#Polluters|buildings]] per tick, not the pollution spreading on the map, so it is not reduced by trees or other absorbers.&lt;br /&gt;
e.g. : 10 boilers produce 300 pollution in one minute, raising the evolution factor by around 0.027%.&lt;br /&gt;
&lt;br /&gt;
The percentages are applied on the base of &amp;lt;code&amp;gt;(1 - current_evolution_factor)²&amp;lt;/code&amp;gt;. So for instance destroying enemy spawners in the beginning of the game results in increase of evolution factor by 0.002 (0.2%) while doing this when the evolution factor is 0.5 the increase is only 0.0005 (0.05%).&lt;br /&gt;
&lt;br /&gt;
This also means that the evolution factor approaches 1 asymptotically - generally, increases past 0.9 or so are &#039;&#039;very&#039;&#039; slow and the number never actually reaches 1.0.&lt;br /&gt;
&lt;br /&gt;
=== Spawn chances by evolution factor ===&lt;br /&gt;
&lt;br /&gt;
The probability charts show the chances of each type of biter/spitter for each spawner at all evolution levels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;evoChecker&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Advanced: Evolution factor components and computation ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:calc(100%-400px); overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
This section has charts plotting the individual evolution factor components and discusses possibilities for manually estimating the evolution factor.&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Evolution_factor_by_time.png|400px|thumb|right|1. Single-component evolution factor increase with time]]&lt;br /&gt;
[[File:Evolution_factor_by_pollution.png|400px|thumb|right|2. Single-component evolution factor increase with pollution]]&lt;br /&gt;
[[File:Evolution_factor_by_spawners.png|400px|thumb|right|3. Single-component evolution factor increase with destroyed spawners]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Data from version 1.1.50.&lt;br /&gt;
&lt;br /&gt;
* All charts end at approximately an evolution factor of 0.90.&lt;br /&gt;
&lt;br /&gt;
* The calculation steps for time and spawner kills match those used by the game, so these charts should be accurate. The pollution chart assumes a pollution production of 1000 units per second, and due to the recursive nature of the chart values will slightly diverge at different pollution rates. The effect of this is negligible for any reasonable amount pollution production, however.&lt;br /&gt;
&lt;br /&gt;
*Given that the game reports the actual evolution factor (console: &amp;lt;code&amp;gt;/evolution&amp;lt;/code&amp;gt;) whenever the player wishes, these charts are intended primarily to help estimate the impact of planned base expansions and similar activities on the evolution factor&#039;s future development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Comments&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These charts (click to enlarge) represent the situation where each evolution factor component (time, pollution, destroyed spawners) is the &#039;&#039;only&#039;&#039; component contributing to the evolution factor in that entire game. They are therefore &#039;&#039;&#039;not realistic&#039;&#039;&#039;, as in a typical game all three components will contribute, some at varying times and intensities.&lt;br /&gt;
&lt;br /&gt;
Because of how contributions to the evolution factor (hereinafter, EF) are calculated (multiplied by &amp;lt;code&amp;gt;(1 - current EF)&amp;lt;/code&amp;gt;), it is &#039;&#039;&#039;not&#039;&#039;&#039; possible to simply add the values indicated by these charts for a game&#039;s time passed, pollution generated, and / or spawners destroyed so far to retrieve the total evolution factor.&lt;br /&gt;
&lt;br /&gt;
For example, if 20 hours have passed (single-component EF =~ 0.25), 10 million pollution units were released (single-component EF =~ 0.15), and 200 spawners were destroyed (single-component EF =~ 0.35), the actual evolution factor will &#039;&#039;&#039;not&#039;&#039;&#039; be (0.25 + 0.15 + 0.35 =) ~0.85.&lt;br /&gt;
&lt;br /&gt;
However, the evolution factor will always be &#039;&#039;&#039;less&#039;&#039;&#039; than the sum of all individual components as indicated by these charts, and &#039;&#039;&#039;at least&#039;&#039;&#039; as high as the highest individual component. Thus, using the values from above, the EF will be &#039;&#039;at least&#039;&#039; 0.35 and &#039;&#039;less than&#039;&#039; 0.85. A smarter approach is required to compute the amount of pollution released.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Computation of actual evolution factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The actual EF can be computed as follow :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; 1 - EF = (1 - E[t]) * (1 - E[p]) * (1 - E[s])&amp;lt;/code&amp;gt;, where &#039;&#039;E[t]&#039;&#039;, &#039;&#039;E[p]&#039;&#039;, and &#039;&#039;E[s]&#039;&#039; are the single-component values from the pollution, time, and spawner charts, in that order.&lt;br /&gt;
&lt;br /&gt;
A key observation in understanding where this formula comes from is that each incremental change of the evolution factor is effectively a multiplication of &amp;lt;code&amp;gt;1 - EF&amp;lt;/code&amp;gt; by a constant (depending on the nature of the change). For example, another way of saying that killing a biter nest augments evolution by 0.2% of &amp;lt;code&amp;gt;1 - EF&amp;lt;/code&amp;gt;, is to say that killing a biter nest multiplies &amp;lt;code&amp;gt;1 - EF&amp;lt;/code&amp;gt; by 0.998.&lt;br /&gt;
&lt;br /&gt;
So, like multiplication, evolution is, barring rounding errors, associative and commutative. The commutativity means that the order in which you take evolution-increasing actions does not matter, and along with the associativity results in the formula above.&lt;br /&gt;
&lt;br /&gt;
That knowledge can also be applied to compute the above charts exactly, or to compute a component of evolution without having to refer to the chart at all. For example, evolution as a function of time only is &amp;lt;code&amp;gt;1 - 0.999996 ^ t&amp;lt;/code&amp;gt; where t is the time in seconds.&lt;br /&gt;
&lt;br /&gt;
For the values from above, we can deduce the evolution factor &amp;lt;code&amp;gt;1 - EF = (1 - 0.25) * (1 - 0.15) * (1 - 0.35) = 0.75 * 0.85 * 0.35 = 0.41&amp;lt;/code&amp;gt;, which gives an evolution factor of &amp;lt;code&amp;gt;0.59&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
This formula can also be used to estimate impact of future player activities on the EF: a set of actions that is known to bring the evolution factor of a world from 0 to EF(2) (eg using the above chart and formula) will bring it from EF(1) to &amp;lt;code&amp;gt;1 - (1-EF(1)) * (1-EF(2))&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example, if the player planned to spend the next 20 hours building up their base, releasing 10 million pollution and destroying 200 spawners in the meantime (i.e., the same numbers as in the example above), and the EF at the start of this period were, say, 0.55, then the estimated EF at its end will be &amp;lt;code&amp;gt;1 - (1 - 0.55) * (1 - 0.59) = 0.81&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gallery ==&lt;br /&gt;
&amp;lt;gallery widths=270px heights=140px&amp;gt;&lt;br /&gt;
File:player_near_enemy_nests.png|The player near some enemy nests and worms.&lt;br /&gt;
File:player_worms_acid.png|The player among acid puddles created by attacking worms.&lt;br /&gt;
File:player_attacked_by_biters.png|Both the player and some buildings getting attacked by biters.&lt;br /&gt;
File:enemy_nests_mapgen.png|Enemy nests seen in a map generation preview (deathworld setting).&lt;br /&gt;
File:turret_wall_biters.png|Line of gun turrets defending against biters.&lt;br /&gt;
File:titlescreen_enemies.png|Enemies seen at the title screen.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
{{history|0.17.0|&lt;br /&gt;
* Behemoth worm added.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.15.0|&lt;br /&gt;
* Increased the damage, range, and health of worms.&lt;br /&gt;
* Decreased health and resist of Behemoth biters.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.13.10|&lt;br /&gt;
* Biters and other units won&#039;t become aggressive as a result of friendly-fire.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.13.0|&lt;br /&gt;
* Big and behemoth enemies now spawn 50% slower.&lt;br /&gt;
* Changed the way evolution factor approaches the maximum (1).&lt;br /&gt;
** The addition of evolution factor was changed from addition * (1 - evolution) to addition * (1 - evolution)^2&lt;br /&gt;
** This means that the progress gets more slower towards the high values.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.12.26|&lt;br /&gt;
* Running biters over with a vehicle will now anger them in peaceful mode.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.12.0|&lt;br /&gt;
* Updated sounds for enemies.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.11.17|&lt;br /&gt;
* Items dropped by enemies([[alien artifact|*]]) are now collected automatically and from longer distances.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.11.6|&lt;br /&gt;
* Range of spitters is now 15, less than turrets.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.11.0|&lt;br /&gt;
* Spitters added.&lt;br /&gt;
* Drawing of enemies optimised, so adding new colors does not impact VRAM.&lt;br /&gt;
* Blood splashes on death are now procedural.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.9.0|&lt;br /&gt;
* Turrets no longer search for enemies when none are near.&lt;br /&gt;
* Biters can no longer destroy the shipwreck in the 3rd new hope campaign.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.8.1|&lt;br /&gt;
* Further improvement to enemy AI.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.8.0|&lt;br /&gt;
* Decreased the range of medium worm from 25 to 20.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.7.2|&lt;br /&gt;
* Biter AI improved.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.7.1|&lt;br /&gt;
* Peaceful mode added for freeplay.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.7.0|&lt;br /&gt;
* Enemy creepers were replaced by small, medium and big biters.&lt;br /&gt;
* Enemy turrets were replaced by small, medium and big shooting worms.&lt;br /&gt;
* Enemies move and attack in groups.&lt;br /&gt;
* Enemies wander around their base when they have nothing to do.&lt;br /&gt;
* Enemies call for help when attacked.&lt;br /&gt;
* Enemies can create new bases.&lt;br /&gt;
* Enemies can now destroy all player creations they find.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.1.0|&lt;br /&gt;
* Introduced, called &#039;creepers&#039;}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Damage]]&lt;br /&gt;
* [[Pollution]]&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Enemies&amp;diff=190002</id>
		<title>Enemies</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Enemies&amp;diff=190002"/>
		<updated>2022-09-21T10:44:46Z</updated>

		<summary type="html">&lt;p&gt;CodeGreen: /* Advanced: Evolution factor components and computation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
[[File:biter_intro.png|175px|right]]&#039;&#039;&#039;Enemies&#039;&#039;&#039; (also commonly called &#039;&#039;&#039;Biters&#039;&#039;&#039;) are creatures that want to [[Damage|harm]] the [[player]]. They are the native inhabitants of the extraterrestrial world in the form of arthropods living in organic nests, coexisting with each other peacefully. They are encountered in three species: Biters, spitters and worms. The species are further distinguished in four stages of growth, and thus strength. Enemies and nests show up on the map as red dots. Much like the player, enemies can slowly regain lost health.&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
Enemies are directly connected to the following achievements:&lt;br /&gt;
{{Achievement|it-stinks-and-they-dont-like-it}}&lt;br /&gt;
{{Achievement|steamrolled}}&lt;br /&gt;
&lt;br /&gt;
==Creatures==&lt;br /&gt;
===Biters===&lt;br /&gt;
Biters are one of two main antagonists in the game. They come in four sizes: small, medium, big and behemoth. In the beginning of a game, there will only be the small ones. With increasing [[pollution]], they will become bigger, related to the enemy&#039;s [[#Evolution|evolution]]. As common sense may suggest, their method of attack is a straightforward charge to &amp;quot;bite&amp;quot; things.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Picture !! Name !! Info&lt;br /&gt;
|-&lt;br /&gt;
| [[File:small_biter.png|center]] || Small Biter&lt;br /&gt;
| Weakest of biters, can be easily killed with a pistol.&lt;br /&gt;
* Health: 15&lt;br /&gt;
* Damage: 7 Physical&lt;br /&gt;
* Attack speed: 1.71/s&lt;br /&gt;
* Speed: 43.2km/h &lt;br /&gt;
* Range: 1&lt;br /&gt;
* Pollution to join attack: 4&lt;br /&gt;
|-&lt;br /&gt;
| [[File:medium_biter.png|center]] || Medium Biter&lt;br /&gt;
| Stronger and slightly faster than the small biter. Can pose a problem for and even kill weaker players.&lt;br /&gt;
* Health: 75&lt;br /&gt;
* Damage: 15 Physical&lt;br /&gt;
* Attack speed: 1.71/s&lt;br /&gt;
* Speed: 51.8km/h&lt;br /&gt;
* Range: 1&lt;br /&gt;
* Pollution to join attack: 20&lt;br /&gt;
&lt;br /&gt;
[[Damage#Resistance|Resistances]]:&lt;br /&gt;
*Explosion: 0/10%&lt;br /&gt;
*Physical: 4/10%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:big_biter.png|center]] || Big Biter&lt;br /&gt;
| Dangerous, resistant to small arms. Can attack through walls, hitting objects directly behind them.&lt;br /&gt;
* Health: 375&lt;br /&gt;
* Damage: 30 Physical&lt;br /&gt;
* Attack speed: 1.71/s&lt;br /&gt;
* Speed: 49.7km/h&lt;br /&gt;
* Range: 2&lt;br /&gt;
* Pollution to join attack: 80&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 0/10%&lt;br /&gt;
*Physical: 8/10%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:behemoth_biter.png|center]] || Behemoth Biter&lt;br /&gt;
| Extremely durable and nearly immune to small arms, except for the strongest ordnance. Can attack through walls, hitting objects directly behind them.&lt;br /&gt;
* Health: 3000&lt;br /&gt;
* Damage: 90 Physical&lt;br /&gt;
* Attack speed: 1.2/s&lt;br /&gt;
* Speed: 64.8km/h&lt;br /&gt;
* Range: 2&lt;br /&gt;
* Pollution to join attack: 400&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 12/10%&lt;br /&gt;
*Physical: 12/10%&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Spitters===&lt;br /&gt;
&#039;&#039;&#039;Spitters&#039;&#039;&#039; are much like [[Enemies#Biters|biters]] and only appear slightly later on in the game as the evolution factor increases. Their main difference from biters is their ranged attack. Using predictive aiming, they spit a stream of acid at enemies which leaves behind a puddle of acid where it hits the ground. Due to the spitters&#039; predictive aiming, the acid stream can be dodged by suddenly changing walking directions or standing still.[https://factorio.com/blog/post/fff-279] Both the stream and the puddle of acid deal damage of time and slow down players and vehicles. Most entities of the game have a much lower resistance to acid than other damage types (including [[turret]]s and [[armor]]), so spitters are effectively more potent against the player and their factories. Their behaviour and size classification are the same as with biters, but their health is universally lower and they are resistant exclusively against explosives, with no physical resistance.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Picture !! Name !! Info&lt;br /&gt;
|-&lt;br /&gt;
| [[File:small_spitter.png|center]] || Small Spitter&lt;br /&gt;
| Weakest of spitters. Easy to kill with any weapon, but attacks at range.&lt;br /&gt;
* Health: 10&lt;br /&gt;
* Range: 13&lt;br /&gt;
* Pollution to join attack: 4&lt;br /&gt;
* Speed: 40.0km/h&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.6/s&lt;br /&gt;
* Area of effect size: 1&lt;br /&gt;
* Damage (on contact): 12 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 7.2 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Movement/vehicle speed modifier: 60%&lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[File:medium_spitter.png|center]] || Medium Spitter&lt;br /&gt;
| Stronger and slower than the smaller version. Can pose a problem for and even kill weaker players.&lt;br /&gt;
* Health: 50&lt;br /&gt;
* Range: 14&lt;br /&gt;
* Pollution to join attack: 12&lt;br /&gt;
* Speed: 35.6km/h&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.6/s&lt;br /&gt;
* Area of effect size: 1.25&lt;br /&gt;
* Damage (on contact): 24 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 28.8 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Movement/vehicle speed modifier: 50%&lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 0/10%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:big_spitter.png|center]] || Big Spitter&lt;br /&gt;
| An even bulkier spitter and so can take more damage.&lt;br /&gt;
* Health: 200&lt;br /&gt;
* Range: 15&lt;br /&gt;
* Pollution to join attack: 30&lt;br /&gt;
* Speed: 32.4km/h&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.6/s&lt;br /&gt;
* Area of effect size: 1.35&lt;br /&gt;
* Damage (on contact): 36 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 130 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Movement/vehicle speed modifier: 40%&lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 0/15%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:behemoth_spitter.png|center]] || Behemoth Spitter&lt;br /&gt;
| The bulkiest of the spitters and so can take even more damage.&lt;br /&gt;
* Health: 1500&lt;br /&gt;
* Range: 16&lt;br /&gt;
* Pollution to join attack: 200&lt;br /&gt;
* Speed: 32.4km/h&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.6/s&lt;br /&gt;
* Area of effect size: 1.75&lt;br /&gt;
* Damage (on contact): 60 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 360 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Movement/vehicle speed modifier: 30%&lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 0/30%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Worms===&lt;br /&gt;
&lt;br /&gt;
The Worms are natural allies of biters and spitters and will attack the player if they get close enough with an attack similar to spitters&#039;. They act like static [[turret]]s and will not follow attackers. They rely on high damage, great range and splash damage to keep the player away from the worms and the nests they protect, but either one of these advantages can be overcome. Unlike other enemies, they are also highly resistant to fire. They will spit acid at the player, which can also leave acidic puddles on the ground that can still damage players and vehicles, as well as slow them both down and leave a brief acidic, damaging effect for a few seconds. However, placed buildings and tiles are unaffected by the acid puddles, but still take damage normally by the acid projectile.&lt;br /&gt;
&lt;br /&gt;
Worms come in 4 sizes, their power increasing with size. Like biters and spitters, behemoth, big and medium worms spawning is influenced by the evolution factor. Worms are only created during enemy expansion when a certain evolution factor requirement is fulfilled. This is 0.3 for the medium worm, 0.5 for the big worm and 0.9 for the behemoth worm. Below these evolution factors, worms can only be created by the map generation. In map generation, the game restricts higher tier worms behind the distance from the starting point. The further away the player goes from the starting area, the stronger the worms become.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Picture !! Name !! Info&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Small worm.png|center]] || Small Worm&lt;br /&gt;
| A weak worm. It is still capable of killing the player unless it is targeted as priority.&lt;br /&gt;
* Health: 200&lt;br /&gt;
* Range: 25&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.66/s&lt;br /&gt;
* Area of effect size: 1.4&lt;br /&gt;
* Damage (on contact): 36 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 21.6 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
** Movement/vehicle speed modifier: 60%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Medium worm.png|center]] || Medium Worm&lt;br /&gt;
| Medium worms are dangerous to even more advanced players. They should be handled with care.&lt;br /&gt;
* Health: 400&lt;br /&gt;
* Range: 30&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.66/s&lt;br /&gt;
* Area of effect size: 1.55&lt;br /&gt;
* Damage (on contact): 48 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 57.6 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
** Movement/vehicle speed modifier: 50%&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 5/15%&lt;br /&gt;
*Fire: 2/50%&lt;br /&gt;
*Physical: 5/0%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Big worm.png|center]] || Big Worm&lt;br /&gt;
| Big worms are not as much more dangerous as resilient. They are almost immune to common gunfire of any sort.&lt;br /&gt;
* Health: 750&lt;br /&gt;
* Range: 38&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.66/s&lt;br /&gt;
* Area of effect size: 1.75&lt;br /&gt;
* Damage (on contact): 72 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 259 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
** Movement/vehicle speed modifier: 40%&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 10/30%&lt;br /&gt;
*Fire: 3/70%&lt;br /&gt;
*Physical: 10/0%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Behemoth worm.png|center]] || Behemoth Worm&lt;br /&gt;
| Behemoth worms are the most dangerous of worms. They are just as resilient as Big worms, with much greater range.&lt;br /&gt;
* Health: 750&lt;br /&gt;
* Range: 48&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.66/s&lt;br /&gt;
* Area of effect size: 2&lt;br /&gt;
* Damage (on contact): 96 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 691 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
** Movement/vehicle speed modifier: 30%&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Acid: 0/100%&lt;br /&gt;
*Explosion: 10/30%&lt;br /&gt;
*Fire: 3/70%&lt;br /&gt;
*Physical: 10/0%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Picture !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:worm.gif]] || A worm&#039;s attack animation.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Nests==&lt;br /&gt;
&lt;br /&gt;
The spawn points of biters and spitters. While nests themselves are generally defenseless, the enemies they release over time effectively serve as a form of guards to distract the player and any nearby turrets, and are often accompanied by worms. Nests exposed to pollution will use it to send enemies to join attacks. Enemies not engaged in combat may seek out the nearest nest for protection.&lt;br /&gt;
&lt;br /&gt;
The nests are highly resistant to fire and otherwise generally more resilient than a medium worm.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Picture !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:biter_nest.png]] || Biter&#039;s nest&lt;br /&gt;
|&lt;br /&gt;
* Health: 350&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 5/15%&lt;br /&gt;
*Fire: 3/60%&lt;br /&gt;
*Physical: 2/15%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:spitter_nest.png]] || Spitter&#039;s nest&lt;br /&gt;
|&lt;br /&gt;
* Health: 350&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 5/15%&lt;br /&gt;
*Fire: 3/60%&lt;br /&gt;
*Physical: 2/15%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Expansions ===&lt;br /&gt;
Every 4-60 minutes, a group of 5-20 biters/spitters will leave their base to create a new base which will consist of as many worms/nests as there are members in the group. This group will search for a suitable spot that&#039;s 3-7 chunks away from existing bases. The interval between enemy expansions is global, and the higher enemy evolution, the shorter the interval is on average. Furthermore, with higher evolution, the groups are bigger on average.&lt;br /&gt;
&lt;br /&gt;
Once they have found a suitable spot, each biter/spitter in the group dies and forms a new nest or worm. Forming a new nest or worm will destroy anything that is in the way, which can include members of the expansion group. There is a delay between each member sacrificing itself for to create a worm/nest, so creating the new base from the expansion group can take quite a long time, depending on the group size. Medium worms are only formed if the current evolution is higher than 0.3, big worms only if the current evolution is higher than 0.5 and behemoth worms are only formed if current evolution is higher than 0.9. The game randomly chooses whether to form a new biter nest, spitter nest, small worm, or bigger worm if the evolution factor is high enough. [https://gist.github.com/Bilka2/aa88490c23124a6f214c02c73a368aa7]&lt;br /&gt;
&lt;br /&gt;
==Defense==&lt;br /&gt;
[[File:kills_gui.png|thumb|220px|right|&amp;quot;Kills&amp;quot; tab on the [[production statistics]] screen.]]Nests spawn biters and spitters freely. However, biters and spitters will only aggressively engage the player&#039;s factory if the pollution cloud of the factory reaches a nest because pollution is consumed to send biters or spitters to join the next attack. Every 1 to 10 minutes (random) the mustered biters launch an attack. If not all biters have arrived at the rendezvous point by that time, they will wait up to an additional 2 minutes for stragglers. The attack then proceeds to their target over the shortest path possible, accounting for terrain, but not for player entities that could pose an obstacle (like [[wall]]s).&lt;br /&gt;
&lt;br /&gt;
If there is a clear path somewhere around those obstacles, the biters will attempt to go around. If there is no clear passage or a clear passage would mean deviating too far from the original course, the biters will attack whatever is in their way to go through. This can be exploited to an extent; creating mazes at regular intervals along a barrier can direct the biters through a gauntlet not dissimilar to tower defense.&lt;br /&gt;
&lt;br /&gt;
However, if a biter comes in proximity of a [[Military units and structures|military unit or structure]], it will prioritize these and attempt to immediately attack them instead, again trying to reach the new target over the shortest possible path with no too great detours, if possible.&lt;br /&gt;
&lt;br /&gt;
==Evolution==&lt;br /&gt;
[[File:Evolution Biters.png|thumb|right|400px|Spawn chances of biters from biter spawners by evolution factor.]]&lt;br /&gt;
[[File:Evolution Spitters.png|thumb|right|400px|Spawn chances of spitters from spitter spawners by evolution factor.]]&lt;br /&gt;
[[File:Evolution Weights.png|thumb|right|400px|Weight graph of both spawners by evolution factor. The values shown are primarily for indicating when certain types start and stop spawning, for actual chances refer to the tables or other charts.]]&lt;br /&gt;
The evolution factor is a global variable that determines what kind of biters will be spawned. You can check the variable in the dev console via the following command (does not disable achievements):&lt;br /&gt;
&lt;br /&gt;
  /evolution&lt;br /&gt;
&lt;br /&gt;
The evolution factor goes from 0 (not evolved at all) to 1 (maximal evolution). At the moment the evolution factor can only increase.&lt;br /&gt;
&lt;br /&gt;
Besides choosing what kind of biter will be spawned, the evolution factor also influences the spawning interval. This interval (&amp;lt;code&amp;gt;spawning_cooldown&amp;lt;/code&amp;gt; in the &amp;lt;code&amp;gt;enemy-spawner&amp;lt;/code&amp;gt; definition) is interpolated between 360 (0 evolution) and 150 (1 evolution) game ticks (= 6 to 2.5 seconds).&lt;br /&gt;
&lt;br /&gt;
=== Methods of increasing ===&lt;br /&gt;
&lt;br /&gt;
The evolution factor is increased by three kinds of events:&lt;br /&gt;
&lt;br /&gt;
* The passage of time very slightly increases the evolution factor.&lt;br /&gt;
* The global [[Pollution|pollution production]] increases the evolution factor.&lt;br /&gt;
* Destroying [[Enemies#Nests|nests]] significantly increases the evolution factor.&lt;br /&gt;
&lt;br /&gt;
All these values are set in &amp;lt;code&amp;gt;game.map_settings.enemy_evolution&amp;lt;/code&amp;gt;. From there they can be changed or modded.&lt;br /&gt;
&lt;br /&gt;
The default settings are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Source per&lt;br /&gt;
!Variable in &amp;lt;code&amp;gt;enemy_evolution&amp;lt;/code&amp;gt;&lt;br /&gt;
!Percent increase&lt;br /&gt;
|-&lt;br /&gt;
| [[Time#Seconds|Second]] || &amp;lt;code&amp;gt;time_factor&amp;lt;/code&amp;gt; || 0.0004%&lt;br /&gt;
|-&lt;br /&gt;
| 1 Pollution unit || &amp;lt;code&amp;gt;pollution_factor&amp;lt;/code&amp;gt; || 0.00009% &lt;br /&gt;
|-&lt;br /&gt;
| Destroyed enemy spawner || &amp;lt;code&amp;gt;destroy_factor&amp;lt;/code&amp;gt; || 0.2%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pollution production is the total pollution produced by [[Pollution#Polluters|buildings]] per tick, not the pollution spreading on the map, so it is not reduced by trees or other absorbers.&lt;br /&gt;
e.g. : 10 boilers produce 300 pollution in one minute, raising the evolution factor by around 0.027%.&lt;br /&gt;
&lt;br /&gt;
The percentages are applied on the base of &amp;lt;code&amp;gt;(1 - current_evolution_factor)²&amp;lt;/code&amp;gt;. So for instance destroying enemy spawners in the beginning of the game results in increase of evolution factor by 0.002 (0.2%) while doing this when the evolution factor is 0.5 the increase is only 0.0005 (0.05%).&lt;br /&gt;
&lt;br /&gt;
This also means that the evolution factor approaches 1 asymptotically - generally, increases past 0.9 or so are &#039;&#039;very&#039;&#039; slow and the number never actually reaches 1.0.&lt;br /&gt;
&lt;br /&gt;
=== Spawn chances by evolution factor ===&lt;br /&gt;
&lt;br /&gt;
The probability charts show the chances of each type of biter/spitter for each spawner at all evolution levels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;evoChecker&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Advanced: Evolution factor components and computation ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:calc(100%-400px); overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
This section has charts plotting the individual evolution factor components and discusses possibilities for manually estimating the evolution factor.&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Evolution_factor_by_time.png|400px|thumb|right|1. Single-component evolution factor increase with time]]&lt;br /&gt;
[[File:Evolution_factor_by_pollution.png|400px|thumb|right|2. Single-component evolution factor increase with pollution]]&lt;br /&gt;
[[File:Evolution_factor_by_spawners.png|400px|thumb|right|3. Single-component evolution factor increase with destroyed spawners]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Data from version 1.1.50.&lt;br /&gt;
&lt;br /&gt;
* All charts end at approximately an evolution factor of 0.90.&lt;br /&gt;
&lt;br /&gt;
* The calculation steps for time and spawner kills match those used by the game, so these charts should be accurate. The pollution chart assumes a pollution production of 1000 units per second, and due to the recursive nature of the chart values will slightly diverge at different pollution rates. The effect of this is negligible for any reasonable amount pollution production, however.&lt;br /&gt;
&lt;br /&gt;
*Given that the game reports the actual evolution factor (console: &amp;lt;code&amp;gt;/evolution&amp;lt;/code&amp;gt;) whenever the player wishes, these charts are intended primarily to help estimate the impact of planned base expansions and similar activities on the evolution factor&#039;s future development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Comments&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These charts (click to enlarge) represent the situation where each evolution factor component (time, pollution, destroyed spawners) is the &#039;&#039;only&#039;&#039; component contributing to the evolution factor in that entire game. They are therefore &#039;&#039;&#039;not realistic&#039;&#039;&#039;, as in a typical game all three components will contribute, some at varying times and intensities.&lt;br /&gt;
&lt;br /&gt;
Because of how contributions to the evolution factor (hereinafter, EF) are calculated (multiplied by &amp;lt;code&amp;gt;(1 - current EF)&amp;lt;/code&amp;gt;), it is &#039;&#039;&#039;not&#039;&#039;&#039; possible to simply add the values indicated by these charts for a game&#039;s time passed, pollution generated, and / or spawners destroyed so far to retrieve the total evolution factor.&lt;br /&gt;
&lt;br /&gt;
For example, if 20 hours have passed (single-component EF =~ 0.25), 10 million pollution units were released (single-component EF =~ 0.15), and 200 spawners were destroyed (single-component EF =~ 0.35), the actual evolution factor will &#039;&#039;&#039;not&#039;&#039;&#039; be (0.25 + 0.15 + 0.35 =) ~0.85.&lt;br /&gt;
&lt;br /&gt;
However, the evolution factor will always be &#039;&#039;&#039;less&#039;&#039;&#039; than the sum of all individual components as indicated by these charts, and &#039;&#039;&#039;at least&#039;&#039;&#039; as high as the highest individual component. Thus, using the values from above, the EF will be &#039;&#039;at least&#039;&#039; 0.35 and &#039;&#039;less than&#039;&#039; 0.85. A smarter approach is required to compute the amount of pollution released.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Computation of actual evolution factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The actual EF can be computed as follow :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; 1 - EF = (1 - E[t]) * (1 - E[p]) * (1 - E[s])&amp;lt;/code&amp;gt;, where &#039;&#039;E[t]&#039;&#039;, &#039;&#039;E[p]&#039;&#039;, and &#039;&#039;E[s]&#039;&#039; are the single-component values from the pollution, time, and spawner charts, in that order.&lt;br /&gt;
&lt;br /&gt;
A key observation in understanding where this formula comes from is that each incremental change of the evolution factor is effectively a multiplication of &amp;lt;code&amp;gt;1 - EF&amp;lt;/code&amp;gt; by a constant (depending on the nature of the change). For example, another way of saying that killing a biter nest augments evolution by 0.2% of &amp;lt;code&amp;gt;1 - EF&amp;lt;/code&amp;gt;, is to say that killing a biter nest multiplies &amp;lt;code&amp;gt;1 - EF&amp;lt;/code&amp;gt; by 0.998.&lt;br /&gt;
&lt;br /&gt;
So, like multiplication, evolution is, barring rounding errors, associative and commutative. The commutativity means that the order in which you take evolution-increasing actions does not matter, and along with the associativity results in the formula above.&lt;br /&gt;
&lt;br /&gt;
That knowledge can also be applied to compute the above charts exactly, or to compute a component of evolution without having to refer to the chart at all. For example, pollution as a function of time only is &amp;lt;code&amp;gt;1 - 0.999996 ^ t&amp;lt;/code&amp;gt; where t is the time in seconds.&lt;br /&gt;
&lt;br /&gt;
For the values from above, we can deduce the evolution factor &amp;lt;code&amp;gt;1 - EF = (1 - 0.25) * (1 - 0.15) * (1 - 0.35) = 0.75 * 0.85 * 0.35 = 0.41&amp;lt;/code&amp;gt;, which gives an evolution factor of &amp;lt;code&amp;gt;0.59&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
This formula can also be used to estimate impact of future player activities on the EF: a set of actions that is known to bring the evolution factor of a world from 0 to EF(2) (eg using the above chart and formula) will bring it from EF(1) to &amp;lt;code&amp;gt;1 - (1-EF(1)) * (1-EF(2))&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example, if the player planned to spend the next 20 hours building up their base, releasing 10 million pollution and destroying 200 spawners in the meantime (i.e., the same numbers as in the example above), and the EF at the start of this period were, say, 0.55, then the estimated EF at its end will be &amp;lt;code&amp;gt;1 - (1 - 0.55) * (1 - 0.59) = 0.81&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gallery ==&lt;br /&gt;
&amp;lt;gallery widths=270px heights=140px&amp;gt;&lt;br /&gt;
File:player_near_enemy_nests.png|The player near some enemy nests and worms.&lt;br /&gt;
File:player_worms_acid.png|The player among acid puddles created by attacking worms.&lt;br /&gt;
File:player_attacked_by_biters.png|Both the player and some buildings getting attacked by biters.&lt;br /&gt;
File:enemy_nests_mapgen.png|Enemy nests seen in a map generation preview (deathworld setting).&lt;br /&gt;
File:turret_wall_biters.png|Line of gun turrets defending against biters.&lt;br /&gt;
File:titlescreen_enemies.png|Enemies seen at the title screen.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
{{history|0.17.0|&lt;br /&gt;
* Behemoth worm added.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.15.0|&lt;br /&gt;
* Increased the damage, range, and health of worms.&lt;br /&gt;
* Decreased health and resist of Behemoth biters.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.13.10|&lt;br /&gt;
* Biters and other units won&#039;t become aggressive as a result of friendly-fire.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.13.0|&lt;br /&gt;
* Big and behemoth enemies now spawn 50% slower.&lt;br /&gt;
* Changed the way evolution factor approaches the maximum (1).&lt;br /&gt;
** The addition of evolution factor was changed from addition * (1 - evolution) to addition * (1 - evolution)^2&lt;br /&gt;
** This means that the progress gets more slower towards the high values.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.12.26|&lt;br /&gt;
* Running biters over with a vehicle will now anger them in peaceful mode.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.12.0|&lt;br /&gt;
* Updated sounds for enemies.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.11.17|&lt;br /&gt;
* Items dropped by enemies([[alien artifact|*]]) are now collected automatically and from longer distances.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.11.6|&lt;br /&gt;
* Range of spitters is now 15, less than turrets.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.11.0|&lt;br /&gt;
* Spitters added.&lt;br /&gt;
* Drawing of enemies optimised, so adding new colors does not impact VRAM.&lt;br /&gt;
* Blood splashes on death are now procedural.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.9.0|&lt;br /&gt;
* Turrets no longer search for enemies when none are near.&lt;br /&gt;
* Biters can no longer destroy the shipwreck in the 3rd new hope campaign.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.8.1|&lt;br /&gt;
* Further improvement to enemy AI.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.8.0|&lt;br /&gt;
* Decreased the range of medium worm from 25 to 20.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.7.2|&lt;br /&gt;
* Biter AI improved.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.7.1|&lt;br /&gt;
* Peaceful mode added for freeplay.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.7.0|&lt;br /&gt;
* Enemy creepers were replaced by small, medium and big biters.&lt;br /&gt;
* Enemy turrets were replaced by small, medium and big shooting worms.&lt;br /&gt;
* Enemies move and attack in groups.&lt;br /&gt;
* Enemies wander around their base when they have nothing to do.&lt;br /&gt;
* Enemies call for help when attacked.&lt;br /&gt;
* Enemies can create new bases.&lt;br /&gt;
* Enemies can now destroy all player creations they find.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.1.0|&lt;br /&gt;
* Introduced, called &#039;creepers&#039;}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Damage]]&lt;br /&gt;
* [[Pollution]]&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Enemies&amp;diff=190001</id>
		<title>Enemies</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Enemies&amp;diff=190001"/>
		<updated>2022-09-21T10:33:29Z</updated>

		<summary type="html">&lt;p&gt;CodeGreen: /* Evolution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
[[File:biter_intro.png|175px|right]]&#039;&#039;&#039;Enemies&#039;&#039;&#039; (also commonly called &#039;&#039;&#039;Biters&#039;&#039;&#039;) are creatures that want to [[Damage|harm]] the [[player]]. They are the native inhabitants of the extraterrestrial world in the form of arthropods living in organic nests, coexisting with each other peacefully. They are encountered in three species: Biters, spitters and worms. The species are further distinguished in four stages of growth, and thus strength. Enemies and nests show up on the map as red dots. Much like the player, enemies can slowly regain lost health.&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
Enemies are directly connected to the following achievements:&lt;br /&gt;
{{Achievement|it-stinks-and-they-dont-like-it}}&lt;br /&gt;
{{Achievement|steamrolled}}&lt;br /&gt;
&lt;br /&gt;
==Creatures==&lt;br /&gt;
===Biters===&lt;br /&gt;
Biters are one of two main antagonists in the game. They come in four sizes: small, medium, big and behemoth. In the beginning of a game, there will only be the small ones. With increasing [[pollution]], they will become bigger, related to the enemy&#039;s [[#Evolution|evolution]]. As common sense may suggest, their method of attack is a straightforward charge to &amp;quot;bite&amp;quot; things.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Picture !! Name !! Info&lt;br /&gt;
|-&lt;br /&gt;
| [[File:small_biter.png|center]] || Small Biter&lt;br /&gt;
| Weakest of biters, can be easily killed with a pistol.&lt;br /&gt;
* Health: 15&lt;br /&gt;
* Damage: 7 Physical&lt;br /&gt;
* Attack speed: 1.71/s&lt;br /&gt;
* Speed: 43.2km/h &lt;br /&gt;
* Range: 1&lt;br /&gt;
* Pollution to join attack: 4&lt;br /&gt;
|-&lt;br /&gt;
| [[File:medium_biter.png|center]] || Medium Biter&lt;br /&gt;
| Stronger and slightly faster than the small biter. Can pose a problem for and even kill weaker players.&lt;br /&gt;
* Health: 75&lt;br /&gt;
* Damage: 15 Physical&lt;br /&gt;
* Attack speed: 1.71/s&lt;br /&gt;
* Speed: 51.8km/h&lt;br /&gt;
* Range: 1&lt;br /&gt;
* Pollution to join attack: 20&lt;br /&gt;
&lt;br /&gt;
[[Damage#Resistance|Resistances]]:&lt;br /&gt;
*Explosion: 0/10%&lt;br /&gt;
*Physical: 4/10%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:big_biter.png|center]] || Big Biter&lt;br /&gt;
| Dangerous, resistant to small arms. Can attack through walls, hitting objects directly behind them.&lt;br /&gt;
* Health: 375&lt;br /&gt;
* Damage: 30 Physical&lt;br /&gt;
* Attack speed: 1.71/s&lt;br /&gt;
* Speed: 49.7km/h&lt;br /&gt;
* Range: 2&lt;br /&gt;
* Pollution to join attack: 80&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 0/10%&lt;br /&gt;
*Physical: 8/10%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:behemoth_biter.png|center]] || Behemoth Biter&lt;br /&gt;
| Extremely durable and nearly immune to small arms, except for the strongest ordnance. Can attack through walls, hitting objects directly behind them.&lt;br /&gt;
* Health: 3000&lt;br /&gt;
* Damage: 90 Physical&lt;br /&gt;
* Attack speed: 1.2/s&lt;br /&gt;
* Speed: 64.8km/h&lt;br /&gt;
* Range: 2&lt;br /&gt;
* Pollution to join attack: 400&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 12/10%&lt;br /&gt;
*Physical: 12/10%&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Spitters===&lt;br /&gt;
&#039;&#039;&#039;Spitters&#039;&#039;&#039; are much like [[Enemies#Biters|biters]] and only appear slightly later on in the game as the evolution factor increases. Their main difference from biters is their ranged attack. Using predictive aiming, they spit a stream of acid at enemies which leaves behind a puddle of acid where it hits the ground. Due to the spitters&#039; predictive aiming, the acid stream can be dodged by suddenly changing walking directions or standing still.[https://factorio.com/blog/post/fff-279] Both the stream and the puddle of acid deal damage of time and slow down players and vehicles. Most entities of the game have a much lower resistance to acid than other damage types (including [[turret]]s and [[armor]]), so spitters are effectively more potent against the player and their factories. Their behaviour and size classification are the same as with biters, but their health is universally lower and they are resistant exclusively against explosives, with no physical resistance.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Picture !! Name !! Info&lt;br /&gt;
|-&lt;br /&gt;
| [[File:small_spitter.png|center]] || Small Spitter&lt;br /&gt;
| Weakest of spitters. Easy to kill with any weapon, but attacks at range.&lt;br /&gt;
* Health: 10&lt;br /&gt;
* Range: 13&lt;br /&gt;
* Pollution to join attack: 4&lt;br /&gt;
* Speed: 40.0km/h&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.6/s&lt;br /&gt;
* Area of effect size: 1&lt;br /&gt;
* Damage (on contact): 12 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 7.2 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Movement/vehicle speed modifier: 60%&lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[File:medium_spitter.png|center]] || Medium Spitter&lt;br /&gt;
| Stronger and slower than the smaller version. Can pose a problem for and even kill weaker players.&lt;br /&gt;
* Health: 50&lt;br /&gt;
* Range: 14&lt;br /&gt;
* Pollution to join attack: 12&lt;br /&gt;
* Speed: 35.6km/h&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.6/s&lt;br /&gt;
* Area of effect size: 1.25&lt;br /&gt;
* Damage (on contact): 24 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 28.8 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Movement/vehicle speed modifier: 50%&lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 0/10%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:big_spitter.png|center]] || Big Spitter&lt;br /&gt;
| An even bulkier spitter and so can take more damage.&lt;br /&gt;
* Health: 200&lt;br /&gt;
* Range: 15&lt;br /&gt;
* Pollution to join attack: 30&lt;br /&gt;
* Speed: 32.4km/h&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.6/s&lt;br /&gt;
* Area of effect size: 1.35&lt;br /&gt;
* Damage (on contact): 36 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 130 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Movement/vehicle speed modifier: 40%&lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 0/15%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:behemoth_spitter.png|center]] || Behemoth Spitter&lt;br /&gt;
| The bulkiest of the spitters and so can take even more damage.&lt;br /&gt;
* Health: 1500&lt;br /&gt;
* Range: 16&lt;br /&gt;
* Pollution to join attack: 200&lt;br /&gt;
* Speed: 32.4km/h&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.6/s&lt;br /&gt;
* Area of effect size: 1.75&lt;br /&gt;
* Damage (on contact): 60 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 360 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Movement/vehicle speed modifier: 30%&lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 0/30%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Worms===&lt;br /&gt;
&lt;br /&gt;
The Worms are natural allies of biters and spitters and will attack the player if they get close enough with an attack similar to spitters&#039;. They act like static [[turret]]s and will not follow attackers. They rely on high damage, great range and splash damage to keep the player away from the worms and the nests they protect, but either one of these advantages can be overcome. Unlike other enemies, they are also highly resistant to fire. They will spit acid at the player, which can also leave acidic puddles on the ground that can still damage players and vehicles, as well as slow them both down and leave a brief acidic, damaging effect for a few seconds. However, placed buildings and tiles are unaffected by the acid puddles, but still take damage normally by the acid projectile.&lt;br /&gt;
&lt;br /&gt;
Worms come in 4 sizes, their power increasing with size. Like biters and spitters, behemoth, big and medium worms spawning is influenced by the evolution factor. Worms are only created during enemy expansion when a certain evolution factor requirement is fulfilled. This is 0.3 for the medium worm, 0.5 for the big worm and 0.9 for the behemoth worm. Below these evolution factors, worms can only be created by the map generation. In map generation, the game restricts higher tier worms behind the distance from the starting point. The further away the player goes from the starting area, the stronger the worms become.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Picture !! Name !! Info&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Small worm.png|center]] || Small Worm&lt;br /&gt;
| A weak worm. It is still capable of killing the player unless it is targeted as priority.&lt;br /&gt;
* Health: 200&lt;br /&gt;
* Range: 25&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.66/s&lt;br /&gt;
* Area of effect size: 1.4&lt;br /&gt;
* Damage (on contact): 36 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 21.6 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
** Movement/vehicle speed modifier: 60%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Medium worm.png|center]] || Medium Worm&lt;br /&gt;
| Medium worms are dangerous to even more advanced players. They should be handled with care.&lt;br /&gt;
* Health: 400&lt;br /&gt;
* Range: 30&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.66/s&lt;br /&gt;
* Area of effect size: 1.55&lt;br /&gt;
* Damage (on contact): 48 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 57.6 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
** Movement/vehicle speed modifier: 50%&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 5/15%&lt;br /&gt;
*Fire: 2/50%&lt;br /&gt;
*Physical: 5/0%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Big worm.png|center]] || Big Worm&lt;br /&gt;
| Big worms are not as much more dangerous as resilient. They are almost immune to common gunfire of any sort.&lt;br /&gt;
* Health: 750&lt;br /&gt;
* Range: 38&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.66/s&lt;br /&gt;
* Area of effect size: 1.75&lt;br /&gt;
* Damage (on contact): 72 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 259 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
** Movement/vehicle speed modifier: 40%&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 10/30%&lt;br /&gt;
*Fire: 3/70%&lt;br /&gt;
*Physical: 10/0%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Behemoth worm.png|center]] || Behemoth Worm&lt;br /&gt;
| Behemoth worms are the most dangerous of worms. They are just as resilient as Big worms, with much greater range.&lt;br /&gt;
* Health: 750&lt;br /&gt;
* Range: 48&lt;br /&gt;
&lt;br /&gt;
Acid projectile:&lt;br /&gt;
* Attack speed: 0.66/s&lt;br /&gt;
* Area of effect size: 2&lt;br /&gt;
* Damage (on contact): 96 Acid&lt;br /&gt;
&lt;br /&gt;
Acid puddle:&lt;br /&gt;
* Lifetime: 32 seconds&lt;br /&gt;
* Damage: 691 Acid/second&lt;br /&gt;
* Applies effect (on contact): &lt;br /&gt;
** Duration: 2 seconds&lt;br /&gt;
** Movement/vehicle speed modifier: 30%&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Acid: 0/100%&lt;br /&gt;
*Explosion: 10/30%&lt;br /&gt;
*Fire: 3/70%&lt;br /&gt;
*Physical: 10/0%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Picture !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:worm.gif]] || A worm&#039;s attack animation.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Nests==&lt;br /&gt;
&lt;br /&gt;
The spawn points of biters and spitters. While nests themselves are generally defenseless, the enemies they release over time effectively serve as a form of guards to distract the player and any nearby turrets, and are often accompanied by worms. Nests exposed to pollution will use it to send enemies to join attacks. Enemies not engaged in combat may seek out the nearest nest for protection.&lt;br /&gt;
&lt;br /&gt;
The nests are highly resistant to fire and otherwise generally more resilient than a medium worm.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Picture !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[File:biter_nest.png]] || Biter&#039;s nest&lt;br /&gt;
|&lt;br /&gt;
* Health: 350&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 5/15%&lt;br /&gt;
*Fire: 3/60%&lt;br /&gt;
*Physical: 2/15%&lt;br /&gt;
|-&lt;br /&gt;
| [[File:spitter_nest.png]] || Spitter&#039;s nest&lt;br /&gt;
|&lt;br /&gt;
* Health: 350&lt;br /&gt;
&lt;br /&gt;
Resistances:&lt;br /&gt;
*Explosion: 5/15%&lt;br /&gt;
*Fire: 3/60%&lt;br /&gt;
*Physical: 2/15%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Expansions ===&lt;br /&gt;
Every 4-60 minutes, a group of 5-20 biters/spitters will leave their base to create a new base which will consist of as many worms/nests as there are members in the group. This group will search for a suitable spot that&#039;s 3-7 chunks away from existing bases. The interval between enemy expansions is global, and the higher enemy evolution, the shorter the interval is on average. Furthermore, with higher evolution, the groups are bigger on average.&lt;br /&gt;
&lt;br /&gt;
Once they have found a suitable spot, each biter/spitter in the group dies and forms a new nest or worm. Forming a new nest or worm will destroy anything that is in the way, which can include members of the expansion group. There is a delay between each member sacrificing itself for to create a worm/nest, so creating the new base from the expansion group can take quite a long time, depending on the group size. Medium worms are only formed if the current evolution is higher than 0.3, big worms only if the current evolution is higher than 0.5 and behemoth worms are only formed if current evolution is higher than 0.9. The game randomly chooses whether to form a new biter nest, spitter nest, small worm, or bigger worm if the evolution factor is high enough. [https://gist.github.com/Bilka2/aa88490c23124a6f214c02c73a368aa7]&lt;br /&gt;
&lt;br /&gt;
==Defense==&lt;br /&gt;
[[File:kills_gui.png|thumb|220px|right|&amp;quot;Kills&amp;quot; tab on the [[production statistics]] screen.]]Nests spawn biters and spitters freely. However, biters and spitters will only aggressively engage the player&#039;s factory if the pollution cloud of the factory reaches a nest because pollution is consumed to send biters or spitters to join the next attack. Every 1 to 10 minutes (random) the mustered biters launch an attack. If not all biters have arrived at the rendezvous point by that time, they will wait up to an additional 2 minutes for stragglers. The attack then proceeds to their target over the shortest path possible, accounting for terrain, but not for player entities that could pose an obstacle (like [[wall]]s).&lt;br /&gt;
&lt;br /&gt;
If there is a clear path somewhere around those obstacles, the biters will attempt to go around. If there is no clear passage or a clear passage would mean deviating too far from the original course, the biters will attack whatever is in their way to go through. This can be exploited to an extent; creating mazes at regular intervals along a barrier can direct the biters through a gauntlet not dissimilar to tower defense.&lt;br /&gt;
&lt;br /&gt;
However, if a biter comes in proximity of a [[Military units and structures|military unit or structure]], it will prioritize these and attempt to immediately attack them instead, again trying to reach the new target over the shortest possible path with no too great detours, if possible.&lt;br /&gt;
&lt;br /&gt;
==Evolution==&lt;br /&gt;
[[File:Evolution Biters.png|thumb|right|400px|Spawn chances of biters from biter spawners by evolution factor.]]&lt;br /&gt;
[[File:Evolution Spitters.png|thumb|right|400px|Spawn chances of spitters from spitter spawners by evolution factor.]]&lt;br /&gt;
[[File:Evolution Weights.png|thumb|right|400px|Weight graph of both spawners by evolution factor. The values shown are primarily for indicating when certain types start and stop spawning, for actual chances refer to the tables or other charts.]]&lt;br /&gt;
The evolution factor is a global variable that determines what kind of biters will be spawned. You can check the variable in the dev console via the following command (does not disable achievements):&lt;br /&gt;
&lt;br /&gt;
  /evolution&lt;br /&gt;
&lt;br /&gt;
The evolution factor goes from 0 (not evolved at all) to 1 (maximal evolution). At the moment the evolution factor can only increase.&lt;br /&gt;
&lt;br /&gt;
Besides choosing what kind of biter will be spawned, the evolution factor also influences the spawning interval. This interval (&amp;lt;code&amp;gt;spawning_cooldown&amp;lt;/code&amp;gt; in the &amp;lt;code&amp;gt;enemy-spawner&amp;lt;/code&amp;gt; definition) is interpolated between 360 (0 evolution) and 150 (1 evolution) game ticks (= 6 to 2.5 seconds).&lt;br /&gt;
&lt;br /&gt;
=== Methods of increasing ===&lt;br /&gt;
&lt;br /&gt;
The evolution factor is increased by three kinds of events:&lt;br /&gt;
&lt;br /&gt;
* The passage of time very slightly increases the evolution factor.&lt;br /&gt;
* The global [[Pollution|pollution production]] increases the evolution factor.&lt;br /&gt;
* Destroying [[Enemies#Nests|nests]] significantly increases the evolution factor.&lt;br /&gt;
&lt;br /&gt;
All these values are set in &amp;lt;code&amp;gt;game.map_settings.enemy_evolution&amp;lt;/code&amp;gt;. From there they can be changed or modded.&lt;br /&gt;
&lt;br /&gt;
The default settings are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Source per&lt;br /&gt;
!Variable in &amp;lt;code&amp;gt;enemy_evolution&amp;lt;/code&amp;gt;&lt;br /&gt;
!Percent increase&lt;br /&gt;
|-&lt;br /&gt;
| [[Time#Seconds|Second]] || &amp;lt;code&amp;gt;time_factor&amp;lt;/code&amp;gt; || 0.0004%&lt;br /&gt;
|-&lt;br /&gt;
| 1 Pollution unit || &amp;lt;code&amp;gt;pollution_factor&amp;lt;/code&amp;gt; || 0.00009% &lt;br /&gt;
|-&lt;br /&gt;
| Destroyed enemy spawner || &amp;lt;code&amp;gt;destroy_factor&amp;lt;/code&amp;gt; || 0.2%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pollution production is the total pollution produced by [[Pollution#Polluters|buildings]] per tick, not the pollution spreading on the map, so it is not reduced by trees or other absorbers.&lt;br /&gt;
e.g. : 10 boilers produce 300 pollution in one minute, raising the evolution factor by around 0.027%.&lt;br /&gt;
&lt;br /&gt;
The percentages are applied on the base of &amp;lt;code&amp;gt;(1 - current_evolution_factor)²&amp;lt;/code&amp;gt;. So for instance destroying enemy spawners in the beginning of the game results in increase of evolution factor by 0.002 (0.2%) while doing this when the evolution factor is 0.5 the increase is only 0.0005 (0.05%).&lt;br /&gt;
&lt;br /&gt;
This also means that the evolution factor approaches 1 asymptotically - generally, increases past 0.9 or so are &#039;&#039;very&#039;&#039; slow and the number never actually reaches 1.0.&lt;br /&gt;
&lt;br /&gt;
=== Spawn chances by evolution factor ===&lt;br /&gt;
&lt;br /&gt;
The probability charts show the chances of each type of biter/spitter for each spawner at all evolution levels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;evoChecker&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Advanced: Evolution factor components and computation ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:calc(100%-400px); overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
This section has charts plotting the individual evolution factor components and discusses possibilities for manually estimating the evolution factor.&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Evolution_factor_by_time.png|400px|thumb|right|1. Single-component evolution factor increase with time]]&lt;br /&gt;
[[File:Evolution_factor_by_pollution.png|400px|thumb|right|2. Single-component evolution factor increase with pollution]]&lt;br /&gt;
[[File:Evolution_factor_by_spawners.png|400px|thumb|right|3. Single-component evolution factor increase with destroyed spawners]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Data from version 1.1.50.&lt;br /&gt;
&lt;br /&gt;
* All charts end at approximately an evolution factor of 0.90.&lt;br /&gt;
&lt;br /&gt;
* The calculation steps for time and spawner kills match those used by the game, so these charts should be accurate. The pollution chart assumes a pollution production of 1000 units per second, and due to the recursive nature of the chart values will slightly diverge at different pollution rates. The effect of this is negligible for any reasonable amount pollution production, however.&lt;br /&gt;
&lt;br /&gt;
*Given that the game reports the actual evolution factor (console: &amp;lt;code&amp;gt;/evolution&amp;lt;/code&amp;gt;) whenever the player wishes, these charts are intended primarily to help estimate the impact of planned base expansions and similar activities on the evolution factor&#039;s future development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Comments&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These charts (click to enlarge) represent the situation where each evolution factor component (time, pollution, destroyed spawners) is the &#039;&#039;only&#039;&#039; component contributing to the evolution factor in that entire game. They are therefore &#039;&#039;&#039;not realistic&#039;&#039;&#039;, as in a typical game all three components will contribute, some at varying times and intensities.&lt;br /&gt;
&lt;br /&gt;
Because of how contributions to the evolution factor (hereinafter, EF) are calculated (multiplied by &amp;lt;code&amp;gt;(1 - current EF)²&amp;lt;/code&amp;gt;), it is &#039;&#039;&#039;not&#039;&#039;&#039; possible to simply add the values indicated by these charts for a game&#039;s time passed, pollution generated, and / or spawners destroyed so far to retrieve the total evolution factor.&lt;br /&gt;
&lt;br /&gt;
For example, if 20 hours have passed (single-component EF =~ 0.25), 10 million pollution units were released (single-component EF =~ 0.15), and 200 spawners were destroyed (single-component EF =~ 0.35), the actual evolution factor will &#039;&#039;&#039;not&#039;&#039;&#039; be (0.25 + 0.15 + 0.35 =) ~0.85.&lt;br /&gt;
&lt;br /&gt;
However, the evolution factor will always be &#039;&#039;&#039;less&#039;&#039;&#039; than the sum of all individual components as indicated by these charts, and &#039;&#039;&#039;at least&#039;&#039;&#039; as high as the highest individual component. Thus, using the values from above, the EF will be &#039;&#039;at least&#039;&#039; 0.35 and &#039;&#039;less than&#039;&#039; 0.85. A smarter approach is required to compute the amount of pollution released.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Computation of actual evolution factor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The actual EF can be computed as follow :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; 1 - EF = (1 - E[t]) * (1 - E[p]) * (1 - E[s])&amp;lt;/code&amp;gt;, where &#039;&#039;E[t]&#039;&#039;, &#039;&#039;E[p]&#039;&#039;, and &#039;&#039;E[s]&#039;&#039; are the single-component values from the pollution, time, and spawner charts, in that order.&lt;br /&gt;
&lt;br /&gt;
A key observation in understanding where this formula comes from is that each incremental change of the evolution factor is effectively a multiplication of &amp;lt;code&amp;gt;1 - EF&amp;lt;/code&amp;gt; by a constant (depending on the nature of the change). For example, another way of saying that killing a biter nest augments evolution by 0.2% of &amp;lt;code&amp;gt;1 - EF&amp;lt;/code&amp;gt;, is to say that killing a biter nest multiplies &amp;lt;code&amp;gt;1 - EF&amp;lt;/code&amp;gt; by 0.998.&lt;br /&gt;
&lt;br /&gt;
So, like multiplication, evolution is, barring rounding errors, associative and commutative. The commutativity means that the order in which you take evolution-increasing actions does not matter, and along with the associativity results in the formula above.&lt;br /&gt;
&lt;br /&gt;
That knowledge can also be applied to compute the above charts exactly, or to compute a component of evolution without having to refer to the chart at all. For example, pollution as a function of time only is &amp;lt;code&amp;gt;1 - 0.999996 ^ t&amp;lt;/code&amp;gt; where t is the time in seconds.&lt;br /&gt;
&lt;br /&gt;
For the values from above, we can deduce the evolution factor &amp;lt;code&amp;gt;1 - EF = (1 - 0.25) * (1 - 0.15) * (1 - 0.35) = 0.75 * 0.85 * 0.35 = 0.41&amp;lt;/code&amp;gt;, which gives an evolution factor of &amp;lt;code&amp;gt;0.59&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
This formula can also be used to estimate impact of future player activities on the EF: a set of actions that is known to bring the evolution factor of a world from 0 to EF(2) (eg using the above chart and formula) will bring it from EF(1) to &amp;lt;code&amp;gt;1 - (1-EF(1)) * (1-EF(2))&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example, if the player planned to spend the next 20 hours building up their base, releasing 10 million pollution and destroying 200 spawners in the meantime (i.e., the same numbers as in the example above), and the EF at the start of this period were, say, 0.55, then the estimated EF at its end will be &amp;lt;code&amp;gt;1 - (1 - 0.55) * (1 - 0.59) = 0.81&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gallery ==&lt;br /&gt;
&amp;lt;gallery widths=270px heights=140px&amp;gt;&lt;br /&gt;
File:player_near_enemy_nests.png|The player near some enemy nests and worms.&lt;br /&gt;
File:player_worms_acid.png|The player among acid puddles created by attacking worms.&lt;br /&gt;
File:player_attacked_by_biters.png|Both the player and some buildings getting attacked by biters.&lt;br /&gt;
File:enemy_nests_mapgen.png|Enemy nests seen in a map generation preview (deathworld setting).&lt;br /&gt;
File:turret_wall_biters.png|Line of gun turrets defending against biters.&lt;br /&gt;
File:titlescreen_enemies.png|Enemies seen at the title screen.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
{{history|0.17.0|&lt;br /&gt;
* Behemoth worm added.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.15.0|&lt;br /&gt;
* Increased the damage, range, and health of worms.&lt;br /&gt;
* Decreased health and resist of Behemoth biters.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.13.10|&lt;br /&gt;
* Biters and other units won&#039;t become aggressive as a result of friendly-fire.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.13.0|&lt;br /&gt;
* Big and behemoth enemies now spawn 50% slower.&lt;br /&gt;
* Changed the way evolution factor approaches the maximum (1).&lt;br /&gt;
** The addition of evolution factor was changed from addition * (1 - evolution) to addition * (1 - evolution)^2&lt;br /&gt;
** This means that the progress gets more slower towards the high values.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.12.26|&lt;br /&gt;
* Running biters over with a vehicle will now anger them in peaceful mode.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.12.0|&lt;br /&gt;
* Updated sounds for enemies.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.11.17|&lt;br /&gt;
* Items dropped by enemies([[alien artifact|*]]) are now collected automatically and from longer distances.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.11.6|&lt;br /&gt;
* Range of spitters is now 15, less than turrets.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.11.0|&lt;br /&gt;
* Spitters added.&lt;br /&gt;
* Drawing of enemies optimised, so adding new colors does not impact VRAM.&lt;br /&gt;
* Blood splashes on death are now procedural.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.9.0|&lt;br /&gt;
* Turrets no longer search for enemies when none are near.&lt;br /&gt;
* Biters can no longer destroy the shipwreck in the 3rd new hope campaign.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.8.1|&lt;br /&gt;
* Further improvement to enemy AI.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.8.0|&lt;br /&gt;
* Decreased the range of medium worm from 25 to 20.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.7.2|&lt;br /&gt;
* Biter AI improved.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.7.1|&lt;br /&gt;
* Peaceful mode added for freeplay.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.7.0|&lt;br /&gt;
* Enemy creepers were replaced by small, medium and big biters.&lt;br /&gt;
* Enemy turrets were replaced by small, medium and big shooting worms.&lt;br /&gt;
* Enemies move and attack in groups.&lt;br /&gt;
* Enemies wander around their base when they have nothing to do.&lt;br /&gt;
* Enemies call for help when attacked.&lt;br /&gt;
* Enemies can create new bases.&lt;br /&gt;
* Enemies can now destroy all player creations they find.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.1.0|&lt;br /&gt;
* Introduced, called &#039;creepers&#039;}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Damage]]&lt;br /&gt;
* [[Pollution]]&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Pollution&amp;diff=189938</id>
		<title>Pollution</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Pollution&amp;diff=189938"/>
		<updated>2022-09-10T04:04:36Z</updated>

		<summary type="html">&lt;p&gt;CodeGreen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{languages}}&lt;br /&gt;
[[File:Pollution.png|300px|thumb|Example of in-game pollution (red squares) in the map]]&lt;br /&gt;
[[File:pollution_gui.png|300px|thumb|Pollution tab in the production GUI.]]&lt;br /&gt;
&lt;br /&gt;
Pollution is represented as an abstract &amp;quot;cloud&amp;quot;, updated [[Map_structure#Chunk|per chunk]] every 64 [[Time#Ticks|ticks]] (which is 4 ticks more than a game-second), and visible on the map, when &amp;quot;alt-view&amp;quot; is on (default [[Keyboard bindings|Alt-Key]]). It appears as a red colored blocky cloud.&lt;br /&gt;
&lt;br /&gt;
It is produced by many buildings involved in processing items and spreads outwards at a steady rate.&lt;br /&gt;
&lt;br /&gt;
The [[Enemies#Evolution|evolution factor]] is not increased by the spreading/absorbed pollution, but by the pollution produced by all the player&#039;s [[Pollution#Polluters|machinery]] at every tick. This means that no matter how hard the player tries to contain the pollution, [[enemies]] will still evolve at the same rate. They just won&#039;t attack the player as frequently. The pollution cloud is used to trigger biter attacks and determines the size of the attacks.&lt;br /&gt;
&lt;br /&gt;
Pollution settings can be changed via [[map generator|map generation]] settings, or can be disabled entirely.&lt;br /&gt;
&lt;br /&gt;
== Pollution spread ==&lt;br /&gt;
&lt;br /&gt;
As soon as a chunk has reached 15.0 pollution it starts spreading in all four cardinal directions at a rate of 2% per 64 ticks. Pollution can generate new chunks if it needs to spread to them.&lt;br /&gt;
&lt;br /&gt;
For example, a chunk with 400.0 pollution and 4 adjacent chunks with 100.0 pollution each, raises the pollution in all adjacent chunks by 8.0 while reducing its own pollution by 32.0. But every one of the 4 surrounding spreads 2.0 pollution &amp;quot;back&amp;quot; to the center chunk, so it only loses 24.0 + [[Pollution#De-polluters|absorbed value]].&lt;br /&gt;
&lt;br /&gt;
== Pollution dissipation==&lt;br /&gt;
&lt;br /&gt;
* Every [[Map_structure#Chunk|chunk]] (32x32) of map slowly reduces the pollution it covers (See [[#Chunks]]). So the more the pollution spreads, the more is absorbed.&lt;br /&gt;
* [[Tree]]s also absorb some pollution (See [[#Trees]]).&lt;br /&gt;
* [[Enemies#Spawner|Spawners]] absorb a great amount of pollution, and use this to assign enemies to attacks.&lt;br /&gt;
&lt;br /&gt;
== Native life ==&lt;br /&gt;
Pollution attracts [[Enemies#Biters|biters]] to the Player&#039;s factory. Biters who find themselves in a polluted area will attempt to reach the source of pollution and destroy it. Any [[water]] near the source of pollution will turn green, which is a visual-only effect. The effect can be turned off by disabling animated water in the graphics settings.&lt;br /&gt;
&lt;br /&gt;
If a chunk&#039;s pollution is greater than 20, each enemy spawner absorbs 20 + 0.01 * [chunk&#039;s pollution] every 64 ticks, otherwise it absorbs 3 times the amount of pollution needed for the most expensive unit it can spawn for the current evolution factor. &lt;br /&gt;
&lt;br /&gt;
Higher pollution values decrease the time it takes for biters to join the attack force. After a certain amount of pollution is absorbed the spawner sends one of its biters/spitters to a rendezvous point. Every 1 to 10 minutes (random) the mustered biters launch an attack. If not all biters have arrived at the rendezvous point by that time, they will wait up to an additional 2 minutes for stragglers.&lt;br /&gt;
&lt;br /&gt;
Required pollution to add an additional biter/spitter to the attack wave:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:right;&amp;quot; &lt;br /&gt;
! style=&amp;quot;width: 100px;&amp;quot; | Pollution&amp;amp;nbsp;&lt;br /&gt;
! style=&amp;quot;width: 130px;&amp;quot; | Type&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 4&amp;amp;nbsp; || Small biter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 20&amp;amp;nbsp; || Medium biter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 80&amp;amp;nbsp; || Big biter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 400&amp;amp;nbsp; || Behemoth biter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 4&amp;amp;nbsp; || Small spitter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 12&amp;amp;nbsp; || Medium spitter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 30&amp;amp;nbsp; || Big spitter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 200&amp;amp;nbsp; || Behemoth spitter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Modules ==&lt;br /&gt;
[[Module]]s that list &amp;quot;+x% pollution&amp;quot; increase pollution multiplier, not a flat pollution rate. Final pollution value is (pollution multiplier * energy usage multiplier * base pollution), meaning heavily boosted buildings are likely to account for most of the pollution produced in a factory.&lt;br /&gt;
&lt;br /&gt;
== Production/Absorption ==&lt;br /&gt;
These tables contain information about the levels of pollution produced/absorbed by items in the game.&lt;br /&gt;
=== Polluters ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Structure !! Pollution per minute at full power&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Stone furnace}} || 2&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Steel furnace}} || 4&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Electric furnace}} || 1&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Burner mining drill}} || 12&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Electric mining drill}} || 10&lt;br /&gt;
|-&lt;br /&gt;
| {{imagelink|Pumpjack}} || 10&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Assembling machine 1}} || 4&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Assembling machine 2}} || 3&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Assembling machine 3}} || 2&lt;br /&gt;
|-&lt;br /&gt;
| {{imagelink|Boiler}} || 30&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Oil refinery}} || 6&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Chemical plant}} || 4&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Centrifuge}} || 4&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire on the ground and burning trees produce 0.3 pollution per minute.&lt;br /&gt;
&lt;br /&gt;
=== De-polluters ===&lt;br /&gt;
&lt;br /&gt;
==== Spawners ====&lt;br /&gt;
Every 64 ticks, spawners absorb pollution until they have absorbed more than 3 times the amount needed to send the [[Enemies#Creatures|most expensive unit]] at the current evolution level.&lt;br /&gt;
&lt;br /&gt;
If they have not absorbed more than that threshold, they will absorb 20 + 0.01 * [chunk&#039;s pollution] and check the threshold again.&lt;br /&gt;
&lt;br /&gt;
Note that absorbing pollution is not for spawning biters, but for sending biters to an attack group. Spawners will spawn enemies regardless of pollution absorption until they reach their spawn limit.&lt;br /&gt;
&lt;br /&gt;
==== Chunks ====&lt;br /&gt;
Every chunk has a natural absorption rate per second which is determined by the sum of the pollution absorption of its floor tiles.&lt;br /&gt;
&lt;br /&gt;
Following numbers are the pollution reduction for a single tile per second.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Tile !! Pollution per second !! Absorption rating&lt;br /&gt;
|-&lt;br /&gt;
| Grass 1-4 || -0.0000075 || 10&lt;br /&gt;
|-&lt;br /&gt;
| Dirt 1-7, dry dirt || -0.0000066 || 9&lt;br /&gt;
|-&lt;br /&gt;
| Red desert 0-3 || -0.0000066 || 9&lt;br /&gt;
|-&lt;br /&gt;
| Sand 1-3 || -0.0000058 || 8&lt;br /&gt;
|-&lt;br /&gt;
| Water, green water, deep water, deep green water, shallow water, mud water  || -0.000005 || 7&lt;br /&gt;
|-&lt;br /&gt;
| Nuclear ground || -0.0000025 || 3&lt;br /&gt;
|-&lt;br /&gt;
| Path tiles (Stone bricks, concrete etc), landfill || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| Special tiles (Lab tiles, tutorial grid, Water Wube) || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| Out of map || -0.00001 || 13&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Trees ====&lt;br /&gt;
&lt;br /&gt;
Every single tree absorbs a small amount of pollution in its chunk per second. If the total pollution in a chunk is above 60 units, once per second some of the trees in that chunk each have a chance to either lose one stage of leaves or have their leaves become one stage more gray. Regardless of whether the tree loses leaves or gets grayer, 10 pollution are absorbed by the tree.&amp;lt;br&amp;gt;&lt;br /&gt;
A tree stops losing leaves/becoming more gray once the sum of its gray percentage and its leaves lost percentage is above 120%. 50% of trees stop their leaf progression one stage earlier. As the grayness and leaf stage are then locked for that tree forever, it is possible for trees to keep some leaves in heavily polluted chunks but in turn be very gray, or the other way around.&amp;lt;br&amp;gt;&lt;br /&gt;
The less dense the leaves, the slower the tree absorbs pollution, however tree grayness does not affect pollution absorption.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Object !! Stage !! Pollution per second&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[File:Green tree.png|120px]] Tree, red tree, brown tree || 0 (Max leaf density) || -0.001&lt;br /&gt;
|-&lt;br /&gt;
| 1 || -0.00067&lt;br /&gt;
|-&lt;br /&gt;
| 2 || -0.00033&lt;br /&gt;
|-&lt;br /&gt;
| 3 (Min leaf density) || 0&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Dead dry hairy tree.png|120px]] Dead dry hairy tree || No stages || -0.0001&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Dead grey trunk.png|120px]] Dead gray trunk || No stages || -0.0001&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Dead tree desert.png|120px]] Dead tree - desert|| No stages || -0.0001&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Dry hairy tree.png|120px]] Dry hairy tree || No stages || -0.0001&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Dry tree.png|120px]] Dry tree || No stages || -0.0001&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
Pollution is directly connected to the following achievement:&lt;br /&gt;
{{Achievement|it-stinks-and-they-dont-like-it}}&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
{{history|0.17.12|&lt;br /&gt;
* Added pollution tab to the production statistics.&lt;br /&gt;
* Spawner tooltip (including the pollution statistics), shows distribution of biters spawn for the current evolution factor with the pollution costs.&lt;br /&gt;
* Pollution generation is now shown in the x/s format both on the entity and in the item/crafting slot.&lt;br /&gt;
* Internal pollution values have been normalized, and they are now roughly 60 times less compared to what they were.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.17.0|&lt;br /&gt;
* Rebalanced assembling machine 1,2 and 3 power consumption and pollution - higher tiers eat more power, but produce less pollution.&lt;br /&gt;
* Changed spawner pollution absorption logic so that all the pollution on a chunk doesn&#039;t build up un-spent in a single spawner.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.13.2|&lt;br /&gt;
* Optimized rendering of huge pollution clouds on the map.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.13.0|&lt;br /&gt;
* Large amounts of pollution is created when burning fires.&lt;br /&gt;
* Pollution creation of the productivity module was reduced drastically.&lt;br /&gt;
* Optimized pollution rendering on map and minimap.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.12.0|&lt;br /&gt;
* [[Tree]]s degenerate slowly when exposed to pollution at high levels. }}&lt;br /&gt;
&lt;br /&gt;
{{history|0.8.0|&lt;br /&gt;
* Added option to turn off pollution visibility even when detailed info is on. }}&lt;br /&gt;
&lt;br /&gt;
{{history|0.7.1|&lt;br /&gt;
* Speed modules no longer produce extra pollution.&lt;br /&gt;
* Added missing pollution descriptions.&lt;br /&gt;
* Pollution is only shown on the minimap with alt mode on.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.7.0|&lt;br /&gt;
* Introduced concept of pollution.}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Crafting]]&lt;br /&gt;
* [[Module]]s&lt;br /&gt;
* [[Enemies]]&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Pollution&amp;diff=189937</id>
		<title>Pollution</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Pollution&amp;diff=189937"/>
		<updated>2022-09-10T04:03:57Z</updated>

		<summary type="html">&lt;p&gt;CodeGreen: /* Spawners */ formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{languages}}&lt;br /&gt;
[[File:Pollution.png|300px|thumb|Example of in-game pollution (red squares) in the map]]&lt;br /&gt;
[[File:pollution_gui.png|300px|thumb|Pollution tab in the production GUI.]]&lt;br /&gt;
&lt;br /&gt;
Pollution is represented as an abstract &amp;quot;cloud&amp;quot;, updated [[Map_structure#Chunk|per chunk]] every 64 [[Time#Ticks|ticks]] (which is 4 ticks more than a game-second), and visible on the map, when &amp;quot;alt-view&amp;quot; is on (default [[Keyboard bindings|Alt-Key]]). It appears as a red colored blocky cloud.&lt;br /&gt;
&lt;br /&gt;
It is produced by many buildings involved in processing items and spreads outwards at a steady rate.&lt;br /&gt;
&lt;br /&gt;
The [[Enemies#Evolution|evolution factor]] is not increased by the spreading/absorbed pollution, but by the pollution produced by all the player&#039;s [[Pollution#Polluters|machinery]] at every tick. This means that no matter how hard the player tries to contain the pollution, [[enemies]] will still evolve at the same rate. They just won&#039;t attack the player as frequently. The pollution cloud is used to trigger biter attacks and determines the size of the attacks.&lt;br /&gt;
&lt;br /&gt;
Pollution settings can be changed via [[map generator|map generation]] settings, or can be disabled entirely.&lt;br /&gt;
&lt;br /&gt;
== Pollution spread ==&lt;br /&gt;
&lt;br /&gt;
As soon as a chunk has reached 15.0 pollution it starts spreading in all four cardinal directions at a rate of 2% per 64 ticks. Pollution can generate new chunks if it needs to spread to them.&lt;br /&gt;
&lt;br /&gt;
For example, a chunk with 400.0 pollution and 4 adjacent chunks with 100.0 pollution each, raises the pollution in all adjacent chunks by 8.0 while reducing its own pollution by 32.0. But every one of the 4 surrounding spreads 2.0 pollution &amp;quot;back&amp;quot; to the center chunk, so it only loses 24.0 + [[Pollution#De-polluters|absorbed value]].&lt;br /&gt;
&lt;br /&gt;
== Pollution dissipation==&lt;br /&gt;
&lt;br /&gt;
* Every [[Map_structure#Chunk|chunk]] (32x32) of map slowly reduces the pollution it covers (See [[#Chunks]]). So the more the pollution spreads, the more is absorbed.&lt;br /&gt;
* [[Tree]]s also absorb some pollution (See [[#Trees]]).&lt;br /&gt;
* [[Enemies#Spawner|Spawners]] absorb a great amount of pollution, and use this to assign enemies to attacks.&lt;br /&gt;
&lt;br /&gt;
== Native life ==&lt;br /&gt;
Pollution attracts [[Enemies#Biters|biters]] to the Player&#039;s factory. Biters who find themselves in a polluted area will attempt to reach the source of pollution and destroy it. Any [[water]] near the source of pollution will turn green, which is a visual-only effect. The effect can be turned off by disabling animated water in the graphics settings.&lt;br /&gt;
&lt;br /&gt;
If a chunk&#039;s pollution is greater than 20, each enemy spawner absorbs 20 + 0.01 * [chunk&#039;s pollution] every 64 ticks, otherwise it absorbs 3 times the amount of pollution needed for the most expensive unit it can spawn for the current evolution factor. &lt;br /&gt;
&lt;br /&gt;
Higher pollution values decrease the time it takes for biters to join the attack force. After a certain amount of pollution is absorbed the spawner sends one of its biters/spitters to a rendezvous point. Every 1 to 10 minutes (random) the mustered biters launch an attack. If not all biters have arrived at the rendezvous point by that time, they will wait up to an additional 2 minutes for stragglers.&lt;br /&gt;
&lt;br /&gt;
Required pollution to add an additional biter/spitter to the attack wave:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:right;&amp;quot; &lt;br /&gt;
! style=&amp;quot;width: 100px;&amp;quot; | Pollution&amp;amp;nbsp;&lt;br /&gt;
! style=&amp;quot;width: 130px;&amp;quot; | Type&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 4&amp;amp;nbsp; || Small biter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 20&amp;amp;nbsp; || Medium biter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 80&amp;amp;nbsp; || Big biter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 400&amp;amp;nbsp; || Behemoth biter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 4&amp;amp;nbsp; || Small spitter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 12&amp;amp;nbsp; || Medium spitter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 30&amp;amp;nbsp; || Big spitter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 200&amp;amp;nbsp; || Behemoth spitter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Modules ==&lt;br /&gt;
[[Module]]s that list &amp;quot;+x% pollution&amp;quot; increase pollution multiplier, not a flat pollution rate. Final pollution value is (pollution multiplier * energy usage multiplier * base pollution), meaning heavily boosted buildings are likely to account for most of the pollution produced in a factory.&lt;br /&gt;
&lt;br /&gt;
== Production/Absorption ==&lt;br /&gt;
These tables contain information about the levels of pollution produced/absorbed by items in the game.&lt;br /&gt;
=== Polluters ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Structure !! Pollution per minute at full power&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Stone furnace}} || 2&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Steel furnace}} || 4&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Electric furnace}} || 1&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Burner mining drill}} || 12&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Electric mining drill}} || 10&lt;br /&gt;
|-&lt;br /&gt;
| {{imagelink|Pumpjack}} || 10&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Assembling machine 1}} || 4&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Assembling machine 2}} || 3&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Assembling machine 3}} || 2&lt;br /&gt;
|-&lt;br /&gt;
| {{imagelink|Boiler}} || 30&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Oil refinery}} || 6&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Chemical plant}} || 4&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Centrifuge}} || 4&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire on the ground and burning trees produce 0.3 pollution per minute.&lt;br /&gt;
&lt;br /&gt;
=== De-polluters ===&lt;br /&gt;
&lt;br /&gt;
==== Spawners ====&lt;br /&gt;
Every 64 ticks, spawners absorb pollution until they have absorbed more than 3 times the amount needed to send the [[Enemies#Creatures|most expensive unit]] at the current evolution level.&lt;br /&gt;
If they have not absorbed more than that threshold, they will absorb 20 + 0.01 * [chunk&#039;s pollution] and check the threshold again.&lt;br /&gt;
Note that absorbing pollution is not for spawning biters, but for sending biters to an attack group. Spawners will spawn enemies regardless of pollution absorption until they reach their spawn limit.&lt;br /&gt;
&lt;br /&gt;
==== Chunks ====&lt;br /&gt;
Every chunk has a natural absorption rate per second which is determined by the sum of the pollution absorption of its floor tiles.&lt;br /&gt;
&lt;br /&gt;
Following numbers are the pollution reduction for a single tile per second.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Tile !! Pollution per second !! Absorption rating&lt;br /&gt;
|-&lt;br /&gt;
| Grass 1-4 || -0.0000075 || 10&lt;br /&gt;
|-&lt;br /&gt;
| Dirt 1-7, dry dirt || -0.0000066 || 9&lt;br /&gt;
|-&lt;br /&gt;
| Red desert 0-3 || -0.0000066 || 9&lt;br /&gt;
|-&lt;br /&gt;
| Sand 1-3 || -0.0000058 || 8&lt;br /&gt;
|-&lt;br /&gt;
| Water, green water, deep water, deep green water, shallow water, mud water  || -0.000005 || 7&lt;br /&gt;
|-&lt;br /&gt;
| Nuclear ground || -0.0000025 || 3&lt;br /&gt;
|-&lt;br /&gt;
| Path tiles (Stone bricks, concrete etc), landfill || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| Special tiles (Lab tiles, tutorial grid, Water Wube) || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| Out of map || -0.00001 || 13&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Trees ====&lt;br /&gt;
&lt;br /&gt;
Every single tree absorbs a small amount of pollution in its chunk per second. If the total pollution in a chunk is above 60 units, once per second some of the trees in that chunk each have a chance to either lose one stage of leaves or have their leaves become one stage more gray. Regardless of whether the tree loses leaves or gets grayer, 10 pollution are absorbed by the tree.&amp;lt;br&amp;gt;&lt;br /&gt;
A tree stops losing leaves/becoming more gray once the sum of its gray percentage and its leaves lost percentage is above 120%. 50% of trees stop their leaf progression one stage earlier. As the grayness and leaf stage are then locked for that tree forever, it is possible for trees to keep some leaves in heavily polluted chunks but in turn be very gray, or the other way around.&amp;lt;br&amp;gt;&lt;br /&gt;
The less dense the leaves, the slower the tree absorbs pollution, however tree grayness does not affect pollution absorption.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Object !! Stage !! Pollution per second&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[File:Green tree.png|120px]] Tree, red tree, brown tree || 0 (Max leaf density) || -0.001&lt;br /&gt;
|-&lt;br /&gt;
| 1 || -0.00067&lt;br /&gt;
|-&lt;br /&gt;
| 2 || -0.00033&lt;br /&gt;
|-&lt;br /&gt;
| 3 (Min leaf density) || 0&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Dead dry hairy tree.png|120px]] Dead dry hairy tree || No stages || -0.0001&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Dead grey trunk.png|120px]] Dead gray trunk || No stages || -0.0001&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Dead tree desert.png|120px]] Dead tree - desert|| No stages || -0.0001&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Dry hairy tree.png|120px]] Dry hairy tree || No stages || -0.0001&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Dry tree.png|120px]] Dry tree || No stages || -0.0001&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
Pollution is directly connected to the following achievement:&lt;br /&gt;
{{Achievement|it-stinks-and-they-dont-like-it}}&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
{{history|0.17.12|&lt;br /&gt;
* Added pollution tab to the production statistics.&lt;br /&gt;
* Spawner tooltip (including the pollution statistics), shows distribution of biters spawn for the current evolution factor with the pollution costs.&lt;br /&gt;
* Pollution generation is now shown in the x/s format both on the entity and in the item/crafting slot.&lt;br /&gt;
* Internal pollution values have been normalized, and they are now roughly 60 times less compared to what they were.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.17.0|&lt;br /&gt;
* Rebalanced assembling machine 1,2 and 3 power consumption and pollution - higher tiers eat more power, but produce less pollution.&lt;br /&gt;
* Changed spawner pollution absorption logic so that all the pollution on a chunk doesn&#039;t build up un-spent in a single spawner.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.13.2|&lt;br /&gt;
* Optimized rendering of huge pollution clouds on the map.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.13.0|&lt;br /&gt;
* Large amounts of pollution is created when burning fires.&lt;br /&gt;
* Pollution creation of the productivity module was reduced drastically.&lt;br /&gt;
* Optimized pollution rendering on map and minimap.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.12.0|&lt;br /&gt;
* [[Tree]]s degenerate slowly when exposed to pollution at high levels. }}&lt;br /&gt;
&lt;br /&gt;
{{history|0.8.0|&lt;br /&gt;
* Added option to turn off pollution visibility even when detailed info is on. }}&lt;br /&gt;
&lt;br /&gt;
{{history|0.7.1|&lt;br /&gt;
* Speed modules no longer produce extra pollution.&lt;br /&gt;
* Added missing pollution descriptions.&lt;br /&gt;
* Pollution is only shown on the minimap with alt mode on.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.7.0|&lt;br /&gt;
* Introduced concept of pollution.}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Crafting]]&lt;br /&gt;
* [[Module]]s&lt;br /&gt;
* [[Enemies]]&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Pollution&amp;diff=189936</id>
		<title>Pollution</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Pollution&amp;diff=189936"/>
		<updated>2022-09-10T04:02:49Z</updated>

		<summary type="html">&lt;p&gt;CodeGreen: Changed pollution cycle time from 60 ticks to the correct number, 64 ticks, and fixed the spawner absorption section to be accurate to it&amp;#039;s actual behavior&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{languages}}&lt;br /&gt;
[[File:Pollution.png|300px|thumb|Example of in-game pollution (red squares) in the map]]&lt;br /&gt;
[[File:pollution_gui.png|300px|thumb|Pollution tab in the production GUI.]]&lt;br /&gt;
&lt;br /&gt;
Pollution is represented as an abstract &amp;quot;cloud&amp;quot;, updated [[Map_structure#Chunk|per chunk]] every 64 [[Time#Ticks|ticks]] (which is 4 ticks more than a game-second), and visible on the map, when &amp;quot;alt-view&amp;quot; is on (default [[Keyboard bindings|Alt-Key]]). It appears as a red colored blocky cloud.&lt;br /&gt;
&lt;br /&gt;
It is produced by many buildings involved in processing items and spreads outwards at a steady rate.&lt;br /&gt;
&lt;br /&gt;
The [[Enemies#Evolution|evolution factor]] is not increased by the spreading/absorbed pollution, but by the pollution produced by all the player&#039;s [[Pollution#Polluters|machinery]] at every tick. This means that no matter how hard the player tries to contain the pollution, [[enemies]] will still evolve at the same rate. They just won&#039;t attack the player as frequently. The pollution cloud is used to trigger biter attacks and determines the size of the attacks.&lt;br /&gt;
&lt;br /&gt;
Pollution settings can be changed via [[map generator|map generation]] settings, or can be disabled entirely.&lt;br /&gt;
&lt;br /&gt;
== Pollution spread ==&lt;br /&gt;
&lt;br /&gt;
As soon as a chunk has reached 15.0 pollution it starts spreading in all four cardinal directions at a rate of 2% per 64 ticks. Pollution can generate new chunks if it needs to spread to them.&lt;br /&gt;
&lt;br /&gt;
For example, a chunk with 400.0 pollution and 4 adjacent chunks with 100.0 pollution each, raises the pollution in all adjacent chunks by 8.0 while reducing its own pollution by 32.0. But every one of the 4 surrounding spreads 2.0 pollution &amp;quot;back&amp;quot; to the center chunk, so it only loses 24.0 + [[Pollution#De-polluters|absorbed value]].&lt;br /&gt;
&lt;br /&gt;
== Pollution dissipation==&lt;br /&gt;
&lt;br /&gt;
* Every [[Map_structure#Chunk|chunk]] (32x32) of map slowly reduces the pollution it covers (See [[#Chunks]]). So the more the pollution spreads, the more is absorbed.&lt;br /&gt;
* [[Tree]]s also absorb some pollution (See [[#Trees]]).&lt;br /&gt;
* [[Enemies#Spawner|Spawners]] absorb a great amount of pollution, and use this to assign enemies to attacks.&lt;br /&gt;
&lt;br /&gt;
== Native life ==&lt;br /&gt;
Pollution attracts [[Enemies#Biters|biters]] to the Player&#039;s factory. Biters who find themselves in a polluted area will attempt to reach the source of pollution and destroy it. Any [[water]] near the source of pollution will turn green, which is a visual-only effect. The effect can be turned off by disabling animated water in the graphics settings.&lt;br /&gt;
&lt;br /&gt;
If a chunk&#039;s pollution is greater than 20, each enemy spawner absorbs 20 + 0.01 * [chunk&#039;s pollution] every 64 ticks, otherwise it absorbs 3 times the amount of pollution needed for the most expensive unit it can spawn for the current evolution factor. &lt;br /&gt;
&lt;br /&gt;
Higher pollution values decrease the time it takes for biters to join the attack force. After a certain amount of pollution is absorbed the spawner sends one of its biters/spitters to a rendezvous point. Every 1 to 10 minutes (random) the mustered biters launch an attack. If not all biters have arrived at the rendezvous point by that time, they will wait up to an additional 2 minutes for stragglers.&lt;br /&gt;
&lt;br /&gt;
Required pollution to add an additional biter/spitter to the attack wave:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:right;&amp;quot; &lt;br /&gt;
! style=&amp;quot;width: 100px;&amp;quot; | Pollution&amp;amp;nbsp;&lt;br /&gt;
! style=&amp;quot;width: 130px;&amp;quot; | Type&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 4&amp;amp;nbsp; || Small biter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 20&amp;amp;nbsp; || Medium biter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 80&amp;amp;nbsp; || Big biter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 400&amp;amp;nbsp; || Behemoth biter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 4&amp;amp;nbsp; || Small spitter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 12&amp;amp;nbsp; || Medium spitter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 30&amp;amp;nbsp; || Big spitter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 200&amp;amp;nbsp; || Behemoth spitter&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Modules ==&lt;br /&gt;
[[Module]]s that list &amp;quot;+x% pollution&amp;quot; increase pollution multiplier, not a flat pollution rate. Final pollution value is (pollution multiplier * energy usage multiplier * base pollution), meaning heavily boosted buildings are likely to account for most of the pollution produced in a factory.&lt;br /&gt;
&lt;br /&gt;
== Production/Absorption ==&lt;br /&gt;
These tables contain information about the levels of pollution produced/absorbed by items in the game.&lt;br /&gt;
=== Polluters ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Structure !! Pollution per minute at full power&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Stone furnace}} || 2&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Steel furnace}} || 4&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Electric furnace}} || 1&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Burner mining drill}} || 12&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Electric mining drill}} || 10&lt;br /&gt;
|-&lt;br /&gt;
| {{imagelink|Pumpjack}} || 10&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Assembling machine 1}} || 4&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Assembling machine 2}} || 3&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Assembling machine 3}} || 2&lt;br /&gt;
|-&lt;br /&gt;
| {{imagelink|Boiler}} || 30&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Oil refinery}} || 6&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Chemical plant}} || 4&lt;br /&gt;
|-&lt;br /&gt;
| {{Imagelink|Centrifuge}} || 4&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire on the ground and burning trees produce 0.3 pollution per minute.&lt;br /&gt;
&lt;br /&gt;
=== De-polluters ===&lt;br /&gt;
&lt;br /&gt;
==== Spawners ====&lt;br /&gt;
Every 64 ticks, spawners absorb pollution until they have absorbed more than 3 times the amount needed to send the [[Enemies#Creatures|most expensive unit]] at the current evolution level. If they have not absorbed more than that threshold, they will absorb 20 + 0.01 * [chunk&#039;s pollution] and check the threshold again. Note that absorbing pollution is not for spawning biters, but for sending biters to an attack group. Spawners will spawn enemies regardless of pollution absorption until they reach their spawn limit.&lt;br /&gt;
&lt;br /&gt;
==== Chunks ====&lt;br /&gt;
Every chunk has a natural absorption rate per second which is determined by the sum of the pollution absorption of its floor tiles.&lt;br /&gt;
&lt;br /&gt;
Following numbers are the pollution reduction for a single tile per second.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Tile !! Pollution per second !! Absorption rating&lt;br /&gt;
|-&lt;br /&gt;
| Grass 1-4 || -0.0000075 || 10&lt;br /&gt;
|-&lt;br /&gt;
| Dirt 1-7, dry dirt || -0.0000066 || 9&lt;br /&gt;
|-&lt;br /&gt;
| Red desert 0-3 || -0.0000066 || 9&lt;br /&gt;
|-&lt;br /&gt;
| Sand 1-3 || -0.0000058 || 8&lt;br /&gt;
|-&lt;br /&gt;
| Water, green water, deep water, deep green water, shallow water, mud water  || -0.000005 || 7&lt;br /&gt;
|-&lt;br /&gt;
| Nuclear ground || -0.0000025 || 3&lt;br /&gt;
|-&lt;br /&gt;
| Path tiles (Stone bricks, concrete etc), landfill || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| Special tiles (Lab tiles, tutorial grid, Water Wube) || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| Out of map || -0.00001 || 13&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Trees ====&lt;br /&gt;
&lt;br /&gt;
Every single tree absorbs a small amount of pollution in its chunk per second. If the total pollution in a chunk is above 60 units, once per second some of the trees in that chunk each have a chance to either lose one stage of leaves or have their leaves become one stage more gray. Regardless of whether the tree loses leaves or gets grayer, 10 pollution are absorbed by the tree.&amp;lt;br&amp;gt;&lt;br /&gt;
A tree stops losing leaves/becoming more gray once the sum of its gray percentage and its leaves lost percentage is above 120%. 50% of trees stop their leaf progression one stage earlier. As the grayness and leaf stage are then locked for that tree forever, it is possible for trees to keep some leaves in heavily polluted chunks but in turn be very gray, or the other way around.&amp;lt;br&amp;gt;&lt;br /&gt;
The less dense the leaves, the slower the tree absorbs pollution, however tree grayness does not affect pollution absorption.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Object !! Stage !! Pollution per second&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[File:Green tree.png|120px]] Tree, red tree, brown tree || 0 (Max leaf density) || -0.001&lt;br /&gt;
|-&lt;br /&gt;
| 1 || -0.00067&lt;br /&gt;
|-&lt;br /&gt;
| 2 || -0.00033&lt;br /&gt;
|-&lt;br /&gt;
| 3 (Min leaf density) || 0&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Dead dry hairy tree.png|120px]] Dead dry hairy tree || No stages || -0.0001&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Dead grey trunk.png|120px]] Dead gray trunk || No stages || -0.0001&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Dead tree desert.png|120px]] Dead tree - desert|| No stages || -0.0001&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Dry hairy tree.png|120px]] Dry hairy tree || No stages || -0.0001&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Dry tree.png|120px]] Dry tree || No stages || -0.0001&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
Pollution is directly connected to the following achievement:&lt;br /&gt;
{{Achievement|it-stinks-and-they-dont-like-it}}&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
{{history|0.17.12|&lt;br /&gt;
* Added pollution tab to the production statistics.&lt;br /&gt;
* Spawner tooltip (including the pollution statistics), shows distribution of biters spawn for the current evolution factor with the pollution costs.&lt;br /&gt;
* Pollution generation is now shown in the x/s format both on the entity and in the item/crafting slot.&lt;br /&gt;
* Internal pollution values have been normalized, and they are now roughly 60 times less compared to what they were.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.17.0|&lt;br /&gt;
* Rebalanced assembling machine 1,2 and 3 power consumption and pollution - higher tiers eat more power, but produce less pollution.&lt;br /&gt;
* Changed spawner pollution absorption logic so that all the pollution on a chunk doesn&#039;t build up un-spent in a single spawner.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.13.2|&lt;br /&gt;
* Optimized rendering of huge pollution clouds on the map.}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.13.0|&lt;br /&gt;
* Large amounts of pollution is created when burning fires.&lt;br /&gt;
* Pollution creation of the productivity module was reduced drastically.&lt;br /&gt;
* Optimized pollution rendering on map and minimap.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.12.0|&lt;br /&gt;
* [[Tree]]s degenerate slowly when exposed to pollution at high levels. }}&lt;br /&gt;
&lt;br /&gt;
{{history|0.8.0|&lt;br /&gt;
* Added option to turn off pollution visibility even when detailed info is on. }}&lt;br /&gt;
&lt;br /&gt;
{{history|0.7.1|&lt;br /&gt;
* Speed modules no longer produce extra pollution.&lt;br /&gt;
* Added missing pollution descriptions.&lt;br /&gt;
* Pollution is only shown on the minimap with alt mode on.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{history|0.7.0|&lt;br /&gt;
* Introduced concept of pollution.}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Crafting]]&lt;br /&gt;
* [[Module]]s&lt;br /&gt;
* [[Enemies]]&lt;/div&gt;</summary>
		<author><name>CodeGreen</name></author>
	</entry>
</feed>