<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://stationeers-wiki.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Letter+Y</id>
	<title>Stationeers Community Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://stationeers-wiki.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Letter+Y"/>
	<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/Special:Contributions/Letter_Y"/>
	<updated>2026-09-18T08:12:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Tool_Manufactory&amp;diff=28169</id>
		<title>Tool Manufactory</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Tool_Manufactory&amp;diff=28169"/>
		<updated>2026-09-13T13:05:27Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: update data&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{Itembox&lt;br /&gt;
 | name        = Kit (Tool Manufactory)&lt;br /&gt;
 | image       = [[File:ItemKitToolManufactory.png]]&lt;br /&gt;
 | stacks      = 1&lt;br /&gt;
 |recipe_machine1=Autolathe|recipe_cost1=20g [[Iron]], 10g [[Copper]]|prefabhash=529137748|prefabname=ItemKitToolManufactory|autoignition=573 K|flashpoint=373 K|paintable=no}}&lt;br /&gt;
{{Structurebox&lt;br /&gt;
 | name             = Tool Manufactory&lt;br /&gt;
 | image            = [[File:Tool manufactory.jpg]]&lt;br /&gt;
 | power_usage      = 100W + Recipe Usage&lt;br /&gt;
 | placed_with_item = [[Kit (Tool Manufactory)]]&lt;br /&gt;
 | placed_on_grid   = Small Grid&lt;br /&gt;
 | requires_frames  = Yes&lt;br /&gt;
&lt;br /&gt;
 | const_with_tool1 = [[Welding Torch]]&lt;br /&gt;
 | const_with_item1 = 2 x [[Iron Sheets]]&lt;br /&gt;
 | decon_with_tool1  = [[Wrench]]&lt;br /&gt;
 | item_rec1         = [[Kit (Tool Manufactory)]]&lt;br /&gt;
&lt;br /&gt;
 | const_with_item2 = 4 x [[Cable Coil]]&lt;br /&gt;
 | decon_with_tool2 = [[Angle Grinder]]&lt;br /&gt;
 | item_rec2        = 2 x [[Iron Sheets]]&lt;br /&gt;
&lt;br /&gt;
 | const_with_tool3 = [[Welding Torch]]&lt;br /&gt;
 | const_with_item3 = 2 x [[Plastic Sheets]]&lt;br /&gt;
 | decon_with_tool3 = [[Wire Cutters]]&lt;br /&gt;
 | item_rec3        = 4 x [[Cable Coil]]&lt;br /&gt;
&lt;br /&gt;
 | const_with_tool4 = [[Screwdriver]]&lt;br /&gt;
 | decon_with_tool4 = [[Angle Grinder]]&lt;br /&gt;
 | item_rec4        = 2 x [[Plastic Sheets]]&lt;br /&gt;
&lt;br /&gt;
 | decon_with_tool5 = [[Hand Drill]]&lt;br /&gt;
|paintable=yes|prefab_hash=336213101|prefab_name=StructureAutolathe}}&lt;br /&gt;
{{Structurebox&lt;br /&gt;
 | name             = Tool Manufactory (Tier Two)&lt;br /&gt;
 | image            = [[File:ToolmanufracturerMK2Front.jpg]]&lt;br /&gt;
 | power_usage      = 100W + Recipe Usage&lt;br /&gt;
 | placed_with_item = [[Tool Printer Mod]]&lt;br /&gt;
 | placed_on_grid   = Small Grid with Tool Manufactory (Tier One)&lt;br /&gt;
 | decon_with_tool1 = [[Hand Drill]]&lt;br /&gt;
 | item_rec1        = [[Tool Printer Mod]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Used to craft a variety of tools, suits and other equipment.&lt;br /&gt;
&lt;br /&gt;
Takes ingots in the left and spits product out of the right. Power button toggles machine power state. Lever will eject materials inside if machine is powered. Arrow buttons select recipe, push the square button in between to craft. Magnifying glass button below the craft button opens a search interface for easier recipe selection.&lt;br /&gt;
&lt;br /&gt;
The Tool Manufactory can be upgraded to a Tier Two version by using its respective [[Mod Kit]] and a [[Welder]] on it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: The machine will continue to craft until the button is pushed again, the entire machine is turned off, or in case it loses power.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;If you want to craft only a single item unattended, start the craft and press any of the arrow buttons.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &#039;&#039;&#039;Tier&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Creation&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Energy Cost&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Material Cost&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Build Time&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! Tier One&lt;br /&gt;
| x1&lt;br /&gt;
| x1&lt;br /&gt;
| x1&lt;br /&gt;
| x1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! Tier Two&lt;br /&gt;
| x1&lt;br /&gt;
| x1,1&lt;br /&gt;
| x1&lt;br /&gt;
| x0,66&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; | Update 0.2.4677.21598 -  Fri 29/12/2023&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:auto; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
== Recipes ==&lt;br /&gt;
Expand to see the recipes.&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Used to create:&#039;&#039;&#039;&lt;br /&gt;
{{:Tool_Manufactory/Recipes}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Machines]]&lt;br /&gt;
[[Category:Fabricators]]&lt;br /&gt;
[[Category:Import/Export]]&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Template:Structurebox&amp;diff=28168</id>
		<title>Template:Structurebox</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Template:Structurebox&amp;diff=28168"/>
		<updated>2026-09-13T12:59:05Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: paintable yesno&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Infobox&lt;br /&gt;
 | name     = Structurebox&lt;br /&gt;
&lt;br /&gt;
 | title    = {{{name}}}&lt;br /&gt;
 | image1   = {{{image|}}}&lt;br /&gt;
 | data2    = {{{other|}}}&lt;br /&gt;
 | label4 = Paintable&lt;br /&gt;
 | data4  = {{{paintable|}}}&lt;br /&gt;
 | label5 = Constructable in Rockets&lt;br /&gt;
 | data5  = {{{constructable_in_rockets|}}}&lt;br /&gt;
 | label6 = Rocket Mass Contribution&lt;br /&gt;
 | data6  = {{{rocket_mass_contribution|}}}&lt;br /&gt;
&lt;br /&gt;
 | header10 = {{ #if: {{{power_usage|}}}{{{burst_pressure|volume|convection|radiation|solar_heating}}} | Operation }}&lt;br /&gt;
 | label11 = Power Usage&lt;br /&gt;
 | data11  = {{{power_usage|}}}&lt;br /&gt;
 | label12 = Burst Pressure&lt;br /&gt;
 | data12  = {{{burst_pressure|}}}&lt;br /&gt;
 | label13 = Volume&lt;br /&gt;
 | data13  = {{{volume|}}}&lt;br /&gt;
 | label14 = Thermal Convection&lt;br /&gt;
 | data14  = {{{convection|}}}&lt;br /&gt;
 | label15 = Thermal Radiation&lt;br /&gt;
 | data15  = {{{radiation|}}}&lt;br /&gt;
 | label16 = Solar Heating&lt;br /&gt;
 | data16  = {{{solar_heating|}}}&lt;br /&gt;
 | label17 = Prefab Hash&lt;br /&gt;
 | data17 = {{#if: {{{prefab_hash|}}} | &amp;lt;span style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{prefab_hash|}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
 | label18 = Prefab Name&lt;br /&gt;
 | data18 = {{#if: {{{prefab_name|}}} | &amp;lt;span style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{prefab_name|}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
 | header20 = Construction&lt;br /&gt;
 |  label21 = Placed with&lt;br /&gt;
 |  data21  = {{{placed_with_item}}}&lt;br /&gt;
 |  label22 = Placed on&lt;br /&gt;
 |  data22  = {{{placed_on_grid}}}&lt;br /&gt;
 |  label23 = Paintable&lt;br /&gt;
 |   data23 = {{Yesno|{{{paintable|}}}|yes=Yes|no=No|default=No}}&lt;br /&gt;
 |  label24 = Requires Frame&lt;br /&gt;
 |   data24 = {{{requires_frames|}}}&lt;br /&gt;
 |  label25 = Is Airtight?&lt;br /&gt;
 |   data25 = {{{airtight|}}}&lt;br /&gt;
&lt;br /&gt;
 | header30 = {{ #if: {{{slot_1|}}}{{{slot_2|}}} | Slots }}&lt;br /&gt;
 |  label31 = Slot 0&lt;br /&gt;
 |  data31 = {{{slot_0|}}}&lt;br /&gt;
 |  label32 = Slot 1&lt;br /&gt;
 |  data32 = {{{slot_1|}}}&lt;br /&gt;
 |  label33 = Slot 2&lt;br /&gt;
 |  data33 = {{{slot_2|}}}&lt;br /&gt;
 |  label34 = Slot 3&lt;br /&gt;
 | data34 = {{{slot_3|}}}&lt;br /&gt;
&lt;br /&gt;
 | header40 = {{ #if: {{{stage_image1|}}}{{{const_with_tool1|}}}{{{const_with_item1|}}}{{{decon_with_tool1|}}}{{{item_rec1|}}}&lt;br /&gt;
               | {{Construction stage&lt;br /&gt;
                  | number          = 1&lt;br /&gt;
                  | image           = {{{stage_image1|}}}&lt;br /&gt;
                  | const_with_tool = {{{const_with_tool1|}}}&lt;br /&gt;
                  | const_with_item = {{{const_with_item1|}}}&lt;br /&gt;
                  | decon_with_tool = {{{decon_with_tool1|}}}&lt;br /&gt;
                  | item_rec        = {{{item_rec1|}}}&lt;br /&gt;
                 }}&lt;br /&gt;
              }}&lt;br /&gt;
&lt;br /&gt;
 | header50 = {{ #if: {{{stage_image2|}}}{{{const_with_tool2|}}}{{{const_with_item2|}}}{{{decon_with_tool2|}}}{{{item_rec2|}}}&lt;br /&gt;
               | {{Construction stage&lt;br /&gt;
                  | number          = 2&lt;br /&gt;
                  | image           = {{{stage_image2|}}}&lt;br /&gt;
                  | const_with_tool = {{{const_with_tool2|}}}&lt;br /&gt;
                  | const_with_item = {{{const_with_item2|}}}&lt;br /&gt;
                  | decon_with_tool = {{{decon_with_tool2|}}}&lt;br /&gt;
                  | item_rec        = {{{item_rec2|}}}&lt;br /&gt;
                 }}&lt;br /&gt;
              }}&lt;br /&gt;
&lt;br /&gt;
 | header60 = {{ #if: {{{stage_image3|}}}{{{const_with_tool3|}}}{{{const_with_item3|}}}{{{decon_with_tool3|}}}{{{item_rec3|}}}&lt;br /&gt;
               | {{Construction stage&lt;br /&gt;
                  | number          = 3&lt;br /&gt;
                  | image           = {{{stage_image3|}}}&lt;br /&gt;
                  | const_with_tool = {{{const_with_tool3|}}}&lt;br /&gt;
                  | const_with_item = {{{const_with_item3|}}}&lt;br /&gt;
                  | decon_with_tool = {{{decon_with_tool3|}}}&lt;br /&gt;
                  | item_rec        = {{{item_rec3|}}}&lt;br /&gt;
                 }}&lt;br /&gt;
              }}&lt;br /&gt;
&lt;br /&gt;
 | header70 = {{ #if: {{{stage_image4|}}}{{{const_with_tool4|}}}{{{const_with_item4|}}}{{{decon_with_tool4|}}}{{{item_rec4|}}}&lt;br /&gt;
               | {{Construction stage&lt;br /&gt;
                  | number          = 4&lt;br /&gt;
                  | image           = {{{stage_image4|}}}&lt;br /&gt;
                  | const_with_tool = {{{const_with_tool4|}}}&lt;br /&gt;
                  | const_with_item = {{{const_with_item4|}}}&lt;br /&gt;
                  | decon_with_tool = {{{decon_with_tool4|}}}&lt;br /&gt;
                  | item_rec        = {{{item_rec4|}}}&lt;br /&gt;
                 }}&lt;br /&gt;
              }}&lt;br /&gt;
&lt;br /&gt;
 | header80 = {{ #if: {{{stage_image5|}}}{{{const_with_tool5|}}}{{{const_with_item5|}}}{{{decon_with_tool5|}}}{{{item_rec5|}}}&lt;br /&gt;
               | {{Construction stage&lt;br /&gt;
                  | number          = 5&lt;br /&gt;
                  | image           = {{{stage_image5|}}}&lt;br /&gt;
                  | const_with_tool = {{{const_with_tool5|}}}&lt;br /&gt;
                  | const_with_item = {{{const_with_item5|}}}&lt;br /&gt;
                  | decon_with_tool = {{{decon_with_tool5|}}}&lt;br /&gt;
                  | item_rec        = {{{item_rec5|}}}&lt;br /&gt;
                 }}&lt;br /&gt;
              }}&lt;br /&gt;
 | header90 = {{ #if: {{{stage_image6|}}}{{{const_with_tool6|}}}{{{const_with_item6|}}}{{{decon_with_tool6|}}}{{{item_rec6|}}}&lt;br /&gt;
               | {{Construction stage&lt;br /&gt;
                  | number          = 6&lt;br /&gt;
                  | image           = {{{stage_image6|}}}&lt;br /&gt;
                  | const_with_tool = {{{const_with_tool6|}}}&lt;br /&gt;
                  | const_with_item = {{{const_with_item6|}}}&lt;br /&gt;
                  | decon_with_tool = {{{decon_with_tool6|}}}&lt;br /&gt;
                  | item_rec        = {{{item_rec6|}}}&lt;br /&gt;
                 }}&lt;br /&gt;
              }}&lt;br /&gt;
}} [[Category:Structures]] {{ #if: {{{prefab_hash|}}} | | [[Category:Infobox without prefab data]] }} {{ #if: {{{prefab_name|}}} | | [[Category:Infobox without prefab data]] }} &amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Documentation}}&lt;br /&gt;
&amp;lt;!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Duct_Tape&amp;diff=28167</id>
		<title>Duct Tape</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Duct_Tape&amp;diff=28167"/>
		<updated>2026-09-13T12:56:25Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: update data&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tools]]&lt;br /&gt;
{{Itembox&lt;br /&gt;
 | name        = Duct Tape&lt;br /&gt;
 | image       =  [[File:{{#setmainimage:ItemDuctTape.png}}]]&lt;br /&gt;
 |recipe_machine1=Tool Manufactory|recipe_cost1=2g [[Iron]]|prefabhash=-1943134693|prefabname=ItemDuctTape|stacks=1|flashpoint=323 K|autoignition=373 K|paintable=no}}&lt;br /&gt;
{{Itembox&lt;br /&gt;
 | name        = Duct Tape Mk II&lt;br /&gt;
 | image       =  [[File:{{#setmainimage:Duct Tape Mk II.png}}]]&lt;br /&gt;
 |recipe_machine1=Tool Manufactory (Tier Two)|recipe_cost1=2g [[Iron]], 1g [[Electrum]]|prefabhash=388774906|prefabname=ItemMKIIDuctTape|stacks=1|autoignition=973 K|flashpoint=873 K|paintable=no}}&lt;br /&gt;
== Description ==&lt;br /&gt;
[[Duct Tape]] mainly serves as a Suit repair consumable, enabling the player to repair a suit rupture. It is [[Starting Gear| an item the player starts with]]. It can also be used to repair other things like portable machinery and canisters. Solar panels that have been damaged during a [[storm]] can also be repaired with [[Duct Tape]]. The amount used and how long it takes to repair are dependent on the damage the object has sustained.&lt;br /&gt;
&lt;br /&gt;
== Duct Tape Mk II==&lt;br /&gt;
Is functionally the same as normal [[Duct Tape]] but repairs 1.5x faster&amp;lt;!-- MkII tape has a RepairSpeed of 20 while regular tape has a RepairSpeed of 30. Repair duration is RepairQuantity*RepairSpeed. --&amp;gt; and has a flash point of 873K (599.85°C), and a autoignition of 973K (699.85°C). Where as the normal &lt;br /&gt;
[[Duct Tape]] has a flash point of 323.15K (50°C), and a autoignition of 373.15K (100°C). As such, its designed for much hotter environments like [[Vulcan]] or [[Planets#Venus|Venus]], hence why its in your [[Starting Gear|starter kit]] on those two planets instead of normal [[Duct Tape]].&lt;br /&gt;
&lt;br /&gt;
== Use ==&lt;br /&gt;
Press right-click while in active hands to use and repair suit damage. Left click and hold when facing a damaged object to repair said damaged object.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
* When a Suit/Helmet is repaired it will repair the rupture but not the durability, the only way to restore a suits durability is by replacing the suit with a brand new one.&lt;br /&gt;
* A ruptured suit that has been repaired with [[Duct Tape]] may work perfectly fine. But as a suit loses durability it will be less efficient at its normal operations. So when a suit has lost a lot of durability, it&#039;s worth replacing both for a much more functionally efficient suit, and so that the next collision does not break the suit, leaving you in a uninhabitable environment without one.&lt;br /&gt;
&lt;br /&gt;
[[File:Suitleak-caution.png|200px|frame|left|Suit rupture status icon]]&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Mining_Drill&amp;diff=28166</id>
		<title>Mining Drill</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Mining_Drill&amp;diff=28166"/>
		<updated>2026-09-13T12:52:06Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: update data&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Itembox&lt;br /&gt;
 | name        = Mining Drill&lt;br /&gt;
 | image       = [[File:{{#setmainimage:ItemMiningDrill.png}}]]&lt;br /&gt;
 | stacks      = No&lt;br /&gt;
 |recipe_machine1=Tool Manufactory|recipe_cost1=3g [[Iron]], 2g [[Copper]]|prefabhash=1055173191|prefabname=ItemMiningDrill|autoignition=523 K|flashpoint=373 K|paintable=yes}}&lt;br /&gt;
{{Itembox&lt;br /&gt;
 | name        = Mk II Mining Drill&lt;br /&gt;
 | image       = [[File:{{#setmainimage:ItemMKIIMiningDrill.png}}]]&lt;br /&gt;
 | stacks      = No&lt;br /&gt;
 |recipe_machine1=Tool Manufactory (Tier Two)|recipe_cost1=10g [[Steel]], 5g [[Electrum]], 10g [[Invar]], 10g [[Solder]]|prefabhash=-1663349918|prefabname=ItemMiningDrillHeavy|paintable=yes|autoignition=973 K|flashpoint=873 K}}&lt;br /&gt;
== Description ==&lt;br /&gt;
The Mining Drill is one of the [[Starting_Gear|tools you start with]]. Used to mine and requires a [[Battery_Cell|battery]] to operate.&lt;br /&gt;
*Right Click (Default button) to turn on and off.&lt;br /&gt;
*Press R (Default button) to cycle through menu, scroll to go through menu, and F (Default button) to select.&lt;br /&gt;
The MK II version, is resistant to high temperatures, thus really only being useful in hot atmospheres such as [[Worlds#Vulcan|Vulcan]] and [[Worlds#Venus|Venus]].&lt;br /&gt;
&lt;br /&gt;
A faster [[Mining Drill (Heavy)]] can be made from the [[Tool Manufactory]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Mining_Drill_(Heavy)&amp;diff=28164</id>
		<title>Mining Drill (Heavy)</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Mining_Drill_(Heavy)&amp;diff=28164"/>
		<updated>2026-09-13T07:13:18Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: drilling about&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Itembox&lt;br /&gt;
| name = Mining Drill (Heavy)&lt;br /&gt;
| image =  [[File:{{#setmainimage:ItemMiningDrillHeavy.png}}]]&lt;br /&gt;
| stacks = No&lt;br /&gt;
| recipe_machine1 = Tool Manufactory (Tier Two)&lt;br /&gt;
| recipe_cost1 = 10g [[Steel]], 10g [[Solder]], 5g [[Electrum]], 10g [[Invar]]&lt;br /&gt;
| prefabhash = -1663349918&lt;br /&gt;
| prefabname = ItemMiningDrillHeavy&lt;br /&gt;
| paintable = yes&lt;br /&gt;
| autoignition = 973 K&lt;br /&gt;
| flashpoint = 873 K&lt;br /&gt;
}}&lt;br /&gt;
{{Stationpedia|Sometimes mining trips require something a little bigger to bring home the goods. This scaled up version of the [[Recurso]] &#039;Topo&#039; design [[Mining Drill]] can literally move mountains. The heavy mining drill will remove more ground and mine [[ore]] more quickly than the standard mining drill. The heavy mining drill is also resilient to temperature and pressure. So no matter what planet or extreme weather conditions may be present, the Recurso heavy mining drill will get the job done.}}&lt;br /&gt;
== Description ==&lt;br /&gt;
The Mining Drill (Heavy) has 2 modes, default and flatten, where the flatten mode levels the ground (it can not dig down). The drill is used for mining, and requires a [[Battery_Cell|battery]] to operate.&lt;br /&gt;
&lt;br /&gt;
The benefit of this drill is that it mines much faster than the [[Mining_Drill|Mining Drill]]. Unlike the standard Mining Drill, the Mining Drill (Heavy) does not have a &amp;quot;Mk II&amp;quot; variant, as the base model has the same temperature tolerance as a Mk II of the standard Mining Drill.  This makes it just as useful on extremely hot planets like [[Worlds#Vulcan|Vulcan]] as on other planets.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Mining Drill]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Integrated_Circuit_(IC10)&amp;diff=28163</id>
		<title>Integrated Circuit (IC10)</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Integrated_Circuit_(IC10)&amp;diff=28163"/>
		<updated>2026-09-13T07:04:03Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: update data&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Circuits]][[Category:Electronic]]&lt;br /&gt;
[[Category:IC10 Programming]]&lt;br /&gt;
&lt;br /&gt;
{{Itembox&lt;br /&gt;
 | name        = Integrated Circuit (IC10)&lt;br /&gt;
 | image       = [[File:IC 10.png|thumb|IC Housing and IC10 disassembled]]&lt;br /&gt;
 | stacks      = No&lt;br /&gt;
|recipe_machine1=Electronics Printer|recipe_cost1=10 [[Gold]], 4 [[Steel]], 5 [[Electrum]], 2 [[Solder]]|prefabhash=-744098481|prefabname=ItemIntegratedCircuit10|paintable=yes}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A chip that is programmed with a computer. Place the circuit in a [[Kit (IC Housing)|IC Housing]] or directly into the programmable slot of certain devices, e.g. [[Kit (Atmospherics)|Atmospherics]].  The [[IC10]] language is used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Where to get programs =&lt;br /&gt;
* Write one by yourself using the [[Computer]] or [[Laptop]].&lt;br /&gt;
* Paste whatever you have found on the internet into your computer.&lt;br /&gt;
* Load from your private library program you have saved previously (even from different savegame).&lt;br /&gt;
* Get one from Steam Workshop (first subscribe in steam, then in game it will be available in &amp;quot;library&amp;quot; on computer).&lt;br /&gt;
&lt;br /&gt;
= How to create programs =&lt;br /&gt;
== You&#039;ll need ==&lt;br /&gt;
# Basic knowledge about math and [[logic]]&lt;br /&gt;
# Whatever you&#039;re intending to program (e.g.: cycling [[airlock]]) you must learn to do manually (e.g.: close doors, turn on vents, etc.)&lt;br /&gt;
# (Optional) Learn some of the basics of the [[MIPS]] programming language. MIPS is real [[world]] low-level (i.e. close to hardware) programming language. IC10 is MIPS with some [[Stationeers]] flavor added. It is fairly simple and compact. Due to its simplicity MIPS is not suitable for big programs but you&#039;re really not going to develop those in the game anyways.&lt;br /&gt;
&lt;br /&gt;
== How to start getting in IC10 programing ==&lt;br /&gt;
Get some simple program (even 10 lines will do), run it in Stationeers to see what it does and then read the text. Look into ingame editor help pages to decrypt keywords. IC10 keywords are abbreviations of English words and mostly make sense, eg. &amp;lt;code&amp;gt;beqz r0 foobar&amp;lt;/code&amp;gt; means &amp;quot;&#039;&#039;&#039;B&#039;&#039;&#039;ranch (jump) to line labeled foobar if r0 &#039;&#039;&#039;EQ&#039;&#039;&#039;uals to &#039;&#039;&#039;Z&#039;&#039;&#039;ero&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= How to flash program onto the IC chip =&lt;br /&gt;
# Setup a [[Computer]], wire it to [[power]].&lt;br /&gt;
# Insert a [[Motherboard (IC Editor)]] in it.&lt;br /&gt;
# Place [[Kit (IC Housing)|IC Housing]].&lt;br /&gt;
# Wire DATA (green, right) port of the computer to DATA (green, bottom) port on the [[IC Housing]].&lt;br /&gt;
## Unless you&#039;re going to actually use/test your program in this particular IC Housing you do not need to power it.&lt;br /&gt;
# Insert [[Integrated Circuit (IC10)]] into [[Kit (IC Housing)|IC Housing]].&lt;br /&gt;
# Turn on the Computer, look at its screen and see if your IC Housing is listed and selected in the drop-down selector. You can have several IC Housings on the same data network, in that case better be renaming them using [[Labeller]]. The IC10 Integrated Circuit itself can also be labeled (and painted).&lt;br /&gt;
## Optional: click &amp;quot;Import&amp;quot; to retrieve a program from the [[Integrated Circuit (IC10)]] into the computer.&lt;br /&gt;
# Click &amp;quot;Edit&amp;quot; to open the code editor. Write/load from &amp;quot;Library&amp;quot;/paste your program, click &amp;quot;Confirm&amp;quot;.&lt;br /&gt;
# Now Computer contains the new program and Integrated Circuit still contains old one (or empty program). Click &amp;quot;Export&amp;quot; on the computer to copy the program into the Circuit. If the IC housing is powered the program will immediately run. You can repeat &amp;quot;Export&amp;quot; as many times as you want and reuse old [[Circuits]].&lt;br /&gt;
# When Circuit is picked up size of the stored program in bytes is shown.&lt;br /&gt;
&lt;br /&gt;
Note: Steps 1-6 can be used with a [[Laptop]] now as well.  The laptop includes an IC housing so you don&#039;t have to place your own and wire it to edit chips.  This is limited to editing chips that are in the laptop (1 at a [[time]]) and cannot be used to edit chips already on the network.&lt;br /&gt;
&lt;br /&gt;
= How to make use of programmed IC Integrated Circuit =&lt;br /&gt;
# Place [[Kit (IC Housing)|IC Housing]], wire it to power, insert the Circuit&lt;br /&gt;
# Connect DATA (green, bottom) port on the IC Housing to machines you want to control. Some machines like an [[Autolathe]] have a DATA port, you need to use it (or both DATA and POWER). Some machines like a [[Stacker]] only have &amp;quot;universal&amp;quot; port.&lt;br /&gt;
# Unless you&#039;re going to modify/debug your program on place you do not require a [[Computer]] here.&lt;br /&gt;
# Using [[Screwdriver]] adjust six (or less) screws according to program description/purpose. Many programs do assign labels to screws using &amp;lt;code&amp;gt;alias&amp;lt;/code&amp;gt; command (that&#039;s considered good style), to take benefit of it you can turn on IC Housing for a short time (that way it will blink yellow, it&#039;s okay). If all screws are set to &amp;quot;None&amp;quot; a misconfigured program can do no harm.&lt;br /&gt;
# Turn on the IC Housing.&lt;br /&gt;
&lt;br /&gt;
= How large a program can be =&lt;br /&gt;
There are 128 lines each being 90 characters long. Each character takes 1 byte. Line breaks take 2 bytes. The Maximum size an IC chip can be is limited to 4096 bytes.&lt;br /&gt;
&lt;br /&gt;
= What is kept and what resets =&lt;br /&gt;
&lt;br /&gt;
Contrary to what maybe some players expect, the internal states of a Integrated Circuit do not get reset upon various events; furthermore, turning it off and on again does not always helps to resolve issues. The table below explains what and when is reset if ever:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Circuit state&lt;br /&gt;
|-&lt;br /&gt;
!  !! Program code !! Current line&amp;lt;ref name=note1&amp;gt;Technically the current line and error state belong to the IC housing and can be read from it via the data parameters.&amp;lt;/ref&amp;gt; !! Registers !! Stack !! Error state&amp;lt;ref name=note1/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| On insertion || kept || &#039;&#039;resets to 0&#039;&#039; || kept || kept || &#039;&#039;cleared&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| On power switched or external power regained || kept || kept || kept || kept || &#039;&#039;cleared&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| On error || kept || kept || kept || kept || &#039;&#039;error state raised, execution paused&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| On program flashed from computer || &#039;&#039;new&#039;&#039; || &#039;&#039;resets to 0&#039;&#039; || kept || kept || &#039;&#039;cleared&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| On program end || kept || &#039;&#039;current (last) line held forever&#039;&#039; || kept || kept || kept&lt;br /&gt;
|-&lt;br /&gt;
| On screw turned || kept || kept || kept || kept || &#039;&#039;cleared&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
As one can see, the chip&#039;s stack and registers are never cleared automatically. A chip that was used and repurposed multiple times might have stored all kinds of data in its memory instead of some nice and comfortable initial zeroes. If a program in its working loop relies on the certain registers being initially zeroed it might not be the case which leads to program displaying a confusing behavior. Never use initialized variables, unless you know what you&#039;re doing (which might be some high order digital wizardry like initializing the registers and stack once with some &#039;&#039;program1&#039;&#039; and then utilizing it by the &#039;&#039;program2&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
The IC Housing&#039;s screw names set via &amp;lt;code&amp;gt;alias&amp;lt;/code&amp;gt; and the  &amp;lt;code&amp;gt;Setting&amp;lt;/code&amp;gt; parameter are also kept in all cases unless the IC Housing gets disassembled.&lt;br /&gt;
&lt;br /&gt;
= Equipment with IC slots =&lt;br /&gt;
* [[Kit (IC Housing)|IC Housing]]&lt;br /&gt;
* [[Laptop]]&lt;br /&gt;
* [[Hardsuit]] and [[ HARM Suit]]&lt;br /&gt;
* [[Filtration]]&lt;br /&gt;
* [[Combustor]]&lt;br /&gt;
* [[Fermenter]]&lt;br /&gt;
* [[AIMEe]]&lt;br /&gt;
* [[Combustion Centrifuge]]&lt;br /&gt;
&#039;&#039;To be expanded&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
* [[IC10]] — basic info and command reference&lt;br /&gt;
* [[Advanced IC10 Programming]]&lt;br /&gt;
* [[WebEditor]] - Various web simulators and editors for IC10. Support partially simulating presence of different devices.&lt;br /&gt;
** [https://stationeering.com/tools/ic stationeering.com] by Melair - IC simulator and a web version of the in-game guidebook&lt;br /&gt;
** [https://ic10.dev/ ic10.dev] by Traineratwot&lt;br /&gt;
** [https://ic10emu.dev ic10emu.dev] by Ryex&lt;br /&gt;
* Syntax highlighting plugins for various editors&lt;br /&gt;
** [https://marketplace.visualstudio.com/items?itemName=Traineratwot.stationeers-ic10 Visual Studio Code] - (Dec 12th 2023)&lt;br /&gt;
** [https://pastebin.com/6Uw1KSRN KDE kwrite/kate text editor] - (Oct 5th 2020)&lt;br /&gt;
** [https://pastebin.com/3kmGy0NN Notepad++] - (Mar 23rd 2024)&lt;br /&gt;
** [https://drive.google.com/file/d/1Xrv5U0ZI5jDcPv7yX7EAAxaGk5hKP0xO/view?usp=sharing Notepad++] - (Aug 11th 2022)&lt;br /&gt;
** [https://drive.google.com/file/d/1yEsJ-u94OkuMQ8K6fY7Ja1HNpLcAdjo_/view Notepad++] - (Dec 1st 2018)&lt;br /&gt;
* [https://github.com/jtwm-0677/Basic-10-Download BasIC-10 Download] A modernized BASIC to IC-10 compiler released in late 2025, for Stationeers MIPS Programming, Open Source, Developed in C#, no unity dependencies, By Dog Tired Studios&lt;br /&gt;
* [https://github.com/exca/Stationeers-IC10-Automation/tree/main/Basic-IC10 BASIC compiler] A BASIC compiler for Stationeers MIPS IC10 code, developed in C#, in Unity, by Exca&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Laptop&amp;diff=28162</id>
		<title>Laptop</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Laptop&amp;diff=28162"/>
		<updated>2026-09-13T07:02:32Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: laptop&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Itembox&lt;br /&gt;
 | name        = Laptop&lt;br /&gt;
 | image       = [[File:{{#setmainimage:ItemLaptop.png}}]]&lt;br /&gt;
 | stacks      = No&lt;br /&gt;
| slot_class = SlotClass.Tool&lt;br /&gt;
| sorting_class = SortingClass.Tools&lt;br /&gt;
 | prefabhash  = 141535121&lt;br /&gt;
 | prefabname  = ItemLaptop&lt;br /&gt;
 |recipe_machine1=Electronics Printer (Tier Two)|recipe_cost1=12g [[Gold]] , 5.5g [[Copper]], 2g [[Steel]], 5g [[Electrum]], 5g [[Solder]]|autoignition=573 K|flashpoint=373 K|paintable=yes}}&lt;br /&gt;
{{Stationpedia|The Laptop functions as a portable IC editor. To operate the Laptop it must be powered with a battery, have a [[IC Editor Motherboard]] in the motherboard slot, and an [[Integrated Circuit (IC10)]] in the Programmable Chip Slot.}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The Laptop has 3 slots, 1 for a battery, 1 for a [[Motherboard]], and 1 for an [[Integrated Circuit (IC10)]]&lt;br /&gt;
&lt;br /&gt;
== Use ==&lt;br /&gt;
The Laptop is extremely useful when given an IC Editor [[Motherboard]] as it allows the user to edit IC code on the go without setting up a [[Computer]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Labeller&amp;diff=28161</id>
		<title>Labeller</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Labeller&amp;diff=28161"/>
		<updated>2026-09-13T06:59:47Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: cats&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tools]]&lt;br /&gt;
&lt;br /&gt;
{{Itembox&lt;br /&gt;
| name = Labeller&lt;br /&gt;
| image =  [[File:{{#setmainimage:ItemLabeller.png}}]]&lt;br /&gt;
| stacks = No&lt;br /&gt;
| slot_class = SlotClass.Tool&lt;br /&gt;
| sorting_class = SortingClass.Tools&lt;br /&gt;
| recipe_machine1 = Electronics Printer&lt;br /&gt;
| recipe_cost1 = 3g [[Iron]], 1g [[Gold]], 2g [[Copper]]&lt;br /&gt;
| prefabhash = -743968726&lt;br /&gt;
| prefabname = ItemLabeller&lt;br /&gt;
| autoignition = 373 K&lt;br /&gt;
| flashpoint = 523 K&lt;br /&gt;
| paintable = yes&lt;br /&gt;
| recipe_machine2 = Tool Manufactory&lt;br /&gt;
| recipe_cost2 = 2g [[Iron]], 1g [[Gold]]&lt;br /&gt;
}}&lt;br /&gt;
{{Stationpedia|A labeller lets you set names and values on a variety of devices and structures, including [[Console]] and [[Logic]].}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
[[Labeller]] is one of the [[Starting Gear| tools you start with]]. Used to re-name objects in the game. Renaming objects is useful for distinguishing items during [[Console]] configuration or selecting values from [[Logic]] chips&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Labeller can be used for setting a value, use it on knob or button and write value.&lt;br /&gt;
&lt;br /&gt;
== Use ==&lt;br /&gt;
Use left-click while in active hands to use.&lt;br /&gt;
&lt;br /&gt;
== Special Cases ==&lt;br /&gt;
When used on [[Composite Door| composite doors]] the name of the door will be visible to the player.&lt;br /&gt;
&lt;br /&gt;
== Text Formatting ==&lt;br /&gt;
You can modify attributes of the text (size, color, etc.)&amp;lt;br&amp;gt;&lt;br /&gt;
Current tags:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;color=c&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
c=white, red, orange, yellow, green, blue, purple, or black&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;size=n&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
n=0.01-40 (anything above or below throws an error for being out of range&amp;lt;br&amp;gt;&lt;br /&gt;
http://digitalnativestudios.com/textmeshpro/docs/rich-text/&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Angle_Grinder&amp;diff=28160</id>
		<title>Angle Grinder</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Angle_Grinder&amp;diff=28160"/>
		<updated>2026-09-13T06:57:31Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: angle grinder&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Itembox&lt;br /&gt;
| name        = Angle Grinder&lt;br /&gt;
| image       =  [[File:{{#setmainimage:ItemAngleGrinder.png}}]]&lt;br /&gt;
| prefabhash = 201215010&lt;br /&gt;
| prefabname = ItemAngleGrinder&lt;br /&gt;
| stacks = 1&lt;br /&gt;
| slot_class = SlotClass.Tool&lt;br /&gt;
| sorting_class = SortingClass.Tools&lt;br /&gt;
| recipe_machine1 = Tool Manufactory&lt;br /&gt;
| recipe_cost1 = 3g [[Iron]], 1g [[Copper]]&lt;br /&gt;
|paintable=yes|autoignition=523 K|flashpoint=373 K}}&lt;br /&gt;
{{Itembox&lt;br /&gt;
| name        = Angle Grinder Mk II&lt;br /&gt;
| image       =  [[File:{{#setmainimage:ItemMKIIAngleGrinder.png}}]]&lt;br /&gt;
| prefabhash = 240174650&lt;br /&gt;
| prefabname = ItemMKIIAngleGrinder&lt;br /&gt;
| stacks = 1&lt;br /&gt;
| slot_class = SlotClass.Tool&lt;br /&gt;
| sorting_class = SortingClass.Tools&lt;br /&gt;
| recipe_machine1 = Tool Manufactory (Tier Two)&lt;br /&gt;
| recipe_cost1 = 3g [[Iron]], 1g [[Copper]], 4g [[Electrum]]&lt;br /&gt;
|autoignition=973 K|flashpoint=873 K|paintable=yes}}&lt;br /&gt;
{{Stationpedia|Angles-be-gone with the trusty angle grinder.}}&lt;br /&gt;
== Description ==&lt;br /&gt;
[[Angle Grinder|Angle Grinder]] is one of the [[Starting Gear| tools you start with]]. Takes a battery cell to power.&lt;br /&gt;
&lt;br /&gt;
The MK II version, is resistant to high temperatures, thus really only being useful in hot atmosphere&#039;s such as [[Worlds#Vulcan|Vulcan]] and [[Worlds#Venus|Venus]].&lt;br /&gt;
&lt;br /&gt;
== Use ==&lt;br /&gt;
Use left-click while in the active hand to use.&lt;br /&gt;
Can be used to deconstruct [[Iron_Frames|iron]] or [[Steel_Frames|steel]] frames after removing their sheets with the [[Wrench|Wrench]].&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Template:Sandbox_other/doc&amp;diff=28159</id>
		<title>Template:Sandbox other/doc</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Template:Sandbox_other/doc&amp;diff=28159"/>
		<updated>2026-09-13T06:48:48Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: docsdocsdocs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation subpage}}&lt;br /&gt;
&lt;br /&gt;
{{Sandbox other||{{Not a sandbox}}}}&lt;br /&gt;
&lt;br /&gt;
{{Lua|Module:String}}&lt;br /&gt;
&lt;br /&gt;
This template allows to differentiate between regular &amp;lt;code&amp;gt;Template:...&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Template:.../sandbox&amp;lt;/code&amp;gt; pages. It is typically used to &#039;&#039;prevent&#039;&#039; a /sandbox page being categorised with their main page.&lt;br /&gt;
&lt;br /&gt;
;Also: when numbered /sandbox1&lt;br /&gt;
Any subpage &amp;lt;code&amp;gt;/sandbox&#039;&#039;ANYTEXT&#039;&#039;&amp;lt;/code&amp;gt; is considered a &amp;lt;code&amp;gt;/sandbox&amp;lt;/code&amp;gt;. So this includes &amp;lt;code&amp;gt;/sandbox&#039;&#039;1&#039;&#039;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/sandbox_2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
;Also: /doc&lt;br /&gt;
A &amp;lt;code&amp;gt;/doc&amp;lt;/code&amp;gt; subpage is also considered a &amp;lt;code&amp;gt;/sandbox&amp;lt;/code&amp;gt; by this template.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
This template can be used on template documentation pages to ensure that any given template sandbox or template documentation does not populate its main template&#039;s category(ies).&lt;br /&gt;
&lt;br /&gt;
This template has two unnamed parameters, {{Para|1}} and {{Para|2}}. Near the bottom of a /doc page where the categories are usually placed, install this template as follows:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{Documentation subpage}}&lt;br /&gt;
&amp;lt;!-- all /documentation code goes here --&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories the main template should be in, but not the /sandbox: --&amp;gt;&lt;br /&gt;
[[Category:(first category)]]&lt;br /&gt;
[[Category:(second category)]]&lt;br /&gt;
&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Usage of an empty first parameter (two pipes together, {{Code|&amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;}}, at the end of the first line of code above) essentially means {{Para|1|(do nothing)}} and will not allow the sandbox page to populate the listed categories.&lt;br /&gt;
* Note that the closing template braces ({{Code|&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;}}) are placed just before the &amp;amp;#60;/includeonly&amp;gt; tag.  This is the same as {{Para|2|(category comment and categories)}}.  In &amp;quot;long hand&amp;quot; it may appear as follows:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other|1=&amp;lt;!-- keep sandbox out of categories --&amp;gt;|2=&lt;br /&gt;
&amp;lt;!-- Please, categories go below this line and interwikis go to Wikidata --&amp;gt;&lt;br /&gt;
[[Category:(first category)]]&lt;br /&gt;
[[Category:(second category)]]&lt;br /&gt;
(more categories if needed)&lt;br /&gt;
&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TemplateData ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;This template allows to differentiate between regular Template:... and Template:.../sandbox pages.&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;inline&amp;quot;,&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Sandbox text&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;content&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;2&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Non-sandbox text&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;content&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Please, categories below this line and interwikis at Wikidata. --&amp;gt;&lt;br /&gt;
[[Category:Pagename manipulation templates]]&lt;br /&gt;
[[Category:If-then-else templates]]&lt;br /&gt;
[[Category:Template namespace templates]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=File:Lua-Logo-nolabel.svg&amp;diff=28158</id>
		<title>File:Lua-Logo-nolabel.svg</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=File:Lua-Logo-nolabel.svg&amp;diff=28158"/>
		<updated>2026-09-13T06:48:08Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: Letter Y moved page File:Lua-Logo-nolabel.svg to File:Lua-logo-nolabel.svg: im a dumbass this single char isnt capital&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[File:Lua-logo-nolabel.svg]]&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=File:Lua-logo-nolabel.svg&amp;diff=28157</id>
		<title>File:Lua-logo-nolabel.svg</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=File:Lua-logo-nolabel.svg&amp;diff=28157"/>
		<updated>2026-09-13T06:48:08Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: Letter Y moved page File:Lua-Logo-nolabel.svg to File:Lua-logo-nolabel.svg: im a dumbass this single char isnt capital&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[File:Lua-Logo.svg]]&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=File:Lua-logo-nolabel.svg&amp;diff=28156</id>
		<title>File:Lua-logo-nolabel.svg</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=File:Lua-logo-nolabel.svg&amp;diff=28156"/>
		<updated>2026-09-13T06:46:37Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[File:Lua-Logo.svg]]&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=File:Lua-Logo.svg&amp;diff=28155</id>
		<title>File:Lua-Logo.svg</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=File:Lua-Logo.svg&amp;diff=28155"/>
		<updated>2026-09-13T06:40:51Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: Uploaded own work with UploadWizard&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{int:filedesc}}==&lt;br /&gt;
{{Information&lt;br /&gt;
|description={{en|1=The logo of Lua – lightweight programming language}}&lt;br /&gt;
|date=2000-11-29&lt;br /&gt;
|source={{own}}&lt;br /&gt;
|author=[[User:Letter Y|Letter Y]]&lt;br /&gt;
|permission=&lt;br /&gt;
|other versions=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/File:Lua-logo-nolabel.svg&lt;br /&gt;
&lt;br /&gt;
=={{int:license-header}}==&lt;br /&gt;
{{licensing|Generic}}&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Module:String/testcases&amp;diff=28154</id>
		<title>Module:String/testcases</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Module:String/testcases&amp;diff=28154"/>
		<updated>2026-09-13T06:35:24Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: tesT&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- Unit tests for [[Module:String]]. Click talk page to run tests.&lt;br /&gt;
local p = require(&#039;Module:UnitTests&#039;)&lt;br /&gt;
&lt;br /&gt;
function p:test_len()&lt;br /&gt;
	local cases = {&lt;br /&gt;
		{&#039; foo &#039;, &#039;5&#039;},&lt;br /&gt;
		{&#039;s= foo &#039;, &#039;3&#039;},&lt;br /&gt;
		{&#039;&#039;, &#039;0&#039;},&lt;br /&gt;
		{&#039;s=&#039;, &#039;0&#039;},&lt;br /&gt;
		{&#039;   &#039;, &#039;3&#039;},&lt;br /&gt;
		{&#039;最近の更新&#039;, &#039;5&#039;},&lt;br /&gt;
	}&lt;br /&gt;
	self:preprocess_equals_many(&#039;{{#invoke:String|len|&#039;, &#039;}}&#039;, cases)&lt;br /&gt;
	self:preprocess_equals_many(&#039;{{#invoke:String/sandbox|len|&#039;, &#039;}}&#039;, cases)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_sub()&lt;br /&gt;
	local cases = {&lt;br /&gt;
		{&#039;Lorem ipsum&#039;, &#039;Lorem ipsum&#039;},&lt;br /&gt;
		{&#039; Lorem ipsum &#039;, &#039; Lorem ipsum &#039;},&lt;br /&gt;
		{&#039;s= Lorem ipsum &#039;, &#039;Lorem ipsum&#039;},&lt;br /&gt;
		{&#039;Lorem ipsum|1&#039;, &#039;Lorem ipsum&#039;},&lt;br /&gt;
		{&#039;Lorem ipsum|2&#039;, &#039;orem ipsum&#039;},&lt;br /&gt;
		{&#039;Lorem ipsum|-5&#039;, &#039;ipsum&#039;},&lt;br /&gt;
		{&#039;Lorem ipsum|-1&#039;, &#039;m&#039;},&lt;br /&gt;
		{&#039;Lorem ipsum|11&#039;, &#039;m&#039;},&lt;br /&gt;
		{&#039;Lorem ipsum||11&#039;, &#039;Lorem ipsum&#039;},&lt;br /&gt;
		{&#039;Lorem ipsum||10&#039;, &#039;Lorem ipsu&#039;},&lt;br /&gt;
		{&#039;Lorem ipsum||-1&#039;, &#039;Lorem ipsum&#039;},&lt;br /&gt;
		{&#039;Lorem ipsum||-2&#039;, &#039;Lorem ipsu&#039;},&lt;br /&gt;
		{&#039;Lorem ipsum||-11&#039;, &#039;L&#039;},&lt;br /&gt;
		{&#039;Lorem ipsum|1|11&#039;, &#039;Lorem ipsum&#039;},&lt;br /&gt;
		{&#039;Lorem ipsum|2|10&#039;, &#039;orem ipsu&#039;},&lt;br /&gt;
		{&#039;Lorem ipsum|1|-1&#039;, &#039;Lorem ipsum&#039;},&lt;br /&gt;
		{&#039;Lorem ipsum|2|-2&#039;, &#039;orem ipsu&#039;},&lt;br /&gt;
		{&#039;Lorem ipsum|7|-5&#039;, &#039;i&#039;},&lt;br /&gt;
		{&#039;s=Lorem ipsum|i=7|j=-5&#039;, &#039;i&#039;},&lt;br /&gt;
&lt;br /&gt;
		{&#039;|no_category=true&#039;, &#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;String Module Error: String subset index out of range&amp;lt;/strong&amp;gt;&#039;},&lt;br /&gt;
		{&#039;s=|no_category=true&#039;, &#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;String Module Error: String subset index out of range&amp;lt;/strong&amp;gt;&#039;},&lt;br /&gt;
		{&#039;Lorem ipsum|0|no_category=true&#039;, &#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;String Module Error: String subset index out of range&amp;lt;/strong&amp;gt;&#039;},&lt;br /&gt;
		{&#039;Lorem ipsum||-12|no_category=true&#039;, &#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;String Module Error: String subset index out of range&amp;lt;/strong&amp;gt;&#039;},&lt;br /&gt;
		{&#039;Lorem ipsum|7|-6|no_category=true&#039;, &#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;String Module Error: String subset indices out of order&amp;lt;/strong&amp;gt;&#039;},&lt;br /&gt;
	&lt;br /&gt;
		{&#039;s=Lorem ipsum|i=11|j=1|no_category=true&#039;, &#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;String Module Error: String subset indices out of order&amp;lt;/strong&amp;gt;&#039;},&lt;br /&gt;
		{&#039;s=Lorem ipsum|i=11|j=1|ignore_errors=true&#039;, &#039;&#039;},&lt;br /&gt;
	}&lt;br /&gt;
	self:preprocess_equals_many(&#039;{{#invoke:String|sub|&#039;, &#039;}}&#039;, cases)&lt;br /&gt;
	self:preprocess_equals_many(&#039;{{#invoke:String/sandbox|sub|&#039;, &#039;}}&#039;, cases)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_sublength()&lt;br /&gt;
	local cases = {&lt;br /&gt;
		{&#039;s=abcde|i=0|len=5&#039;, &#039;abcde&#039;},&lt;br /&gt;
		{&#039;s=abcde|i=0|len=1&#039;, &#039;a&#039;},&lt;br /&gt;
		{&#039;s=abcde|i=1|len=2&#039;, &#039;bc&#039;},&lt;br /&gt;
		{&#039;s=abcde|i=-3|len=2&#039;, &#039;de&#039;},&lt;br /&gt;
		{&#039;s=abcde|i=3|len=-2&#039;, &#039;&#039;},&lt;br /&gt;
		{&#039;s=abcde|i=1|len=0&#039;, &#039;&#039;},&lt;br /&gt;
		{&#039;s=abcde|i=0|len=0&#039;, &#039;&#039;},&lt;br /&gt;
		{&#039;s=|i=1|len=1&#039;, &#039;&#039;},&lt;br /&gt;
		{&#039;s=abcde|i=0|len=99&#039;, &#039;abcde&#039;},&lt;br /&gt;
	}&lt;br /&gt;
	self:preprocess_equals_many(&#039;{{#invoke:String|sublength|&#039;, &#039;}}&#039;, cases)&lt;br /&gt;
	self:preprocess_equals_many(&#039;{{#invoke:String/sandbox|sublength|&#039;, &#039;}}&#039;, cases)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_replace()&lt;br /&gt;
	local cases = {&lt;br /&gt;
		{&#039;1.1.1.1|.|/&#039;, &#039;1/1/1/1&#039;},&lt;br /&gt;
		{&#039;source=1.1.1.1|pattern=.|replace=/|count=2&#039;, &#039;1/1/1.1&#039;},&lt;br /&gt;
		{&#039;alpha (beta)| (| gamma (&#039;, &#039;alpha gamma (beta)&#039;},&lt;br /&gt;
		{&#039;Dog (cat)|%s%(.*%)||plain=false&#039;, &#039;Dog&#039;},&lt;br /&gt;
	}&lt;br /&gt;
	self:preprocess_equals_many(&#039;{{#invoke:String|replace|&#039;, &#039;}}&#039;, cases)&lt;br /&gt;
	self:preprocess_equals_many(&#039;{{#invoke:String/sandbox|replace|&#039;, &#039;}}&#039;, cases)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_match()&lt;br /&gt;
	local cases = {&lt;br /&gt;
		{&#039;dog (cat)|%((%a-)%)&#039;, &#039;cat&#039;},&lt;br /&gt;
		{&#039;dog (cat) (canary) (fish)|%((%a-)%)||-1&#039;, &#039;fish&#039;},&lt;br /&gt;
		{&#039;dog (cat) (canary) (fish)|%((%a-)%)||2&#039;, &#039;canary&#039;},&lt;br /&gt;
		{&#039;dog (cat) (canary) (fish)|%((%a-)%)|6|1&#039;, &#039;canary&#039;},&lt;br /&gt;
		{&#039;dog (cat) (canary) (fish)|%((%a-)%)|6|2&#039;, &#039;fish&#039;},&lt;br /&gt;
		{&#039;dog (cat)|%((%a-)%)||2|no_category=true&#039;, &#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;String Module Error: Match not found&amp;lt;/strong&amp;gt;&#039;},&lt;br /&gt;
		{&#039;dog (cat)|%((%a-)%)||2|ignore_errors=true&#039;, &#039;&#039;},&lt;br /&gt;
	}&lt;br /&gt;
	self:preprocess_equals_many(&#039;{{#invoke:String|match|&#039;, &#039;}}&#039;, cases)&lt;br /&gt;
	self:preprocess_equals_many(&#039;{{#invoke:String/sandbox|match|&#039;, &#039;}}&#039;, cases)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_match_reverse()&lt;br /&gt;
	local cases = {&lt;br /&gt;
		{&#039;a (1) (2) (3) (4) (5) (6) (a)|%((%d)%)||-1&#039;, &#039;6&#039;},&lt;br /&gt;
		{&#039;a (1) (2) (3) (4) (5) (6) (a)|%((%d)%)||-2&#039;, &#039;5&#039;},&lt;br /&gt;
		{&#039;a (1) (2) (3) (4) (5) (6) (a)|%((%d)%)||-4&#039;, &#039;3&#039;},&lt;br /&gt;
		{&#039;a (1) (2) (3) (4) (5) (6) (a)|%((%d)%)||-5&#039;, &#039;2&#039;},&lt;br /&gt;
		{&#039;a (1) (2) (3) (4) (5) (6) (a)|%((%d)%)||-6&#039;, &#039;1&#039;},&lt;br /&gt;
		{&#039;a (1) (2) (3) (4) (5) (6) (a)|%((%d)%)||-7|no_category=true&#039;, &#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;String Module Error: Match not found&amp;lt;/strong&amp;gt;&#039;},&lt;br /&gt;
	}&lt;br /&gt;
	self:preprocess_equals_many(&#039;{{#invoke:String|match|&#039;, &#039;}}&#039;, cases)&lt;br /&gt;
	self:preprocess_equals_many(&#039;{{#invoke:String/sandbox|match|&#039;, &#039;}}&#039;, cases)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_pos()&lt;br /&gt;
	local out_of_range_error = &#039;[[Category:Errors reported by Module String]]&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;String Module Error: String index out of range&amp;lt;/strong&amp;gt;&#039;&lt;br /&gt;
	local cases = {&lt;br /&gt;
		{&#039;abc|1&#039;, &#039;a&#039;},&lt;br /&gt;
		{&#039;abc|3&#039;, &#039;c&#039;},&lt;br /&gt;
		{&#039;abc|-1&#039;, &#039;c&#039;},&lt;br /&gt;
		{&#039;abc|-3&#039;, &#039;a&#039;},&lt;br /&gt;
		{&#039;target=abc|pos=2&#039;, &#039;b&#039;},&lt;br /&gt;
		&lt;br /&gt;
		{&#039;abc|-4&#039;, out_of_range_error},&lt;br /&gt;
		{&#039;abc|4&#039;, out_of_range_error},&lt;br /&gt;
		{&#039;abc|0&#039;, out_of_range_error},&lt;br /&gt;
		{&#039;abc|&#039;, out_of_range_error},&lt;br /&gt;
		{&#039;&#039;, out_of_range_error},&lt;br /&gt;
	}&lt;br /&gt;
	self:preprocess_equals_many(&#039;{{#invoke:String|pos|&#039;, &#039;}}&#039;, cases, {nowiki=1})&lt;br /&gt;
	self:preprocess_equals_many(&#039;{{#invoke:String/sandbox|pos|&#039;, &#039;}}&#039;, cases, {nowiki=1})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_find()&lt;br /&gt;
	self:preprocess_equals_many(&#039;{{#invoke:String/sandbox|find|&#039;, &#039;}}&#039;, {&lt;br /&gt;
		{&#039;&#039;, &#039;0&#039;},&lt;br /&gt;
		{&#039;source=&#039;, &#039;0&#039;},&lt;br /&gt;
		{&#039;source=|target=&#039;, &#039;0&#039;},&lt;br /&gt;
		{&#039;source=|target=Bob&#039;, &#039;0&#039;},&lt;br /&gt;
		{&#039;Bob|Joe&#039;, &#039;0&#039;},&lt;br /&gt;
		{&#039;Bob|b&#039;, &#039;3&#039;},&lt;br /&gt;
		{&#039;Bob Joe|oe&#039;, &#039;6&#039;},&lt;br /&gt;
		{&#039;source= Bob |o&#039;, &#039;2&#039;},&lt;br /&gt;
		{&#039; Bob |o&#039;, &#039;3&#039;},&lt;br /&gt;
		{&#039;높지만 급격히|만&#039;, &#039;3&#039;},&lt;br /&gt;
		{&#039;source=BAAAB|target=%w|plain=false&#039;, &#039;1&#039;},&lt;br /&gt;
		{&#039;source=BAAAB|target=%w|start=3|plain=false&#039;, &#039;3&#039;},&lt;br /&gt;
		{&#039;source=BAAAB|target=(%w)%1|plain=false&#039;, &#039;2&#039;},&lt;br /&gt;
	})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_rep()&lt;br /&gt;
	local cases = {&lt;br /&gt;
		{&#039;abc|1&#039;, &#039;abc&#039;},&lt;br /&gt;
		{&#039;a b|7&#039;, &#039;a ba ba ba ba ba ba b&#039;},&lt;br /&gt;
		{&#039;bla|glug|no_category=true&#039;, &#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;String Module Error: function rep expects a number as second parameter, received &amp;quot;glug&amp;quot;&amp;lt;/strong&amp;gt;&#039;},&lt;br /&gt;
		{&#039;bla|glug|ignore_errors=true&#039;, &#039;&#039;},&lt;br /&gt;
		{&#039;àèò|3&#039;, &#039;àèòàèòàèò&#039;},&lt;br /&gt;
		{&#039;abc|0&#039;, &#039;&#039;},&lt;br /&gt;
		{&#039;abc|-1&#039;, &#039;&#039;},&lt;br /&gt;
	}&lt;br /&gt;
	self:preprocess_equals_many(&#039;{{#invoke:String|rep|&#039;, &#039;}}&#039;, cases)&lt;br /&gt;
	self:preprocess_equals_many(&#039;{{#invoke:String/sandbox|rep|&#039;, &#039;}}&#039;, cases)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_escapePattern()&lt;br /&gt;
	self:preprocess_equals_many(&#039;{{#invoke:String/sandbox|escapePattern|&#039;, &#039;}}&#039;, {&lt;br /&gt;
		{&#039;foo&#039;, &#039;foo&#039;},&lt;br /&gt;
		{&#039;A.D.&#039;, &#039;A%.D%.&#039;},&lt;br /&gt;
		{&#039;0123&#039;, &#039;0123&#039;},&lt;br /&gt;
		{&#039;^&#039;, &#039;%^&#039;},&lt;br /&gt;
		{&#039;$&#039;, &#039;%$&#039;},&lt;br /&gt;
		{&#039;(&#039;, &#039;%(&#039;},&lt;br /&gt;
		{&#039;)&#039;, &#039;%)&#039;},&lt;br /&gt;
		{&#039;%&#039;, &#039;%%&#039;},&lt;br /&gt;
		{&#039;.&#039;, &#039;%.&#039;},&lt;br /&gt;
		{&#039;[&#039;, &#039;%[&#039;},&lt;br /&gt;
		{&#039;]&#039;, &#039;%]&#039;},&lt;br /&gt;
		{&#039;*&#039;, &#039;%*&#039;},&lt;br /&gt;
		{&#039;+&#039;, &#039;%+&#039;},&lt;br /&gt;
		{&#039;-&#039;, &#039;%-&#039;},&lt;br /&gt;
		{&#039;?&#039;, &#039;%?&#039;},&lt;br /&gt;
		{&#039;!&#039;, &#039;!&#039;},&lt;br /&gt;
		{&#039;&amp;quot;&#039;, &#039;&amp;quot;&#039;},&lt;br /&gt;
		{&#039;&amp;amp;&#039;, &#039;&amp;amp;&#039;},&lt;br /&gt;
		{&amp;quot;&#039;&amp;quot;, &amp;quot;&#039;&amp;quot;},&lt;br /&gt;
		{&#039;{&#039;, &#039;{&#039;},&lt;br /&gt;
		{&#039;}&#039;, &#039;}&#039;},&lt;br /&gt;
		{&#039;`&#039;, &#039;`&#039;},&lt;br /&gt;
		{&#039;@&#039;, &#039;@&#039;},&lt;br /&gt;
		{&#039;,&#039;, &#039;,&#039;},&lt;br /&gt;
		{&#039;&amp;lt;&#039;, &#039;&amp;lt;&#039;},&lt;br /&gt;
		{&#039;&amp;gt;&#039;, &#039;&amp;gt;&#039;},&lt;br /&gt;
		{&#039;/&#039;, &#039;/&#039;},&lt;br /&gt;
		{&#039;_&#039;, &#039;_&#039;},&lt;br /&gt;
		{&#039;\\&#039;, &#039;\\&#039;},&lt;br /&gt;
		{&#039;~&#039;, &#039;~&#039;},&lt;br /&gt;
		{&#039; &#039;, &#039; &#039;},&lt;br /&gt;
		{&#039;&#039;, &#039;&#039;},&lt;br /&gt;
		{&#039;x#&#039;, &#039;x#&#039;}, -- We can&#039;t just test &amp;quot;#&amp;quot; because it will be interpreted as a list&lt;br /&gt;
		{&#039;x;&#039;, &#039;x;&#039;}, -- We can&#039;t just test &amp;quot;;&amp;quot; because it will be interpreted as a list&lt;br /&gt;
		{&#039;x:&#039;, &#039;x:&#039;}, -- We can&#039;t just test &amp;quot;:&amp;quot; because it will be interpreted as a list&lt;br /&gt;
		{&#039;{{!}}&#039;, &#039;|&#039;}, -- Need to escape the template pipe syntax&lt;br /&gt;
		{&#039;1==&#039;, &#039;=&#039;}, -- Need to escape the &amp;quot;foo = bar&amp;quot; template syntax&lt;br /&gt;
		{&#039;no_category=true&#039;, &#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;String Module Error: No pattern string specified&amp;lt;/strong&amp;gt;&#039;},&lt;br /&gt;
	})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p:test_join()&lt;br /&gt;
	self:preprocess_equals_many(&#039;{{#invoke:String/sandbox|join|&#039;, &#039;}}&#039;, {&lt;br /&gt;
		{&#039;&#039;, &#039;&#039;},&lt;br /&gt;
		{&#039;X&#039;, &#039;&#039;},&lt;br /&gt;
		{&#039;X|a&#039;, &#039;a&#039;},&lt;br /&gt;
		{&#039;X|a|b&#039;, &#039;aXb&#039;},&lt;br /&gt;
		{&#039;X|a|b|c&#039;, &#039;aXbXc&#039;},&lt;br /&gt;
		{&#039;X|a|b|c|d&#039;, &#039;aXbXcXd&#039;},&lt;br /&gt;
		{&#039;X|a|b||d&#039;, &#039;aXbXd&#039;},&lt;br /&gt;
		{&#039;X|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z&#039;, &#039;aXbXcXdXeXfXgXhXiXjXkXlXmXnXoXpXqXrXsXtXuXvXwXxXyXz&#039;}&lt;br /&gt;
	})&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Module:String/doc&amp;diff=28153</id>
		<title>Module:String/doc</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Module:String/doc&amp;diff=28153"/>
		<updated>2026-09-13T06:34:27Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: doc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This module is intended to provide access to basic string functions.&lt;br /&gt;
&lt;br /&gt;
Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace.&lt;br /&gt;
&lt;br /&gt;
== Global options ==&lt;br /&gt;
&lt;br /&gt;
; ignore_errors&lt;br /&gt;
: If set to &#039;true&#039; or 1, any error condition will result in an empty string being returned rather than an error message.&lt;br /&gt;
; error_category&lt;br /&gt;
: If an error occurs, specifies the name of a category to include with the error message. The default category is {{Category:Errors reported by Module String}}.&lt;br /&gt;
; no_category&lt;br /&gt;
: If set to &#039;true&#039; or 1, no category will be added if an error is generated.&lt;br /&gt;
&lt;br /&gt;
Unit tests for this module are available at [[Module:String/testcases]].&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
&lt;br /&gt;
=== count ===&lt;br /&gt;
&lt;br /&gt;
Counts the number of times a given pattern appears in the arguments that get passed on to this module. Counts disjoint matches only.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:&amp;lt;/nowiki&amp;gt;String|count|&#039;&#039;source_str&#039;&#039;|&#039;&#039;pattern_string&#039;&#039;|&#039;&#039;plain_flag&#039;&#039;&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:&amp;lt;/nowiki&amp;gt;String|count|source= &#039;&#039;source_string&#039;&#039; |pattern= &#039;&#039;pattern_string&#039;&#039;|plain= &#039;&#039;plain_flag&#039;&#039; &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
; source_string&lt;br /&gt;
: The string to count occurrences in&lt;br /&gt;
; pattern&lt;br /&gt;
: The string or pattern to count occurrences of within source&lt;br /&gt;
; plain&lt;br /&gt;
: Boolean flag indicating that pattern should be understood as plain text and not as a [[mw:Extension:Scribunto/Lua reference manual#Ustring patterns|Scribunto ustring pattern]] (a unicode-friendly Lua-style regular expression); defaults to true&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* Count of &#039;a&#039;: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|count|aabbcc|a}}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|count|aabbcc|a}}&amp;quot;&lt;br /&gt;
* Count occurrences of &#039;aba&#039;: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|count|ababababab|aba}}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|count|ababababab|aba}}&amp;quot;&lt;br /&gt;
* Count of &amp;quot;either &#039;a&#039; or &#039;c&#039; &amp;quot;:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|count|aabbcc|[ac]|plain=false}}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|count|aabbcc|[ac]|plain=false}}&amp;quot;&lt;br /&gt;
* Count of &amp;quot;not &#039;a&#039; &amp;quot;: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|count|aaabaaac|[^a]|plain=false}}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|count|aaabaaac|[^a]|plain=false}}&amp;quot;&lt;br /&gt;
* Count of &amp;quot;starts with &#039;a&#039; &amp;quot;: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|count|aaabaaac|^a|plain=false}}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|count|aaabaaac|^a|plain=false}}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== endswith ===&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:&amp;lt;/nowiki&amp;gt;String|endswith|&#039;&#039;source_str&#039;&#039;|&#039;&#039;search_string&#039;&#039;&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:&amp;lt;/nowiki&amp;gt;String|endswith|source= &#039;&#039;source_string&#039;&#039; |pattern= &#039;&#039;search_string&#039;&#039;&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Returns &amp;quot;yes&amp;quot; if the source string ends with the search string. Use named parameters to have the strings trimmed before use. Despite the parameter name, &#039;&#039;search_string&#039;&#039; is not a Lua pattern, it is interpreted literally.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|endswith|xxxyyy|y}}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|endswith|xxxyyy|y}}&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|endswith|xxxyyy|z}}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|endswith|xxxyyy|z}}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== escapePattern ===&lt;br /&gt;
&lt;br /&gt;
In a [[:mw:LUAREF#Patterns|Lua pattern]], changes a &#039;&#039;class character&#039;&#039; into a &#039;&#039;literal character&#039;&#039;. For example: in a pattern, character &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; catches &amp;quot;any character&amp;quot;; escapePattern will convert it to &amp;lt;code&amp;gt;%.&amp;lt;/code&amp;gt;, catching just the literal character &amp;quot;.&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|escapePattern|&amp;lt;/nowiki&amp;gt;&#039;&#039;pattern_string&#039;&#039;&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
; pattern_string&lt;br /&gt;
: The pattern string to escape&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|escapePattern|A.D.}}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|escapePattern|A.D.}}&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|escapePattern|10%}}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|escapePattern|10%}}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== find ===&lt;br /&gt;
&lt;br /&gt;
This function allows one to search for a target string or pattern within another string.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:&amp;lt;/nowiki&amp;gt;String|find|&#039;&#039;source_string&#039;&#039;|&#039;&#039;target_string&#039;&#039;|&#039;&#039;start_index&#039;&#039;|&#039;&#039;plain_flag&#039;&#039;&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:&amp;lt;/nowiki&amp;gt;String|find|source= &#039;&#039;source_string&#039;&#039; |target= &#039;&#039;target_string&#039;&#039; |start= &#039;&#039;start_index&#039;&#039; |plain= &#039;&#039;plain_flag&#039;&#039; &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
; source&lt;br /&gt;
: The string to search&lt;br /&gt;
; target&lt;br /&gt;
: The string or pattern to find within source&lt;br /&gt;
; start&lt;br /&gt;
: The index within the source string to start the search, defaults to 1&lt;br /&gt;
; plain&lt;br /&gt;
: Boolean flag indicating that target should be understood as plain text and not as a [[mw:Extension:Scribunto/Lua reference manual#Ustring patterns|Scribunto ustring pattern]] (a unicode-friendly Lua-style regular expression); defaults to true&lt;br /&gt;
&lt;br /&gt;
This function returns the first index &amp;gt;= &amp;quot;start&amp;quot; where &amp;quot;target&amp;quot; can be found within &amp;quot;source&amp;quot;. Indices are 1-based. If &amp;quot;target&amp;quot; is not found, then this function returns 0. If either &amp;quot;source&amp;quot; or &amp;quot;target&amp;quot; are missing / empty, this function also returns 0.&lt;br /&gt;
&lt;br /&gt;
This function should be safe for UTF-8 strings.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|find|abc123def|12}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|find|abc123def|12}}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|find|source=abc123def|target=12}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|find|source=abc123def|target=12}}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|find|source=abc123def|target=pqr}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|find|source=abc123def|target=pqr}}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|find| abc123def |123}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|find| abc123def |123}}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|find|source= abc123def |target= 123 }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|find|source= abc123def |target= 123 }}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|find|source=abc123def|target=%d |start=3 |plain=false }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|find|source=abc123def|target=%d |start=3 |plain=false }}&lt;br /&gt;
&lt;br /&gt;
When using unnamed parameters, preceding and trailing spaces are kept and counted:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|find|  abc123def |c|false}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|find|  abc123def |c|false}}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|find|source=  abc123def |target=c|plain=false}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|find|source=  abc123def |target=c|plain=false}}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:string|find|abc 123 def|%s|plain=false}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:string|find|abc 123 def|%s|plain=false}}&lt;br /&gt;
&lt;br /&gt;
Testing for the presence of a string:&lt;br /&gt;
* &amp;lt;code&amp;gt;{{pf|ifexpr|&amp;lt;nowiki&amp;gt;{{#invoke:string|find|haystack|needle}}&amp;lt;/nowiki&amp;gt;|Found needle|Didn&#039;t find needle}}&amp;lt;/code&amp;gt; → {{#ifexpr:{{#invoke:string|find|haystack|needle}}|Found needle|Didn&#039;t find needle}}&lt;br /&gt;
&lt;br /&gt;
=== findpagetext ===&lt;br /&gt;
&lt;br /&gt;
The findpagetext function returns the position of a piece of text in the wikitext source of a page. It takes up to four parameters:&lt;br /&gt;
* First positional parameter or |text is the text to be searched for.&lt;br /&gt;
* Optional parameter |title is the page title, defaults to the current page.&lt;br /&gt;
* Optional parameter |plain is either true for a plain search (default), or false for a [[mw:Extension:Scribunto/Lua reference manual #Patterns|Lua pattern]] search.&lt;br /&gt;
* Optional parameter |nomatch is the value returned when no match is found; default is nothing.&lt;br /&gt;
&lt;br /&gt;
; Examples&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String |findpagetext |text=Youghiogheny}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String |findpagetext |text=Youghiogheny}}&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String |findpagetext |text=Youghiogheny |nomatch=not found}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String |findpagetext |text=Youghiogheny |nomatch=not found}}&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String |findpagetext |text=Youghiogheny |title=Boston Bridge |nomatch=not found}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String |findpagetext |text=Youghiogheny |title=Boston Bridge |nomatch=not found}}&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String |findpagetext |text=river |title=Boston Bridge |nomatch=not found}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String |findpagetext |text=river |title=Boston Bridge |nomatch=not found}}&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String |findpagetext |text=[Rr]iver |title=Boston Bridge |plain=false |nomatch=not found}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String |findpagetext |text=[Rr]iver |title=Boston Bridge |plain=false |nomatch=not found}}&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String |findpagetext |text=%[%[ |title=Boston Bridge |plain=f |nomatch=not found}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String |findpagetext |text=%[%[ |title=Boston Bridge |plain=f |nomatch=not found}}&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String |findpagetext |text=%{%{[Cc]oord |title=Boston Bridge |plain=f |nomatch=not found}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String |findpagetext |text=%{%{coord |title=Boston Bridge |plain=f |nomatch=not found}}&lt;br /&gt;
The search is case-sensitive, so Lua pattern matching is needed to find &amp;lt;code&amp;gt;river&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;River&amp;lt;/code&amp;gt;. The last example finds &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{coord&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Coord&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. The penultimate example finds a wiki-link.&lt;br /&gt;
&lt;br /&gt;
The [[Template:Findpagetext]] is a convenience wrapper for this function.&lt;br /&gt;
&lt;br /&gt;
=== join ===&lt;br /&gt;
&lt;br /&gt;
Joins all strings passed as arguments into one string, treating the first argument as a separator.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:&amp;lt;/nowiki&amp;gt;String|join|&#039;&#039;separator&#039;&#039;|&#039;&#039;string1&#039;&#039;|&#039;&#039;string2&#039;&#039;|...&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
; separator&lt;br /&gt;
: String that separates each string being joined together&lt;br /&gt;
: Note that leading and trailing spaces are &#039;&#039;not&#039;&#039; stripped from the separator.&lt;br /&gt;
; string1/string2/...&lt;br /&gt;
: Strings being joined together&lt;br /&gt;
Examples:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|join|x|foo|bar|baz}}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|join|x|foo|bar|baz}}&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|join||a|b|c|d|e|f|g}}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|join||a|b|c|d|e|f|g}}&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|join|,|a|b|c|d|e|f|g}}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|join|,|a|b|c|d|e|f|g}}&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|join|, |a|b|c|d|e|f|g}}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|join|, |a|b|c|d|e|f|g}}&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|join| &amp;amp;ndash; |a|b|c|d|e|f|g}}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|join| &amp;amp;ndash; |a|b|c|d|e|f|g}}&amp;quot;&lt;br /&gt;
The preceding example uses the html entity &amp;amp;amp;ndash; but the unicode character also works.&lt;br /&gt;
&lt;br /&gt;
=== len ===&lt;br /&gt;
&lt;br /&gt;
This function returns the length of the target string.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:&amp;lt;/nowiki&amp;gt;String|len|&#039;&#039;target_string&#039;&#039;&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:&amp;lt;/nowiki&amp;gt;String|len|s= &#039;&#039;target_string&#039;&#039; &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
; s&lt;br /&gt;
: The string whose length to report&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|len| abcdefghi }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|len| abcdefghi }}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|len|s= abcdefghi }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|len|s= abcdefghi }}&lt;br /&gt;
&lt;br /&gt;
=== match ===&lt;br /&gt;
&lt;br /&gt;
This function returns a substring from the source string that matches a specified pattern.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:&amp;lt;/nowiki&amp;gt;String|match|&#039;&#039;source_string&#039;&#039;|&#039;&#039;pattern_string&#039;&#039;|&#039;&#039;start_index&#039;&#039;|&#039;&#039;match_number&#039;&#039;|&#039;&#039;plain_flag&#039;&#039;|&#039;&#039;nomatch_output&#039;&#039;&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:&amp;lt;/nowiki&amp;gt;String|match|s= &#039;&#039;source_string&#039;&#039; |pattern= &#039;&#039;pattern_string&#039;&#039; |start= &#039;&#039;start_index&#039;&#039; |match= &#039;&#039;match_number&#039;&#039; |plain= &#039;&#039;plain_flag&#039;&#039; |nomatch= &#039;&#039;nomatch_output&#039;&#039; &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
; s&lt;br /&gt;
: The string to search&lt;br /&gt;
; pattern&lt;br /&gt;
: The pattern or string to find within the string&lt;br /&gt;
; start&lt;br /&gt;
: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1.&lt;br /&gt;
; match&lt;br /&gt;
: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1.&lt;br /&gt;
; plain&lt;br /&gt;
: Boolean flag indicating that pattern should be understood as plain text and not as a [[mw:Extension:Scribunto/Lua reference manual#Ustring patterns|Scribunto ustring pattern]] (a unicode-friendly Lua-style regular expression). Defaults to false (to change: &amp;lt;code&amp;gt;plain=true&amp;lt;/code&amp;gt;)&lt;br /&gt;
; nomatch&lt;br /&gt;
: If no match is found, output the &amp;quot;nomatch&amp;quot; value rather than an error.&lt;br /&gt;
; ignore_errors&lt;br /&gt;
: If no match is found and ignore_errors=true, output an empty string rather than an error.&lt;br /&gt;
&lt;br /&gt;
If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found.&lt;br /&gt;
If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure.&lt;br /&gt;
&lt;br /&gt;
For information on constructing Lu] patterns, a form of regular expression|regular expression, see:&lt;br /&gt;
&lt;br /&gt;
* [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#Patterns|Scribunto patterns]]&lt;br /&gt;
* [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#Ustring patterns|Scribunto Unicode string patterns]]&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|match| abc123def456 |%d+}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|match| abc123def456 |%d+}}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|match|s= abc123def456 |pattern= %d+ }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|match|s= abc123def456 |pattern= %d+ }}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|match| abc123def456 |%d+|6}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|match| abc123def456 |%d+|6}}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|match|s= abc123def456 |pattern= %d+ |start= 6 }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|match|s= abc123def456 |pattern= %d+ |start= 6 }}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|match|s= abc123def456 |pattern= %d+ |start= 6 |match= 2 }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|match|s= abc123def456 |pattern= %d+ |start= 6 |match= 2 }}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|match|s= abc123%d+ |pattern= %d+ }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|match|s= abc123%d+ |pattern= %d+ }}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|match|s= abc123%d+ |pattern= %d+ |plain= true }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|match|s= abc123%d+ |pattern= %d+ |plain= true }}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|match|s= abc |pattern= %d }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|match|s= abc |pattern= %d |no_category=true}}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|match|s= abc |pattern= %d |nomatch= No numeric characters in string }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|match|s= abc |pattern= %d |nomatch= No numeric characters in string }}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|match|s= abc |pattern= %d |ignore_errors= true }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|match|s= abc |pattern= %d |ignore_errors= true }}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|match|s= 0012001200 |pattern= 0*(%d*) }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|match|s= 0012001200 |pattern= 0*(%d*) }}&lt;br /&gt;
&lt;br /&gt;
=== pos ===&lt;br /&gt;
&lt;br /&gt;
This function returns a single character from the target string at position pos.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:&amp;lt;/nowiki&amp;gt;String|pos|&#039;&#039;target_string&#039;&#039;|&#039;&#039;index_value&#039;&#039;&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:&amp;lt;/nowiki&amp;gt;String|pos|target= &#039;&#039;target_string&#039;&#039; |pos= &#039;&#039;index_value&#039;&#039; &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
; target&lt;br /&gt;
: The string to search&lt;br /&gt;
; pos&lt;br /&gt;
: The index for the character to return&lt;br /&gt;
&lt;br /&gt;
The first character has an index value of 1.&lt;br /&gt;
&lt;br /&gt;
If one requests a negative value, this function will select a character by counting backwards&lt;br /&gt;
from the end of the string. In other words pos = -1 is the same as asking for the last character.&lt;br /&gt;
&lt;br /&gt;
A requested value of zero, or a value greater than the length of the string returns an error.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|pos| abcdefghi | 4 }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|pos| abcdefghi | 4 }}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|pos|target= abcdefghi |pos= 4 }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|pos|target= abcdefghi |pos= 4 }}&lt;br /&gt;
&lt;br /&gt;
=== rep ===&lt;br /&gt;
&lt;br /&gt;
Repeats a string &#039;&#039;n&#039;&#039; times. A simple function to pipe string.rep to templates.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:&amp;lt;/nowiki&amp;gt;String|rep|&#039;&#039;source&#039;&#039;|&#039;&#039;count&#039;&#039;&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
; source&lt;br /&gt;
: The string to repeat&lt;br /&gt;
; count&lt;br /&gt;
: The number of repetitions.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|rep|hello|3}}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|rep|hello|3}}&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|rep| hello | 3 }}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|rep| hello | 3 }}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span class=&amp;quot;anchor&amp;quot; id=&amp;quot;replace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; replace (gsub) ===&lt;br /&gt;
&lt;br /&gt;
{{notice|text=Note that by default the pattern is understood as plain text as the {{var|plain flag}} {{nowrap|{{para|plain}}}} defaults to {{pval|true}}. To use a [[mw:Extension:Scribunto/Lua reference manual#Ustring patterns|Scribunto mw.ustring pattern]] you must set it to {{pval|false}}.}}&lt;br /&gt;
&lt;br /&gt;
This function allows one to replace a target string or pattern within another string. To Lua programmers: this function works internally by calling &amp;lt;code&amp;gt;[[mw:Extension:Scribunto/Lua_reference_manual#mw.ustring.gsub|mw.ustring.gsub]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:&amp;lt;/nowiki&amp;gt;String|replace|&#039;&#039;source_str&#039;&#039;|&#039;&#039;pattern_string&#039;&#039;|&#039;&#039;replace_string&#039;&#039;|&#039;&#039;replacement_count&#039;&#039;|&#039;&#039;plain_flag&#039;&#039;&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:&amp;lt;/nowiki&amp;gt;String|replace|source= &#039;&#039;source_string&#039;&#039; |pattern= &#039;&#039;pattern_string&#039;&#039; |replace= &#039;&#039;replace_string&#039;&#039; |count= &#039;&#039;replacement_count&#039;&#039; |plain= &#039;&#039;plain_flag&#039;&#039; &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
; source&lt;br /&gt;
: The string to search&lt;br /&gt;
; pattern&lt;br /&gt;
: The string or pattern to find within source&lt;br /&gt;
; replace&lt;br /&gt;
: The replacement text&lt;br /&gt;
; count&lt;br /&gt;
: The number of occurrences to replace; defaults to all&lt;br /&gt;
; plain&lt;br /&gt;
: Boolean flag indicating whether the pattern should be understood as plain text or as a [[mw:Extension:Scribunto/Lua reference manual#Ustring patterns|Scribunto ustring pattern]] (a unicode-friendly Lua-style regular expression). Defaults to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;. Pass parameter {{para|plain|false}} to use regular expressions.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|replace| abc123def456 |123|XYZ}}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|replace| abc123def456 |123|XYZ}}&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|replace|source= abc123def456 |pattern= 123 |replace= XYZ }}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|replace|source= abc123def456 |pattern= 123 |replace= XYZ }}&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|replace| abc123def456 |%d+|XYZ|1|false}}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|replace| abc123def456 |%d+|XYZ|1|false}}&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|replace|source= abc123def456 |pattern= %d+ |replace= XYZ |count=1 |plain= false }}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|replace|source= abc123def456 |pattern= %d+ |replace= XYZ |count=1 |plain= false }}&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|replace|source= abc123def456 |pattern= %d+ |replace= XYZ |plain= false }}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|replace|source= abc123def456 |pattern= %d+ |replace= XYZ |plain= false }}&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|replace|source= 0012001200 |pattern= ^0* |plain= false }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|replace|source= 0012001200 |pattern= ^0* |plain= false }}&lt;br /&gt;
&lt;br /&gt;
=== str_find ===&lt;br /&gt;
&lt;br /&gt;
This function duplicates the behavior of {{tl|str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the &amp;quot;find&amp;quot; function instead.&lt;br /&gt;
&lt;br /&gt;
Returns the first index in &amp;quot;source&amp;quot; that is a match to &amp;quot;target&amp;quot;. Indexing is 1-based, and the function returns -1 if the &amp;quot;target&amp;quot; string is not present in &amp;quot;source&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Important Note: If the &amp;quot;target&amp;quot; string is empty / missing, this function returns a value of &amp;quot;1&amp;quot;, which is generally unexpected behavior, and must be accounted for separately.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:&amp;lt;/nowiki&amp;gt;String|str_find|&#039;&#039;source_string&#039;&#039;|&#039;&#039;target_string&#039;&#039;&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:&amp;lt;/nowiki&amp;gt;String|str_find|source= &#039;&#039;source_string&#039;&#039; |target= &#039;&#039;target_string&#039;&#039; &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
; source&lt;br /&gt;
: The string to search&lt;br /&gt;
; target&lt;br /&gt;
: The string to find within source&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|str_find| abc123def }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|str_find| abc123def }}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|str_find|source= abc123def }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|str_find|source= abc123def }}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|str_find| abc123def |123}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|str_find| abc123def |123}}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|str_find|source= abc123def |target= 123 }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|str_find|source= abc123def |target= 123 }}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|str_find| abc123def |not}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|str_find| abc123def |not}}&lt;br /&gt;
&lt;br /&gt;
=== sub ===&lt;br /&gt;
&lt;br /&gt;
This function returns a substring of the target string at specified inclusive, one-indexed indices.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:&amp;lt;/nowiki&amp;gt;String|sub|&#039;&#039;target_string&#039;&#039;|&#039;&#039;start_index&#039;&#039;|&#039;&#039;end_index&#039;&#039;&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:&amp;lt;/nowiki&amp;gt;String|sub|s= &#039;&#039;target_string&#039;&#039; |i= &#039;&#039;start_index&#039;&#039; |j= &#039;&#039;end_index&#039;&#039; &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
; s&lt;br /&gt;
: The string to return a subset of&lt;br /&gt;
; i&lt;br /&gt;
: The first index of the substring to return, defaults to 1.&lt;br /&gt;
; j&lt;br /&gt;
: The last index of the string to return, defaults to the last character.&lt;br /&gt;
&lt;br /&gt;
The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string.&lt;br /&gt;
&lt;br /&gt;
If the requested indices are out of range for the given string, an error is reported. To avoid error messages, use {{ml|ustring|sub}} instead.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|sub| abcdefghi }}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|sub| abcdefghi }}&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|sub|s= abcdefghi }}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|sub|s= abcdefghi }}&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|sub| abcdefghi | 3 }}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|sub| abcdefghi | 3 }}&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|sub|s= abcdefghi |i= 3 }}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|sub|s= abcdefghi |i= 3 }}&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|sub| abcdefghi | 3 | 4 }}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|sub| abcdefghi | 3 | 4 }}&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{{#invoke:String|sub|s= abcdefghi |i= 3 |j= 4 }}&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → &amp;quot;{{#invoke:String|sub|s= abcdefghi |i= 3 |j= 4 }}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== sublength ===&lt;br /&gt;
&lt;br /&gt;
This function implements the features of {{tl|str sub old}} and is kept in order to maintain these older templates. It returns a substring of the target string starting at a specified index and of a specified length.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:&amp;lt;/nowiki&amp;gt;String|sublength|s= &#039;&#039;target_string&#039;&#039; |i= &#039;&#039;start_index&#039;&#039; |len= &#039;&#039;length&#039;&#039; &amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
; s&lt;br /&gt;
: The string&lt;br /&gt;
; i&lt;br /&gt;
: The starting index of the substring to return. The first character of the string is assigned an index of 0.&lt;br /&gt;
; len&lt;br /&gt;
: The length of the string to return, defaults to the last character.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|sublength|s= abcdefghi }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|sublength|s= abcdefghi }}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|sublength|s= abcdefghi |i= 3 }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|sublength|s= abcdefghi |i= 3 }}&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:String|sublength|s= abcdefghi |i= 3 |len= 4 }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:String|sublength|s= abcdefghi |i= 3 |len= 4 }}&lt;br /&gt;
&lt;br /&gt;
== See also==&lt;br /&gt;
* {{mfl|MultiReplace|main}}&lt;br /&gt;
&lt;br /&gt;
{{String handling templates}}&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
[[Category:Modules that add a tracking category]]&lt;br /&gt;
[[Category:Modules that manipulate strings|*]]&lt;br /&gt;
[[Category:Template metamodules]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Template:Sandbox_other&amp;diff=28152</id>
		<title>Template:Sandbox other</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Template:Sandbox_other&amp;diff=28152"/>
		<updated>2026-09-13T06:27:53Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;{{safesubst:&amp;lt;noinclude/&amp;gt;#if:{{safesubst:&amp;lt;noinclude/&amp;gt;#ifeq:{{safesubst:&amp;lt;noinclude/&amp;gt;#invoke:String|sublength|s={{safesubst:&amp;lt;noinclude/&amp;gt;SUBPAGENAME}}|i=0|len=7}}|sandbox|1}}{{safesubst:&amp;lt;noinclude/&amp;gt;#ifeq:{{safesubst:&amp;lt;noinclude/&amp;gt;SUBPAGENAME}}|doc|1}}{{safesubst:&amp;lt;noinclude/&amp;gt;#invoke:string|match|{{safesubst:&amp;lt;noinclude/&amp;gt;PAGENAME}}|/sandbox/styles.css$|plain=false|nomatch=}}|{{{1|}}}|{{{2|}}}}}&amp;lt;/onlyinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{documentation}}&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Module:String&amp;diff=28151</id>
		<title>Module:String</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Module:String&amp;diff=28151"/>
		<updated>2026-09-13T06:23:42Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: create this&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[[&lt;br /&gt;
&lt;br /&gt;
This module is intended to provide access to basic string functions.&lt;br /&gt;
&lt;br /&gt;
Most of the functions provided here can be invoked with named parameters,&lt;br /&gt;
unnamed parameters, or a mixture.  If named parameters are used, Mediawiki will&lt;br /&gt;
automatically remove any leading or trailing whitespace from the parameter.&lt;br /&gt;
Depending on the intended use, it may be advantageous to either preserve or&lt;br /&gt;
remove such whitespace.&lt;br /&gt;
&lt;br /&gt;
Global options&lt;br /&gt;
    ignore_errors: If set to &#039;true&#039; or 1, any error condition will result in&lt;br /&gt;
        an empty string being returned rather than an error message.&lt;br /&gt;
&lt;br /&gt;
    error_category: If an error occurs, specifies the name of a category to&lt;br /&gt;
        include with the error message.  The default category is&lt;br /&gt;
        [Category:Errors reported by Module String].&lt;br /&gt;
&lt;br /&gt;
    no_category: If set to &#039;true&#039; or 1, no category will be added if an error&lt;br /&gt;
        is generated.&lt;br /&gt;
&lt;br /&gt;
Unit tests for this module are available at Module:String/tests.&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local str = {}&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
len&lt;br /&gt;
&lt;br /&gt;
This function returns the length of the target string.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|len|target_string|}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|len|s=target_string}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    s: The string whose length to report&lt;br /&gt;
&lt;br /&gt;
If invoked using named parameters, Mediawiki will automatically remove any leading or&lt;br /&gt;
trailing whitespace from the target string.&lt;br /&gt;
]]&lt;br /&gt;
function str.len( frame )&lt;br /&gt;
	local new_args = str._getParameters( frame.args, {&#039;s&#039;} )&lt;br /&gt;
	local s = new_args[&#039;s&#039;] or &#039;&#039;&lt;br /&gt;
	return mw.ustring.len( s )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
sub&lt;br /&gt;
&lt;br /&gt;
This function returns a substring of the target string at specified indices.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|sub|target_string|start_index|end_index}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|sub|s=target_string|i=start_index|j=end_index}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    s: The string to return a subset of&lt;br /&gt;
    i: The first index of the substring to return, defaults to 1.&lt;br /&gt;
    j: The last index of the string to return, defaults to the last character.&lt;br /&gt;
&lt;br /&gt;
The first character of the string is assigned an index of 1.  If either i or j&lt;br /&gt;
is a negative value, it is interpreted the same as selecting a character by&lt;br /&gt;
counting from the end of the string.  Hence, a value of -1 is the same as&lt;br /&gt;
selecting the last character of the string.&lt;br /&gt;
&lt;br /&gt;
If the requested indices are out of range for the given string, an error is&lt;br /&gt;
reported.&lt;br /&gt;
]]&lt;br /&gt;
function str.sub( frame )&lt;br /&gt;
	local new_args = str._getParameters( frame.args, { &#039;s&#039;, &#039;i&#039;, &#039;j&#039; } )&lt;br /&gt;
	local s = new_args[&#039;s&#039;] or &#039;&#039;&lt;br /&gt;
	local i = tonumber( new_args[&#039;i&#039;] ) or 1&lt;br /&gt;
	local j = tonumber( new_args[&#039;j&#039;] ) or -1&lt;br /&gt;
&lt;br /&gt;
	local len = mw.ustring.len( s )&lt;br /&gt;
&lt;br /&gt;
	-- Convert negatives for range checking&lt;br /&gt;
	if i &amp;lt; 0 then&lt;br /&gt;
		i = len + i + 1&lt;br /&gt;
	end&lt;br /&gt;
	if j &amp;lt; 0 then&lt;br /&gt;
		j = len + j + 1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if i &amp;gt; len or j &amp;gt; len or i &amp;lt; 1 or j &amp;lt; 1 then&lt;br /&gt;
		return str._error( &#039;String subset index out of range&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	if j &amp;lt; i then&lt;br /&gt;
		return str._error( &#039;String subset indices out of order&#039; )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return mw.ustring.sub( s, i, j )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
This function implements that features of {{str sub old}} and is kept in order&lt;br /&gt;
to maintain these older templates.&lt;br /&gt;
]]&lt;br /&gt;
function str.sublength( frame )&lt;br /&gt;
	local i = tonumber( frame.args.i ) or 0&lt;br /&gt;
	local len = tonumber( frame.args.len )&lt;br /&gt;
	return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
_match&lt;br /&gt;
&lt;br /&gt;
This function returns a substring from the source string that matches a&lt;br /&gt;
specified pattern. It is exported for use in other modules&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
strmatch = require(&amp;quot;Module:String&amp;quot;)._match&lt;br /&gt;
sresult = strmatch( s, pattern, start, match, plain, nomatch )&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    s: The string to search&lt;br /&gt;
    pattern: The pattern or string to find within the string&lt;br /&gt;
    start: The index within the source string to start the search.  The first&lt;br /&gt;
        character of the string has index 1.  Defaults to 1.&lt;br /&gt;
    match: In some cases it may be possible to make multiple matches on a single&lt;br /&gt;
        string.  This specifies which match to return, where the first match is&lt;br /&gt;
        match= 1.  If a negative number is specified then a match is returned&lt;br /&gt;
        counting from the last match.  Hence match = -1 is the same as requesting&lt;br /&gt;
        the last match.  Defaults to 1.&lt;br /&gt;
    plain: A flag indicating that the pattern should be understood as plain&lt;br /&gt;
        text.  Defaults to false.&lt;br /&gt;
    nomatch: If no match is found, output the &amp;quot;nomatch&amp;quot; value rather than an error.&lt;br /&gt;
&lt;br /&gt;
For information on constructing Lua patterns, a form of [regular expression], see:&lt;br /&gt;
&lt;br /&gt;
* http://www.lua.org/manual/5.1/manual.html#5.4.1&lt;br /&gt;
* http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns&lt;br /&gt;
* http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
-- This sub-routine is exported for use in other modules&lt;br /&gt;
function str._match( s, pattern, start, match_index, plain_flag, nomatch )&lt;br /&gt;
	if s == &#039;&#039; then&lt;br /&gt;
		return str._error( &#039;Target string is empty&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	if pattern == &#039;&#039; then&lt;br /&gt;
		return str._error( &#039;Pattern string is empty&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	start = tonumber(start) or 1&lt;br /&gt;
	if math.abs(start) &amp;lt; 1 or math.abs(start) &amp;gt; mw.ustring.len( s ) then&lt;br /&gt;
		return str._error( &#039;Requested start is out of range&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	if match_index == 0 then&lt;br /&gt;
		return str._error( &#039;Match index is out of range&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	if plain_flag then&lt;br /&gt;
		pattern = str._escapePattern( pattern )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local result&lt;br /&gt;
	if match_index == 1 then&lt;br /&gt;
		-- Find first match is simple case&lt;br /&gt;
		result = mw.ustring.match( s, pattern, start )&lt;br /&gt;
	else&lt;br /&gt;
		if start &amp;gt; 1 then&lt;br /&gt;
			s = mw.ustring.sub( s, start )&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		local iterator = mw.ustring.gmatch(s, pattern)&lt;br /&gt;
		if match_index &amp;gt; 0 then&lt;br /&gt;
			-- Forward search&lt;br /&gt;
			for w in iterator do&lt;br /&gt;
				match_index = match_index - 1&lt;br /&gt;
				if match_index == 0 then&lt;br /&gt;
					result = w&lt;br /&gt;
					break&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			-- Reverse search&lt;br /&gt;
			local result_table = {}&lt;br /&gt;
			local count = 1&lt;br /&gt;
			for w in iterator do&lt;br /&gt;
				result_table[count] = w&lt;br /&gt;
				count = count + 1&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			result = result_table[ count + match_index ]&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if result == nil then&lt;br /&gt;
		if nomatch == nil then&lt;br /&gt;
			return str._error( &#039;Match not found&#039; )&lt;br /&gt;
		else&lt;br /&gt;
			return nomatch&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return result&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
match&lt;br /&gt;
&lt;br /&gt;
This function returns a substring from the source string that matches a&lt;br /&gt;
specified pattern.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|match|s=source_string|pattern=pattern_string|start=start_index&lt;br /&gt;
    |match=match_number|plain=plain_flag|nomatch=nomatch_output}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    s: The string to search&lt;br /&gt;
    pattern: The pattern or string to find within the string&lt;br /&gt;
    start: The index within the source string to start the search.  The first&lt;br /&gt;
        character of the string has index 1.  Defaults to 1.&lt;br /&gt;
    match: In some cases it may be possible to make multiple matches on a single&lt;br /&gt;
        string.  This specifies which match to return, where the first match is&lt;br /&gt;
        match= 1.  If a negative number is specified then a match is returned&lt;br /&gt;
        counting from the last match.  Hence match = -1 is the same as requesting&lt;br /&gt;
        the last match.  Defaults to 1.&lt;br /&gt;
    plain: A flag indicating that the pattern should be understood as plain&lt;br /&gt;
        text.  Defaults to false.&lt;br /&gt;
    nomatch: If no match is found, output the &amp;quot;nomatch&amp;quot; value rather than an error.&lt;br /&gt;
&lt;br /&gt;
If invoked using named parameters, Mediawiki will automatically remove any leading or&lt;br /&gt;
trailing whitespace from each string.  In some circumstances this is desirable, in&lt;br /&gt;
other cases one may want to preserve the whitespace.&lt;br /&gt;
&lt;br /&gt;
If the match_number or start_index are out of range for the string being queried, then&lt;br /&gt;
this function generates an error.  An error is also generated if no match is found.&lt;br /&gt;
If one adds the parameter ignore_errors=true, then the error will be suppressed and&lt;br /&gt;
an empty string will be returned on any failure.&lt;br /&gt;
&lt;br /&gt;
For information on constructing Lua patterns, a form of [regular expression], see:&lt;br /&gt;
&lt;br /&gt;
* http://www.lua.org/manual/5.1/manual.html#5.4.1&lt;br /&gt;
* http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns&lt;br /&gt;
* http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
-- This is the entry point for #invoke:String|match&lt;br /&gt;
function str.match( frame )&lt;br /&gt;
	local new_args = str._getParameters( frame.args, {&#039;s&#039;, &#039;pattern&#039;, &#039;start&#039;, &#039;match&#039;, &#039;plain&#039;, &#039;nomatch&#039;} )&lt;br /&gt;
	local s = new_args[&#039;s&#039;] or &#039;&#039;&lt;br /&gt;
	local start = tonumber( new_args[&#039;start&#039;] ) or 1&lt;br /&gt;
	local plain_flag = str._getBoolean( new_args[&#039;plain&#039;] or false )&lt;br /&gt;
	local pattern = new_args[&#039;pattern&#039;] or &#039;&#039;&lt;br /&gt;
	local match_index = math.floor( tonumber(new_args[&#039;match&#039;]) or 1 )&lt;br /&gt;
	local nomatch = new_args[&#039;nomatch&#039;]&lt;br /&gt;
&lt;br /&gt;
	return str._match( s, pattern, start, match_index, plain_flag, nomatch )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
pos&lt;br /&gt;
&lt;br /&gt;
This function returns a single character from the target string at position pos.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|pos|target_string|index_value}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|pos|target=target_string|pos=index_value}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    target: The string to search&lt;br /&gt;
    pos: The index for the character to return&lt;br /&gt;
&lt;br /&gt;
If invoked using named parameters, Mediawiki will automatically remove any leading or&lt;br /&gt;
trailing whitespace from the target string.  In some circumstances this is desirable, in&lt;br /&gt;
other cases one may want to preserve the whitespace.&lt;br /&gt;
&lt;br /&gt;
The first character has an index value of 1.&lt;br /&gt;
&lt;br /&gt;
If one requests a negative value, this function will select a character by counting backwards&lt;br /&gt;
from the end of the string.  In other words pos = -1 is the same as asking for the last character.&lt;br /&gt;
&lt;br /&gt;
A requested value of zero, or a value greater than the length of the string returns an error.&lt;br /&gt;
]]&lt;br /&gt;
function str.pos( frame )&lt;br /&gt;
	local new_args = str._getParameters( frame.args, {&#039;target&#039;, &#039;pos&#039;} )&lt;br /&gt;
	local target_str = new_args[&#039;target&#039;] or &#039;&#039;&lt;br /&gt;
	local pos = tonumber( new_args[&#039;pos&#039;] ) or 0&lt;br /&gt;
&lt;br /&gt;
	if pos == 0 or math.abs(pos) &amp;gt; mw.ustring.len( target_str ) then&lt;br /&gt;
		return str._error( &#039;String index out of range&#039; )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return mw.ustring.sub( target_str, pos, pos )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
str_find&lt;br /&gt;
&lt;br /&gt;
This function duplicates the behavior of {{str_find}}, including all of its quirks.&lt;br /&gt;
This is provided in order to support existing templates, but is NOT RECOMMENDED for&lt;br /&gt;
new code and templates.  New code is recommended to use the &amp;quot;find&amp;quot; function instead.&lt;br /&gt;
&lt;br /&gt;
Returns the first index in &amp;quot;source&amp;quot; that is a match to &amp;quot;target&amp;quot;.  Indexing is 1-based,&lt;br /&gt;
and the function returns -1 if the &amp;quot;target&amp;quot; string is not present in &amp;quot;source&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Important Note: If the &amp;quot;target&amp;quot; string is empty / missing, this function returns a&lt;br /&gt;
value of &amp;quot;1&amp;quot;, which is generally unexpected behavior, and must be accounted for&lt;br /&gt;
separatetly.&lt;br /&gt;
]]&lt;br /&gt;
function str.str_find( frame )&lt;br /&gt;
	local new_args = str._getParameters( frame.args, {&#039;source&#039;, &#039;target&#039;} )&lt;br /&gt;
	local source_str = new_args[&#039;source&#039;] or &#039;&#039;&lt;br /&gt;
	local target_str = new_args[&#039;target&#039;] or &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
	if target_str == &#039;&#039; then&lt;br /&gt;
		return 1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local start = mw.ustring.find( source_str, target_str, 1, true )&lt;br /&gt;
	if start == nil then&lt;br /&gt;
		start = -1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return start&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
find&lt;br /&gt;
&lt;br /&gt;
This function allows one to search for a target string or pattern within another&lt;br /&gt;
string.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|find|source_str|target_string|start_index|plain_flag}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    source: The string to search&lt;br /&gt;
    target: The string or pattern to find within source&lt;br /&gt;
    start: The index within the source string to start the search, defaults to 1&lt;br /&gt;
    plain: Boolean flag indicating that target should be understood as plain&lt;br /&gt;
        text and not as a Lua style regular expression, defaults to true&lt;br /&gt;
&lt;br /&gt;
If invoked using named parameters, Mediawiki will automatically remove any leading or&lt;br /&gt;
trailing whitespace from the parameter.  In some circumstances this is desirable, in&lt;br /&gt;
other cases one may want to preserve the whitespace.&lt;br /&gt;
&lt;br /&gt;
This function returns the first index &amp;gt;= &amp;quot;start&amp;quot; where &amp;quot;target&amp;quot; can be found&lt;br /&gt;
within &amp;quot;source&amp;quot;.  Indices are 1-based.  If &amp;quot;target&amp;quot; is not found, then this&lt;br /&gt;
function returns 0.  If either &amp;quot;source&amp;quot; or &amp;quot;target&amp;quot; are missing / empty, this&lt;br /&gt;
function also returns 0.&lt;br /&gt;
&lt;br /&gt;
This function should be safe for UTF-8 strings.&lt;br /&gt;
]]&lt;br /&gt;
function str.find( frame )&lt;br /&gt;
	local new_args = str._getParameters( frame.args, {&#039;source&#039;, &#039;target&#039;, &#039;start&#039;, &#039;plain&#039; } )&lt;br /&gt;
	local source_str = new_args[&#039;source&#039;] or &#039;&#039;&lt;br /&gt;
	local pattern = new_args[&#039;target&#039;] or &#039;&#039;&lt;br /&gt;
	local start_pos = tonumber(new_args[&#039;start&#039;]) or 1&lt;br /&gt;
	local plain = new_args[&#039;plain&#039;] or true&lt;br /&gt;
&lt;br /&gt;
	if source_str == &#039;&#039; or pattern == &#039;&#039; then&lt;br /&gt;
		return 0&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	plain = str._getBoolean( plain )&lt;br /&gt;
&lt;br /&gt;
	local start = mw.ustring.find( source_str, pattern, start_pos, plain )&lt;br /&gt;
	if start == nil then&lt;br /&gt;
		start = 0&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return start&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
replace&lt;br /&gt;
&lt;br /&gt;
This function allows one to replace a target string or pattern within another&lt;br /&gt;
string.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string|&lt;br /&gt;
   count=replacement_count|plain=plain_flag}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    source: The string to search&lt;br /&gt;
    pattern: The string or pattern to find within source&lt;br /&gt;
    replace: The replacement text&lt;br /&gt;
    count: The number of occurences to replace, defaults to all.&lt;br /&gt;
    plain: Boolean flag indicating that pattern should be understood as plain&lt;br /&gt;
        text and not as a Lua style regular expression, defaults to true&lt;br /&gt;
]]&lt;br /&gt;
function str.replace( frame )&lt;br /&gt;
	local new_args = str._getParameters( frame.args, {&#039;source&#039;, &#039;pattern&#039;, &#039;replace&#039;, &#039;count&#039;, &#039;plain&#039; } )&lt;br /&gt;
	local source_str = new_args[&#039;source&#039;] or &#039;&#039;&lt;br /&gt;
	local pattern = new_args[&#039;pattern&#039;] or &#039;&#039;&lt;br /&gt;
	local replace = new_args[&#039;replace&#039;] or &#039;&#039;&lt;br /&gt;
	local count = tonumber( new_args[&#039;count&#039;] )&lt;br /&gt;
	local plain = new_args[&#039;plain&#039;] or true&lt;br /&gt;
&lt;br /&gt;
	if source_str == &#039;&#039; or pattern == &#039;&#039; then&lt;br /&gt;
		return source_str&lt;br /&gt;
	end&lt;br /&gt;
	plain = str._getBoolean( plain )&lt;br /&gt;
&lt;br /&gt;
	if plain then&lt;br /&gt;
		pattern = str._escapePattern( pattern )&lt;br /&gt;
		replace = string.gsub( replace, &amp;quot;%%&amp;quot;, &amp;quot;%%%%&amp;quot; ) --Only need to escape replacement sequences.&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local result&lt;br /&gt;
&lt;br /&gt;
	if count ~= nil then&lt;br /&gt;
		result = mw.ustring.gsub( source_str, pattern, replace, count )&lt;br /&gt;
	else&lt;br /&gt;
		result = mw.ustring.gsub( source_str, pattern, replace )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
    simple function to pipe string.rep to templates.&lt;br /&gt;
]]&lt;br /&gt;
function str.rep( frame )&lt;br /&gt;
	local repetitions = tonumber( frame.args[2] )&lt;br /&gt;
	if not repetitions then&lt;br /&gt;
		return str._error( &#039;function rep expects a number as second parameter, received &amp;quot;&#039; .. ( frame.args[2] or &#039;&#039; ) .. &#039;&amp;quot;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	return string.rep( frame.args[1] or &#039;&#039;, repetitions )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
escapePattern&lt;br /&gt;
&lt;br /&gt;
This function escapes special characters from a Lua string pattern. See [1]&lt;br /&gt;
for details on how patterns work.&lt;br /&gt;
&lt;br /&gt;
[1] https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|escapePattern|pattern_string}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    pattern_string: The pattern string to escape.&lt;br /&gt;
]]&lt;br /&gt;
function str.escapePattern( frame )&lt;br /&gt;
	local pattern_str = frame.args[1]&lt;br /&gt;
	if not pattern_str then&lt;br /&gt;
		return str._error( &#039;No pattern string specified&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	local result = str._escapePattern( pattern_str )&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
count&lt;br /&gt;
This function counts the number of occurrences of one string in another.&lt;br /&gt;
]]&lt;br /&gt;
function str.count(frame)&lt;br /&gt;
	local args = str._getParameters(frame.args, {&#039;source&#039;, &#039;pattern&#039;, &#039;plain&#039;})&lt;br /&gt;
	local source = args.source or &#039;&#039;&lt;br /&gt;
	local pattern = args.pattern or &#039;&#039;&lt;br /&gt;
	local plain = str._getBoolean(args.plain or true)&lt;br /&gt;
	if plain then&lt;br /&gt;
		pattern = str._escapePattern(pattern)&lt;br /&gt;
	end&lt;br /&gt;
	local _, count = mw.ustring.gsub(source, pattern, &#039;&#039;)&lt;br /&gt;
	return count&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
endswith&lt;br /&gt;
This function determines whether a string ends with another string.&lt;br /&gt;
]]&lt;br /&gt;
function str.endswith(frame)&lt;br /&gt;
	local args = str._getParameters(frame.args, {&#039;source&#039;, &#039;pattern&#039;})&lt;br /&gt;
	local source = args.source or &#039;&#039;&lt;br /&gt;
	local pattern = args.pattern or &#039;&#039;&lt;br /&gt;
	if pattern == &#039;&#039; then&lt;br /&gt;
		-- All strings end with the empty string.&lt;br /&gt;
		return &amp;quot;yes&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if mw.ustring.sub(source, -mw.ustring.len(pattern), -1) == pattern then&lt;br /&gt;
		return &amp;quot;yes&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
join&lt;br /&gt;
&lt;br /&gt;
Join all non empty arguments together; the first argument is the separator.&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|join|sep|one|two|three}}&lt;br /&gt;
]]&lt;br /&gt;
function str.join(frame)&lt;br /&gt;
	local args = {}&lt;br /&gt;
	local sep&lt;br /&gt;
	for _, v in ipairs( frame.args ) do&lt;br /&gt;
		if sep then&lt;br /&gt;
			if v ~= &#039;&#039; then&lt;br /&gt;
				table.insert(args, v)&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			sep = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat( args, sep or &#039;&#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- findpagetext returns the position of a piece of text in a page&lt;br /&gt;
-- First positional parameter or |text is the search text&lt;br /&gt;
-- Optional parameter |title is the page title, defaults to current page&lt;br /&gt;
-- Optional parameter |plain is either true for plain search (default) or false for Lua pattern search&lt;br /&gt;
-- Optional parameter |nomatch is the return value when no match is found; default is nil&lt;br /&gt;
function str._findpagetext(args)&lt;br /&gt;
	-- process parameters&lt;br /&gt;
	local nomatch = args.nomatch or &amp;quot;&amp;quot;&lt;br /&gt;
	if nomatch == &amp;quot;&amp;quot; then nomatch = nil end&lt;br /&gt;
	--&lt;br /&gt;
	local text = mw.text.trim(args[1] or args.text or &amp;quot;&amp;quot;)&lt;br /&gt;
	if text == &amp;quot;&amp;quot; then return nil end&lt;br /&gt;
	--&lt;br /&gt;
	local title = args.title or &amp;quot;&amp;quot;&lt;br /&gt;
	local titleobj&lt;br /&gt;
	if title == &amp;quot;&amp;quot; then&lt;br /&gt;
		titleobj = mw.title.getCurrentTitle()&lt;br /&gt;
	else&lt;br /&gt;
		titleobj = mw.title.new(title)&lt;br /&gt;
	end&lt;br /&gt;
	--&lt;br /&gt;
	local plain = args.plain or &amp;quot;&amp;quot;&lt;br /&gt;
	if plain:sub(1, 1) == &amp;quot;f&amp;quot; then plain = false else plain = true end&lt;br /&gt;
	-- get the page content and look for &#039;text&#039; - return position or nomatch&lt;br /&gt;
	local content = titleobj and titleobj:getContent()&lt;br /&gt;
	return content and mw.ustring.find(content, text, 1, plain) or nomatch&lt;br /&gt;
end&lt;br /&gt;
function str.findpagetext(frame)&lt;br /&gt;
	local args = frame.args&lt;br /&gt;
	local pargs = frame:getParent().args&lt;br /&gt;
	for k, v in pairs(pargs) do&lt;br /&gt;
		args[k] = v&lt;br /&gt;
	end&lt;br /&gt;
	if not (args[1] or args.text) then return nil end&lt;br /&gt;
	-- just the first value&lt;br /&gt;
	return (str._findpagetext(args))&lt;br /&gt;
end&lt;br /&gt;
--[[&lt;br /&gt;
Helper function that populates the argument list given that user may need to use a mix of&lt;br /&gt;
named and unnamed parameters.  This is relevant because named parameters are not&lt;br /&gt;
identical to unnamed parameters due to string trimming, and when dealing with strings&lt;br /&gt;
we sometimes want to either preserve or remove that whitespace depending on the application.&lt;br /&gt;
]]&lt;br /&gt;
function str._getParameters( frame_args, arg_list )&lt;br /&gt;
	local new_args = {}&lt;br /&gt;
	local index = 1&lt;br /&gt;
	local value&lt;br /&gt;
&lt;br /&gt;
	for _, arg in ipairs( arg_list ) do&lt;br /&gt;
		value = frame_args[arg]&lt;br /&gt;
		if value == nil then&lt;br /&gt;
			value = frame_args[index]&lt;br /&gt;
			index = index + 1&lt;br /&gt;
		end&lt;br /&gt;
		new_args[arg] = value&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return new_args&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Helper function to handle error messages.&lt;br /&gt;
]]&lt;br /&gt;
function str._error( error_str )&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	local error_category = frame.args.error_category or &#039;Errors reported by Module String&#039;&lt;br /&gt;
	local ignore_errors = frame.args.ignore_errors or false&lt;br /&gt;
	local no_category = frame.args.no_category or false&lt;br /&gt;
&lt;br /&gt;
	if str._getBoolean(ignore_errors) then&lt;br /&gt;
		return &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local error_str = &#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;String Module Error: &#039; .. error_str .. &#039;&amp;lt;/strong&amp;gt;&#039;&lt;br /&gt;
	if error_category ~= &#039;&#039; and not str._getBoolean( no_category ) then&lt;br /&gt;
		error_str = &#039;[[Category:&#039; .. error_category .. &#039;]]&#039; .. error_str&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return error_str&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Helper Function to interpret boolean strings&lt;br /&gt;
]]&lt;br /&gt;
function str._getBoolean( boolean_str )&lt;br /&gt;
	local boolean_value&lt;br /&gt;
&lt;br /&gt;
	if type( boolean_str ) == &#039;string&#039; then&lt;br /&gt;
		boolean_str = boolean_str:lower()&lt;br /&gt;
		if boolean_str == &#039;false&#039; or boolean_str == &#039;no&#039; or boolean_str == &#039;0&#039;&lt;br /&gt;
				or boolean_str == &#039;&#039; then&lt;br /&gt;
			boolean_value = false&lt;br /&gt;
		else&lt;br /&gt;
			boolean_value = true&lt;br /&gt;
		end&lt;br /&gt;
	elseif type( boolean_str ) == &#039;boolean&#039; then&lt;br /&gt;
		boolean_value = boolean_str&lt;br /&gt;
	else&lt;br /&gt;
		error( &#039;No boolean value found&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	return boolean_value&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Helper function that escapes all pattern characters so that they will be treated&lt;br /&gt;
as plain text.&lt;br /&gt;
]]&lt;br /&gt;
function str._escapePattern( pattern_str )&lt;br /&gt;
	return ( string.gsub( pattern_str, &amp;quot;[%(%)%.%%%+%-%*%?%[%^%$%]]&amp;quot;, &amp;quot;%%%0&amp;quot; ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return str&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Template:Sandbox_other&amp;diff=28150</id>
		<title>Template:Sandbox other</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Template:Sandbox_other&amp;diff=28150"/>
		<updated>2026-09-13T06:17:44Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: update from wikipedia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;{{safesubst:&amp;lt;noinclude/&amp;gt;#if:{{safesubst:&amp;lt;noinclude/&amp;gt;#ifeq:{{safesubst:&amp;lt;noinclude/&amp;gt;#invoke:String|sublength|s={{safesubst:&amp;lt;noinclude/&amp;gt;SUBPAGENAME}}|i=0|len=7}}|sandbox|1}}{{safesubst:&amp;lt;noinclude/&amp;gt;#ifeq:{{safesubst:&amp;lt;noinclude/&amp;gt;SUBPAGENAME}}|doc|1}}{{safesubst:&amp;lt;noinclude/&amp;gt;#invoke:String|match|{{safesubst:&amp;lt;noinclude/&amp;gt;PAGENAME}}|/sandbox/styles.css$|plain=false|nomatch=}}|{{{1|}}}|{{{2|}}}}}&amp;lt;/onlyinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{documentation}}&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Labeller&amp;diff=28149</id>
		<title>Labeller</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Labeller&amp;diff=28149"/>
		<updated>2026-09-13T06:08:44Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: update data&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tools]]&lt;br /&gt;
&lt;br /&gt;
{{Itembox&lt;br /&gt;
| name = Labeller&lt;br /&gt;
| image =  [[File:{{#setmainimage:ItemLabeller.png}}]]&lt;br /&gt;
| stacks = No&lt;br /&gt;
| cost = &lt;br /&gt;
| recipe_machine1 = Electronics Printer&lt;br /&gt;
| recipe_cost1 = 3g [[Iron]], 1g [[Gold]], 2g [[Copper]]&lt;br /&gt;
| prefabhash = -743968726&lt;br /&gt;
| prefabname = ItemLabeller&lt;br /&gt;
| autoignition = 373 K&lt;br /&gt;
| flashpoint = 523 K&lt;br /&gt;
| paintable = yes&lt;br /&gt;
| recipe_machine2 = Tool Manufactory&lt;br /&gt;
| recipe_cost2 = 2g [[Iron]], 1g [[Gold]]&lt;br /&gt;
}}&lt;br /&gt;
{{Stationpedia|A labeller lets you set names and values on a variety of devices and structures, including [[Console]] and [[Logic]].}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
[[Labeller]] is one of the [[Starting Gear| tools you start with]]. Used to re-name objects in the game. Renaming objects is useful for distinguishing items during [[Console]] configuration or selecting values from [[Logic]] chips&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Labeller can be used for setting a value, use it on knob or button and write value.&lt;br /&gt;
&lt;br /&gt;
== Use ==&lt;br /&gt;
Use left-click while in active hands to use.&lt;br /&gt;
&lt;br /&gt;
== Special Cases ==&lt;br /&gt;
When used on [[Composite Door| composite doors]] the name of the door will be visible to the player.&lt;br /&gt;
&lt;br /&gt;
== Text Formatting ==&lt;br /&gt;
You can modify attributes of the text (size, color, etc.)&amp;lt;br&amp;gt;&lt;br /&gt;
Current tags:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;color=c&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
c=white, red, orange, yellow, green, blue, purple, or black&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;size=n&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
n=0.01-40 (anything above or below throws an error for being out of range&amp;lt;br&amp;gt;&lt;br /&gt;
http://digitalnativestudios.com/textmeshpro/docs/rich-text/&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Template:Stationpedia/doc&amp;diff=28148</id>
		<title>Template:Stationpedia/doc</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Template:Stationpedia/doc&amp;diff=28148"/>
		<updated>2026-09-13T06:05:59Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: add templatedata&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
Apply this template to create a Stationpedia quotebox at the top of a page. Assuming one exists.&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
* &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; - The Stationpedia quote in its entirety, including any page links.&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
# Enter &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Stationpedia|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Enter the Stationpedia quote&lt;br /&gt;
# End with &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Should look like: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Stationpedia|I believe this is where the [[Template:Stationpedia]] quote goes?}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
{{Stationpedia|The Stationeers wind turbine was first designed by Norsec atmospheric engineers, looking to create a wind-driven power generation system that would operate even on exceedingly low atmosphere worlds. The ultra-light blades respond to exceedingly low atmospheric densities, while being strong enough to function even under huge strain in much more demanding environments.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;While the wind turbine is optimized to produce power (up to 500W) even on low atmosphere worlds, it performs best in denser environments. Output varies with wind speed and, during storms, may increase dramatically (up to 20,000W), so be careful to design your power networks with that in mind.}}&lt;br /&gt;
&lt;br /&gt;
== TemplateData ==&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Text&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The text to display.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Apply this template to create a Stationpedia quotebox at the top of a page. Assuming one exists.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Template:Itembox/doc&amp;diff=28147</id>
		<title>Template:Itembox/doc</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Template:Itembox/doc&amp;diff=28147"/>
		<updated>2026-09-13T05:52:34Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: move templatedata&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Itembox&lt;br /&gt;
 |            name = item&#039;s name&lt;br /&gt;
 |           image = item&#039;s image&lt;br /&gt;
 |          stacks = item&#039;s stacks (number only)&lt;br /&gt;
 |       paintable = item is paintable&lt;br /&gt;
 |      constructs = item&#039;s constructing variations&lt;br /&gt;
 |     createdwith = old style item&#039;s recipe machine&lt;br /&gt;
 |            cost = old style item&#039;s recipe cost&lt;br /&gt;
 | recipe_machine1 = new style recipe machine (1)&lt;br /&gt;
 |    recipe_cost1 = new style recipe machine (1) cost&lt;br /&gt;
 | recipe_machine2 = new style recipe machine (2)&lt;br /&gt;
 |    recipe_cost2 = new style recipe machine (2) cost&lt;br /&gt;
 | recipe_machine3 = new style recipe machine (3)&lt;br /&gt;
 |    recipe_cost3 = new style recipe machine (3) cost&lt;br /&gt;
 |        usedwith = usedwith&lt;br /&gt;
 |      maxinpower = item&#039;s maximum input power&lt;br /&gt;
 |     maxoutpower = item&#039;s maximum output power&lt;br /&gt;
 |     maxpressure = item&#039;s maximum pressure&lt;br /&gt;
 |   pressurerange = item&#039;s pressure range&lt;br /&gt;
 |         maxtemp = item&#039;s maximum temperature&lt;br /&gt;
 |       temprange = item&#039;s temperature range&lt;br /&gt;
 |           logic = item&#039;s logic parameter&lt;br /&gt;
 |          volume = item&#039;s volume&lt;br /&gt;
 |      prefabhash = item&#039;s prefab. hash&lt;br /&gt;
 |      prefabname = item&#039;s prefab. name&lt;br /&gt;
 |      slot_class = item&#039;s slot class when in a slot (SlotClass.None, etc)&lt;br /&gt;
 |   sorting_class = item&#039;s sorting class (used in Logic Sorter) (SortingClass.Default, etc)&lt;br /&gt;
 |       nutrition = item&#039;s nutrition&lt;br /&gt;
 |         quality = item&#039;s quality&lt;br /&gt;
 |      growthtime = item&#039;s growth time&lt;br /&gt;
}}&lt;br /&gt;
== Example ==&lt;br /&gt;
The following code produces the box presented on the right.&lt;br /&gt;
All possible arguments are utilized in this example.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{Itembox&lt;br /&gt;
 |            name = item&#039;s name&lt;br /&gt;
 |           image = item&#039;s image&lt;br /&gt;
 |          stacks = item&#039;s stacks (number only)&lt;br /&gt;
 |       paintable = item is paintable&lt;br /&gt;
 |      constructs = item&#039;s constructing variations&lt;br /&gt;
 |     createdwith = old style item&#039;s recipe machine&lt;br /&gt;
 |            cost = old style item&#039;s recipe cost&lt;br /&gt;
 | recipe_machine1 = new style recipe machine (1)&lt;br /&gt;
 |    recipe_cost1 = new style recipe machine (1) cost&lt;br /&gt;
 | recipe_machine2 = new style recipe machine (2)&lt;br /&gt;
 |    recipe_cost2 = new style recipe machine (2) cost&lt;br /&gt;
 | recipe_machine3 = new style recipe machine (3)&lt;br /&gt;
 |    recipe_cost3 = new style recipe machine (3) cost&lt;br /&gt;
 |        usedwith = usedwith&lt;br /&gt;
 |      maxinpower = item&#039;s maximum input power&lt;br /&gt;
 |     maxoutpower = item&#039;s maximum output power&lt;br /&gt;
 |     maxpressure = item&#039;s maximum pressure&lt;br /&gt;
 |   pressurerange = item&#039;s pressure range&lt;br /&gt;
 |         maxtemp = item&#039;s maximum temperature&lt;br /&gt;
 |       temprange = item&#039;s temperature range&lt;br /&gt;
 |           logic = item&#039;s logic parameter&lt;br /&gt;
 |          volume = item&#039;s volume&lt;br /&gt;
 |      prefabhash = item&#039;s prefab. hash&lt;br /&gt;
 |      prefabname = item&#039;s prefab. name&lt;br /&gt;
 |      slot_class = item&#039;s slot class when in a slot (SlotClass.None, etc)&lt;br /&gt;
 |   sorting_class = item&#039;s sorting class (used in Logic Sorter) (SortingClass.Default, etc)&lt;br /&gt;
 |       nutrition = item&#039;s nutrition value (if food)&lt;br /&gt;
 |         quality = item&#039;s quality rating (if food)&lt;br /&gt;
 |      growthtime = item&#039;s growth time (if plant)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Template ==&lt;br /&gt;
Here&#039;s a blank example you can copy to fill in the data&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{Itembox&lt;br /&gt;
 |            name = &lt;br /&gt;
 |           image = &lt;br /&gt;
 |          stacks = &lt;br /&gt;
 |       paintable = &lt;br /&gt;
 |      constructs = &lt;br /&gt;
 |     createdwith = &lt;br /&gt;
 |            cost = &lt;br /&gt;
 | recipe_machine1 = &lt;br /&gt;
 |    recipe_cost1 = &lt;br /&gt;
 | recipe_machine2 = &lt;br /&gt;
 |    recipe_cost2 = &lt;br /&gt;
 | recipe_machine3 = &lt;br /&gt;
 |    recipe_cost3 = &lt;br /&gt;
 |        usedwith = &lt;br /&gt;
 |      maxinpower = &lt;br /&gt;
 |     maxoutpower = &lt;br /&gt;
 |     maxpressure = &lt;br /&gt;
 |   pressurerange = &lt;br /&gt;
 |         maxtemp = &lt;br /&gt;
 |       temprange = &lt;br /&gt;
 |           logic = &lt;br /&gt;
 |          volume = &lt;br /&gt;
 |      prefabhash = &lt;br /&gt;
 |      prefabname =&lt;br /&gt;
 |      slot_class =&lt;br /&gt;
 |   sorting_class =&lt;br /&gt;
 |       nutrition =&lt;br /&gt;
 |         quality =&lt;br /&gt;
 |      growthtime =&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TemplateData ==&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;name&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Name&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;item&#039;s name &amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;image&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;wiki-file-name&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Image&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;item&#039;s image &amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;stacks&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Stacks&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;item&#039;s stacks (number only) &amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;autoignition&amp;quot;: {},&lt;br /&gt;
		&amp;quot;flashpoint&amp;quot;: {},&lt;br /&gt;
		&amp;quot;paintable&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Paintable&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;item is paintable&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;true/false/yes/no&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;constructs&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Constructs&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;item&#039;s constructing variations&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;usedwith&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxinpower&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxoutpower&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxpressure&amp;quot;: {},&lt;br /&gt;
		&amp;quot;pressurerange&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxtemp&amp;quot;: {},&lt;br /&gt;
		&amp;quot;temprange&amp;quot;: {},&lt;br /&gt;
		&amp;quot;volume&amp;quot;: {},&lt;br /&gt;
		&amp;quot;createdwith&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;deprecated&amp;quot;: &amp;quot;recipe_machine is prefered over this&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;cost&amp;quot;: {&lt;br /&gt;
			&amp;quot;deprecated&amp;quot;: &amp;quot;recipe_cost1 is prefered over this&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_machine1&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_cost1&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_machine2&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_cost2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;recipe_machine3&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_cost3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;logic&amp;quot;: {},&lt;br /&gt;
		&amp;quot;prefabhash&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;prefabname&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;slot_class&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Slot Class&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;item&#039;s slot class when in a slot (SlotClass.None, etc) &amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;SlotClass.None&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;sorting_class&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Sorting Class&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;item&#039;s sorting class (used in Logic Sorter) (SortingClass.Default, etc) &amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;SortingClass.Default&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;hashid&amp;quot;: {&lt;br /&gt;
			&amp;quot;deprecated&amp;quot;: &amp;quot;use prefabhash&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;nutrition&amp;quot;: {},&lt;br /&gt;
		&amp;quot;quality&amp;quot;: {},&lt;br /&gt;
		&amp;quot;growthtime&amp;quot;: {},&lt;br /&gt;
		&amp;quot;moodbonus&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module4&amp;quot;: {}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Template:Itembox/doc&amp;diff=28146</id>
		<title>Template:Itembox/doc</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Template:Itembox/doc&amp;diff=28146"/>
		<updated>2026-09-13T05:44:31Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: move templatedata&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation subpage}}&lt;br /&gt;
&lt;br /&gt;
{{Itembox&lt;br /&gt;
 |            name = item&#039;s name&lt;br /&gt;
 |           image = item&#039;s image&lt;br /&gt;
 |          stacks = item&#039;s stacks (number only)&lt;br /&gt;
 |       paintable = item is paintable&lt;br /&gt;
 |      constructs = item&#039;s constructing variations&lt;br /&gt;
 |     createdwith = old style item&#039;s recipe machine&lt;br /&gt;
 |            cost = old style item&#039;s recipe cost&lt;br /&gt;
 | recipe_machine1 = new style recipe machine (1)&lt;br /&gt;
 |    recipe_cost1 = new style recipe machine (1) cost&lt;br /&gt;
 | recipe_machine2 = new style recipe machine (2)&lt;br /&gt;
 |    recipe_cost2 = new style recipe machine (2) cost&lt;br /&gt;
 | recipe_machine3 = new style recipe machine (3)&lt;br /&gt;
 |    recipe_cost3 = new style recipe machine (3) cost&lt;br /&gt;
 |        usedwith = usedwith&lt;br /&gt;
 |      maxinpower = item&#039;s maximum input power&lt;br /&gt;
 |     maxoutpower = item&#039;s maximum output power&lt;br /&gt;
 |     maxpressure = item&#039;s maximum pressure&lt;br /&gt;
 |   pressurerange = item&#039;s pressure range&lt;br /&gt;
 |         maxtemp = item&#039;s maximum temperature&lt;br /&gt;
 |       temprange = item&#039;s temperature range&lt;br /&gt;
 |           logic = item&#039;s logic parameter&lt;br /&gt;
 |          volume = item&#039;s volume&lt;br /&gt;
 |      prefabhash = item&#039;s prefab. hash&lt;br /&gt;
 |      prefabname = item&#039;s prefab. name&lt;br /&gt;
 |      slot_class = item&#039;s slot class when in a slot (SlotClass.None, etc)&lt;br /&gt;
 |   sorting_class = item&#039;s sorting class (used in Logic Sorter) (SortingClass.Default, etc)&lt;br /&gt;
 |       nutrition = item&#039;s nutrition&lt;br /&gt;
 |         quality = item&#039;s quality&lt;br /&gt;
 |      growthtime = item&#039;s growth time&lt;br /&gt;
}}&lt;br /&gt;
== Example ==&lt;br /&gt;
The following code produces the box presented on the right.&lt;br /&gt;
All possible arguments are utilized in this example.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{Itembox&lt;br /&gt;
 |            name = item&#039;s name&lt;br /&gt;
 |           image = item&#039;s image&lt;br /&gt;
 |          stacks = item&#039;s stacks (number only)&lt;br /&gt;
 |       paintable = item is paintable&lt;br /&gt;
 |      constructs = item&#039;s constructing variations&lt;br /&gt;
 |     createdwith = old style item&#039;s recipe machine&lt;br /&gt;
 |            cost = old style item&#039;s recipe cost&lt;br /&gt;
 | recipe_machine1 = new style recipe machine (1)&lt;br /&gt;
 |    recipe_cost1 = new style recipe machine (1) cost&lt;br /&gt;
 | recipe_machine2 = new style recipe machine (2)&lt;br /&gt;
 |    recipe_cost2 = new style recipe machine (2) cost&lt;br /&gt;
 | recipe_machine3 = new style recipe machine (3)&lt;br /&gt;
 |    recipe_cost3 = new style recipe machine (3) cost&lt;br /&gt;
 |        usedwith = usedwith&lt;br /&gt;
 |      maxinpower = item&#039;s maximum input power&lt;br /&gt;
 |     maxoutpower = item&#039;s maximum output power&lt;br /&gt;
 |     maxpressure = item&#039;s maximum pressure&lt;br /&gt;
 |   pressurerange = item&#039;s pressure range&lt;br /&gt;
 |         maxtemp = item&#039;s maximum temperature&lt;br /&gt;
 |       temprange = item&#039;s temperature range&lt;br /&gt;
 |           logic = item&#039;s logic parameter&lt;br /&gt;
 |          volume = item&#039;s volume&lt;br /&gt;
 |      prefabhash = item&#039;s prefab. hash&lt;br /&gt;
 |      prefabname = item&#039;s prefab. name&lt;br /&gt;
 |      slot_class = item&#039;s slot class when in a slot (SlotClass.None, etc)&lt;br /&gt;
 |   sorting_class = item&#039;s sorting class (used in Logic Sorter) (SortingClass.Default, etc)&lt;br /&gt;
 |       nutrition = item&#039;s nutrition value (if food)&lt;br /&gt;
 |         quality = item&#039;s quality rating (if food)&lt;br /&gt;
 |      growthtime = item&#039;s growth time (if plant)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
Here&#039;s a blank example you can copy to fill in the data&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{Itembox&lt;br /&gt;
 |            name = &lt;br /&gt;
 |           image = &lt;br /&gt;
 |          stacks = &lt;br /&gt;
 |       paintable = &lt;br /&gt;
 |      constructs = &lt;br /&gt;
 |     createdwith = &lt;br /&gt;
 |            cost = &lt;br /&gt;
 | recipe_machine1 = &lt;br /&gt;
 |    recipe_cost1 = &lt;br /&gt;
 | recipe_machine2 = &lt;br /&gt;
 |    recipe_cost2 = &lt;br /&gt;
 | recipe_machine3 = &lt;br /&gt;
 |    recipe_cost3 = &lt;br /&gt;
 |        usedwith = &lt;br /&gt;
 |      maxinpower = &lt;br /&gt;
 |     maxoutpower = &lt;br /&gt;
 |     maxpressure = &lt;br /&gt;
 |   pressurerange = &lt;br /&gt;
 |         maxtemp = &lt;br /&gt;
 |       temprange = &lt;br /&gt;
 |           logic = &lt;br /&gt;
 |          volume = &lt;br /&gt;
 |      prefabhash = &lt;br /&gt;
 |      prefabname =&lt;br /&gt;
 |      slot_class =&lt;br /&gt;
 |   sorting_class =&lt;br /&gt;
 |       nutrition =&lt;br /&gt;
 |         quality =&lt;br /&gt;
 |      growthtime =&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TemplateData ==&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;name&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Name&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;item&#039;s name &amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;image&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;wiki-file-name&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Image&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;item&#039;s image &amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;stacks&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Stacks&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;item&#039;s stacks (number only) &amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;autoignition&amp;quot;: {},&lt;br /&gt;
		&amp;quot;flashpoint&amp;quot;: {},&lt;br /&gt;
		&amp;quot;paintable&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Paintable&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;item is paintable&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;true/false/yes/no&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;constructs&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Constructs&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;item&#039;s constructing variations&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;usedwith&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxinpower&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxoutpower&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxpressure&amp;quot;: {},&lt;br /&gt;
		&amp;quot;pressurerange&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxtemp&amp;quot;: {},&lt;br /&gt;
		&amp;quot;temprange&amp;quot;: {},&lt;br /&gt;
		&amp;quot;volume&amp;quot;: {},&lt;br /&gt;
		&amp;quot;createdwith&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;deprecated&amp;quot;: &amp;quot;recipe_machine is prefered over this&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;cost&amp;quot;: {&lt;br /&gt;
			&amp;quot;deprecated&amp;quot;: &amp;quot;recipe_cost1 is prefered over this&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_machine1&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_cost1&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_machine2&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_cost2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;recipe_machine3&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_cost3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;logic&amp;quot;: {},&lt;br /&gt;
		&amp;quot;prefabhash&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;prefabname&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;slot_class&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Slot Class&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;item&#039;s slot class when in a slot (SlotClass.None, etc) &amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;SlotClass.None&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;sorting_class&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Sorting Class&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;item&#039;s sorting class (used in Logic Sorter) (SortingClass.Default, etc) &amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;SortingClass.Default&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;hashid&amp;quot;: {&lt;br /&gt;
			&amp;quot;deprecated&amp;quot;: &amp;quot;use prefabhash&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;nutrition&amp;quot;: {},&lt;br /&gt;
		&amp;quot;quality&amp;quot;: {},&lt;br /&gt;
		&amp;quot;growthtime&amp;quot;: {},&lt;br /&gt;
		&amp;quot;moodbonus&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module4&amp;quot;: {}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Template:Itembox&amp;diff=28145</id>
		<title>Template:Itembox</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Template:Itembox&amp;diff=28145"/>
		<updated>2026-09-13T05:41:58Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: move params into /doc instead&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Infobox&lt;br /&gt;
| name = Itembox&lt;br /&gt;
| title = {{{name|{{PAGENAME}}}}}&lt;br /&gt;
| image =  {{{image|}}}&lt;br /&gt;
| header19 = {{ #if: {{{stacks|}}}{{{autoignition|}}}{{{flashpoint|}}}{{{paintable|}}} | Properties &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Stacks&lt;br /&gt;
    | data1 = {{#if: {{{stacks|}}} |&lt;br /&gt;
      {{#iferror:&lt;br /&gt;
        {{#expr: {{{stacks|}}}+1 }}&lt;br /&gt;
        | {{{stacks|}}} |&lt;br /&gt;
        {{#ifexpr: {{{stacks|}}} = 1 | No | Yes ({{{stacks|}}}) }}&lt;br /&gt;
      }}&lt;br /&gt;
    }}&lt;br /&gt;
    | label2 = Paintable&lt;br /&gt;
    | data2 = {{Yesno|{{{paintable|}}}|yes=Yes|no=No|default=No}}&lt;br /&gt;
    | label3 = Autoignition&lt;br /&gt;
    | data3 = {{{autoignition|}}}&lt;br /&gt;
    | label4 = Flashpoint&lt;br /&gt;
    | data4 = {{{flashpoint|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| label6 = Constructing Options&lt;br /&gt;
| data6 = {{{constructs|}}}&lt;br /&gt;
| label7 = Used With&lt;br /&gt;
| data7 = {{{usedwith|}}}&lt;br /&gt;
| label8 = Max Input Power&lt;br /&gt;
| data8 = {{{maxinpower|}}}&lt;br /&gt;
| label9 = Max Output Power&lt;br /&gt;
| data9 = {{{maxoutpower|}}}&lt;br /&gt;
| label10 = Max Pressure&lt;br /&gt;
| data10 = {{{maxpressure|}}}&lt;br /&gt;
| label11 = Pressure Range&lt;br /&gt;
| data11 = {{{pressurerange|}}}&lt;br /&gt;
| label12 = Max Temperature&lt;br /&gt;
| data12 = {{{maxtemp|}}}&lt;br /&gt;
| label13 = Temperature Range&lt;br /&gt;
| data13 = {{{temprange|}}}&lt;br /&gt;
| label14 = Volume&lt;br /&gt;
| data14 = {{{volume|}}}&lt;br /&gt;
| header20 = {{ #if: {{{createdwith|}}} | Recipe &amp;lt;!-- Old recipe style&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Created With&lt;br /&gt;
    | data1 = {{{createdwith|}}}&lt;br /&gt;
    | label2 = Cost&lt;br /&gt;
    | data2 = {{{cost|}}}&lt;br /&gt;
    }}&lt;br /&gt;
  }}&lt;br /&gt;
| header21 = {{ #if: {{{recipe_machine1|}}} | Recipes &amp;lt;!-- New recipe style&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = [[{{{recipe_machine1|}}}]]&lt;br /&gt;
    | data1 = {{{recipe_cost1|}}}&lt;br /&gt;
    | label4 = [[{{{recipe_machine2|}}}]]&lt;br /&gt;
    | data4 = {{{recipe_cost2|}}}&lt;br /&gt;
    | label6 = [[{{{recipe_machine3|}}}]]&lt;br /&gt;
    | data6 = {{{recipe_cost3|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| header22 = {{ #if: {{{logic|}}}{{{prefabhash|}}}{{{prefabname|}}}{{{slot_class|}}}{{{sorting_class|}}}{{{hashid|}}} | Logic &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Item Hash&lt;br /&gt;
    | data1 = {{#if: {{{prefabhash|}}} | &amp;lt;span style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{prefabhash|}}}&amp;lt;/span&amp;gt; | {{#if: {{{hashid|}}}| &amp;lt;span style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{hashid|}}}&amp;lt;/span&amp;gt; }} }}&lt;br /&gt;
    | label2 = Item Name&lt;br /&gt;
    | data2 = {{#if: {{{prefabname|}}} | &amp;lt;span style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{prefabname|}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
    | label3 = Logic Classes&lt;br /&gt;
    | data3 = {{#if: {{{slot_class|}}}| &amp;lt;div style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{slot_class|}}}&amp;lt;/div&amp;gt; }}{{#if: {{{sorting_class|}}}|&amp;lt;div style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{sorting_class|}}}&amp;lt;/div&amp;gt; }}&lt;br /&gt;
    | label4 = Logic Parameters&lt;br /&gt;
    | data4 = {{{logic|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| header23 = {{ #if: {{{nutrition|}}}{{{quality|}}}{{{growthtime|}}}{{{moodbonus|}}} | Food &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Food Nutrition&lt;br /&gt;
    | data1 = {{{nutrition|}}}&lt;br /&gt;
    | label2 = Food Quality&lt;br /&gt;
    | data2 = {{{quality|}}}&lt;br /&gt;
    | label3 = Growth Time&lt;br /&gt;
    | data3 = {{{growthtime|}}}&lt;br /&gt;
    | label4 = Mood Bonus&lt;br /&gt;
    | data4 = {{{moodbonus|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| header60={{{module|}}}&lt;br /&gt;
| header61={{{module2|}}}&lt;br /&gt;
| header62={{{module3|}}}&lt;br /&gt;
| header63={{{module4|}}}&lt;br /&gt;
}} [[Category:Items]] {{ #if: {{{nutrition|}}}{{{quality|}}}{{{moodbonus|}}} | [[Category:Food]] }} {{ #if: {{{constructs|}}} | [[Category:Kits]] }} {{ #if: {{{createdwith|}}}{{{cost|}}} | [[Category:Itembox with old style recipe]] }} {{ #if: {{{prefabhash|}}}{{{hashid|}}} | | [[Category:Infobox without prefab data]] }} {{ #if: {{{prefabname|}}} | | [[Category:Infobox without prefab data]] }} {{ #if: {{{slot_class|}}}{{{sorting_class|}}} | | [[Category:Itembox without logic classes]] }} {{#ifeq: {{{slot_class}}}|SlotClass.Tool|[[Category:Tools]]|}} &amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Electronics_Printer&amp;diff=28141</id>
		<title>Electronics Printer</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Electronics_Printer&amp;diff=28141"/>
		<updated>2026-09-12T04:01:17Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: add missing data&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Machines]]&lt;br /&gt;
[[Category:Fabricators]]&lt;br /&gt;
[[Category:Import/Export]]&lt;br /&gt;
{{Itembox&lt;br /&gt;
| image = [[File:ItemKitElectronicsPrinter.png]]&lt;br /&gt;
| name = Kit (Electronics Printer)&lt;br /&gt;
| stacks = No&lt;br /&gt;
| recipe_machine1 = Autolathe&lt;br /&gt;
| recipe_cost1 = 20g [[Iron]], 2g [[Gold]], 10g [[Copper]]&lt;br /&gt;
| prefabhash = -1181922382&lt;br /&gt;
| prefabname = ItemKitElectronicsPrinter&lt;br /&gt;
| autoignition = 373 K&lt;br /&gt;
| flashpoint = 573 K&lt;br /&gt;
| paintable = no&lt;br /&gt;
| constructs = Electronics Printer&lt;br /&gt;
}}&lt;br /&gt;
{{Structurebox&lt;br /&gt;
 | name             = Electronics Printer&lt;br /&gt;
 | image            = [[File:StructureElectronicsPrinter_BuildState4.png]]&lt;br /&gt;
 | power_usage      = 100W + Recipe Usage&lt;br /&gt;
 | placed_with_item = [[Kit (Electronics Printer)]]&lt;br /&gt;
 | placed_on_grid   = Small Grid&lt;br /&gt;
 | requires_frames  = Yes&lt;br /&gt;
&lt;br /&gt;
 | const_with_tool1 = [[Welding Torch]]&lt;br /&gt;
 | const_with_item1 = 2 x [[Iron Sheets]]&lt;br /&gt;
 | decon_with_tool1  = [[Wrench]]&lt;br /&gt;
 | item_rec1         = [[Kit (Electronics Printer)]]&lt;br /&gt;
&lt;br /&gt;
 | const_with_item2 = 4 x [[Cable Coil]]&lt;br /&gt;
 | decon_with_tool2 = [[Angle Grinder]]&lt;br /&gt;
 | item_rec2        = 2 x [[Iron Sheets]]&lt;br /&gt;
&lt;br /&gt;
 | const_with_tool3 = [[Welding Torch]]&lt;br /&gt;
 | const_with_item3 = 2 x [[Plastic Sheets]]&lt;br /&gt;
 | decon_with_tool3 = [[Wire Cutters]]&lt;br /&gt;
 | item_rec3        = 4 x [[Cable Coil]]&lt;br /&gt;
&lt;br /&gt;
 | const_with_tool4 = [[Screwdriver]]&lt;br /&gt;
 | decon_with_tool4 = [[Angle Grinder]]&lt;br /&gt;
 | item_rec4        = 2 x [[Plastic Sheets]]&lt;br /&gt;
 | decon_with_tool5 = [[Hand Drill]]&lt;br /&gt;
|prefab_hash=1307165496|prefab_name=StructureElectronicsPrinter|paintable=Yes}}&lt;br /&gt;
{{Itembox&lt;br /&gt;
 | name        = Overall Electronics Printer (Tier One) Cost/Requirements &lt;br /&gt;
 | image       = [[File:StructureElectronicsPrinter_BuildState4.png]]&lt;br /&gt;
 | createdwith = [[Autolathe]]&lt;br /&gt;
 | cost        = 2g [[Silicon Ingot]], 2g [[Gold Ingot]], 12g [[Copper Ingot]], 22g [[Iron Ingot]]&lt;br /&gt;
}}&lt;br /&gt;
{{Structurebox&lt;br /&gt;
 | name             = Electronics Printer (Tier Two)&lt;br /&gt;
 | image            = [[File:StructureElectronicsPrinter_BuildState5.png]]&lt;br /&gt;
 | power_usage      = 100W + Recipe Usage&lt;br /&gt;
 | placed_with_item = [[Electronic Printer Mod]]&lt;br /&gt;
 | placed_on_grid   = Small Grid with Electronics Printer (Tier One)&lt;br /&gt;
 | decon_with_tool1 = [[Hand Drill]]&lt;br /&gt;
 | item_rec1        = [[Electronic Printer Mod]]&lt;br /&gt;
}}&lt;br /&gt;
{{Itembox&lt;br /&gt;
 | name        = Overall Electronics Printer (Tier Two) Cost/Requirements &lt;br /&gt;
 | image       = [[File:StructureElectronicsPrinter_BuildState5.png]]&lt;br /&gt;
 | createdwith = [[Autolathe]], [[Electronics Printer]]&lt;br /&gt;
 | cost        = 2g [[Silicon Ingot]], 2g [[Gold Ingot]], 8g [[Constantan]], 8g[[Solder]], 8g [[Electrum]] 12g [[Copper Ingot]], 22g [[Iron Ingot]], 35g [[Steel]]&lt;br /&gt;
}}&lt;br /&gt;
{{Description|The electronic printer will create any [[:Category:Electronic|electronic]] part you need. From circuit boards and electronic devices to solar panels. The choice is yours. Upgrade the device using a [[Electronic Printer Mod]] for additional recipes and faster processing speeds.}}&lt;br /&gt;
== Description ==&lt;br /&gt;
Used to craft a majority of the electronic items in the game, such as batteries, [[Cartridge|cartridges]] for [[Handheld Tablet|handheld tablets]], [[Circuitboard|circuitboards]] for [[Console|consoles]], [[Motherboard|motherboards]] for [[Computer|computers]], I/O Kits, [[Solar Panel|solar panels]], and more.&lt;br /&gt;
&lt;br /&gt;
Also, this is the only machine (aside from the deprecated [[Fabricator]]) that can create [[Cable Coil (Heavy)]].&lt;br /&gt;
&lt;br /&gt;
Takes ingots in the left and spits product out of the right. Power button toggles machine power state. Lever will eject materials inside if machine is powered. Arrow buttons select recipe, push the square button in between to craft. Magnifying glass button below the craft button opens a search interface for easier recipe selection.&lt;br /&gt;
&lt;br /&gt;
The Electronics Printer can be upgraded to a Tier Two version by using its respective [[Mod Kit]] and a [[Screwdriver]] on it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: The machine will continue to craft until the button is pushed again, the entire machine is turned off, or in case it loses power.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;If you want to craft only a single item unattended, start the craft and press any of the arrow buttons.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &#039;&#039;&#039;Tier&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Creation&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Energy Cost&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Material Cost&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Build Time&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! Tier One&lt;br /&gt;
| x1&lt;br /&gt;
| x1&lt;br /&gt;
| x1&lt;br /&gt;
| x1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! Tier Two&lt;br /&gt;
| x1&lt;br /&gt;
| x1,1&lt;br /&gt;
| x1&lt;br /&gt;
| x0,66&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; | Update 0.2.4677.21598 -  Fri 29/12/2023&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== [[Mod Kit]] Manufacturing ==&lt;br /&gt;
The Electronics Printer can also print [[Mod Kit|Mod Kits]], at first only for itself. But once upgraded it can print [[Mod Kit|Mod Kits]] for the other manufacturing machines.&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:auto; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
== Recipes ==&lt;br /&gt;
Expand to see the recipes.&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Used to create:&#039;&#039;&#039;&lt;br /&gt;
{{:Electronics Printer/Recipes}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Data Network Header}}&lt;br /&gt;
{{Data Parameters|&lt;br /&gt;
{{Data Parameters/row|Power|Boolean|w=0|Can be read to return if the Electronics Printer is turned on and receives power|multiple=2|0|Unpowered|1|Powered}}&lt;br /&gt;
{{Data Parameters/row|Open|Boolean|1 if device is open, otherwise 0|multiple=2|0|Closed|1|Opened}}&lt;br /&gt;
{{Data Parameters/row|Error|Boolean|w=0|1 if device is in error state, otherwise 0|multiple=2|0|&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;|1|Error}}&lt;br /&gt;
{{Data Parameters/row|Activate|Boolean| Activates the Electronics Printer, when set to 1. Deactivates the it, when set to 0. &#039;&#039;&#039;Note&#039;&#039;&#039;: This can cause a minor bug to occur. (See [[#Bugs]])|multiple=2|0|Idle|1|Active}}&lt;br /&gt;
{{Data Parameters/row|Lock|Boolean|Disable manual operation|multiple=2|0|Unlocked|1|Locked}}&lt;br /&gt;
{{Data Parameters/row|Reagents|Float|w=0|Returns the total amount of all contents in the Electronics Printer}}&lt;br /&gt;
{{Data Parameters/row|On|Boolean|The current state of the Electronics Printer.|multiple=2|0|Off|1|On}}&lt;br /&gt;
{{Data Parameters/row|RequiredPower|Integer|w=0|Idle operating power quantity, does not necessarily include extra demand power}}&lt;br /&gt;
{{Data Parameters/row|RecipeHash|Integer|Selected recipe}}&lt;br /&gt;
{{Data Parameters/row|CompletionRatio|Integer|w=0|Recipe completion}}&lt;br /&gt;
{{Data Parameters/row|ClearMemory|Integer|r=0|Reset the ExportCount and ImportCount values to zero. Will set itself back to 0 when actioned}}&lt;br /&gt;
{{Data Parameters/row|ExportCount|Integer|w=0|How many items exported since last ClearMemory}}&lt;br /&gt;
{{Data Parameters/row|ImportCount|Integer|w=0|How many items imported since last ClearMemory}}&lt;br /&gt;
{{Data Parameters/row|PrefabHash|Integer|w=0|The hash of the structure}}&lt;br /&gt;
{{Data Parameters/row|ReferenceId|Integer|w=0|Unique Reference Identifier for this object}}&lt;br /&gt;
{{Data Parameters/row|NameHash|Integer|w=0|Provides the hash value for the name of the object as a 32 bit integer.}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Electronics_Printer&amp;diff=28140</id>
		<title>Electronics Printer</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Electronics_Printer&amp;diff=28140"/>
		<updated>2026-09-12T03:58:02Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: add missing data  and move the stationpedia blub&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Machines]]&lt;br /&gt;
[[Category:Fabricators]]&lt;br /&gt;
[[Category:Import/Export]]&lt;br /&gt;
{{Itembox&lt;br /&gt;
| image = [[File:ItemKitElectronicsPrinter.png]]&lt;br /&gt;
| name = Kit (Electronics Printer)&lt;br /&gt;
| stacks = No&lt;br /&gt;
| recipe_machine1 = Autolathe&lt;br /&gt;
| recipe_cost1 = 20g [[Iron]], 2g [[Gold]], 10g [[Copper]]&lt;br /&gt;
| prefabhash = -1181922382&lt;br /&gt;
| prefabname = ItemKitElectronicsPrinter&lt;br /&gt;
| autoignition = 373 K&lt;br /&gt;
| flashpoint = 573 K&lt;br /&gt;
| paintable = no&lt;br /&gt;
| constructs = Electronics Printer&lt;br /&gt;
}}&lt;br /&gt;
{{Structurebox&lt;br /&gt;
 | name             = Electronics Printer&lt;br /&gt;
 | image            = [[File:StructureElectronicsPrinter_BuildState4.png]]&lt;br /&gt;
 | power_usage      = 100W + Recipe Usage&lt;br /&gt;
 | placed_with_item = [[Kit (Electronics Printer)]]&lt;br /&gt;
 | placed_on_grid   = Small Grid&lt;br /&gt;
 | requires_frames  = Yes&lt;br /&gt;
&lt;br /&gt;
 | const_with_tool1 = [[Welding Torch]]&lt;br /&gt;
 | const_with_item1 = 2 x [[Iron Sheets]]&lt;br /&gt;
 | decon_with_tool1  = [[Wrench]]&lt;br /&gt;
 | item_rec1         = [[Kit (Electronics Printer)]]&lt;br /&gt;
&lt;br /&gt;
 | const_with_item2 = 4 x [[Cable Coil]]&lt;br /&gt;
 | decon_with_tool2 = [[Angle Grinder]]&lt;br /&gt;
 | item_rec2        = 2 x [[Iron Sheets]]&lt;br /&gt;
&lt;br /&gt;
 | const_with_tool3 = [[Welding Torch]]&lt;br /&gt;
 | const_with_item3 = 2 x [[Plastic Sheets]]&lt;br /&gt;
 | decon_with_tool3 = [[Wire Cutters]]&lt;br /&gt;
 | item_rec3        = 4 x [[Cable Coil]]&lt;br /&gt;
&lt;br /&gt;
 | const_with_tool4 = [[Screwdriver]]&lt;br /&gt;
 | decon_with_tool4 = [[Angle Grinder]]&lt;br /&gt;
 | item_rec4        = 2 x [[Plastic Sheets]]&lt;br /&gt;
 | decon_with_tool5 = [[Hand Drill]]&lt;br /&gt;
}}&lt;br /&gt;
{{Itembox&lt;br /&gt;
 | name        = Overall Electronics Printer (Tier One) Cost/Requirements &lt;br /&gt;
 | image       = [[File:StructureElectronicsPrinter_BuildState4.png]]&lt;br /&gt;
 | createdwith = [[Autolathe]]&lt;br /&gt;
 | cost        = 2g [[Silicon Ingot]], 2g [[Gold Ingot]], 12g [[Copper Ingot]], 22g [[Iron Ingot]]&lt;br /&gt;
}}&lt;br /&gt;
{{Structurebox&lt;br /&gt;
 | name             = Electronics Printer (Tier Two)&lt;br /&gt;
 | image            = [[File:StructureElectronicsPrinter_BuildState5.png]]&lt;br /&gt;
 | power_usage      = 100W + Recipe Usage&lt;br /&gt;
 | placed_with_item = [[Electronic Printer Mod]]&lt;br /&gt;
 | placed_on_grid   = Small Grid with Electronics Printer (Tier One)&lt;br /&gt;
 | decon_with_tool1 = [[Hand Drill]]&lt;br /&gt;
 | item_rec1        = [[Electronic Printer Mod]]&lt;br /&gt;
}}&lt;br /&gt;
{{Itembox&lt;br /&gt;
 | name        = Overall Electronics Printer (Tier Two) Cost/Requirements &lt;br /&gt;
 | image       = [[File:StructureElectronicsPrinter_BuildState5.png]]&lt;br /&gt;
 | createdwith = [[Autolathe]], [[Electronics Printer]]&lt;br /&gt;
 | cost        = 2g [[Silicon Ingot]], 2g [[Gold Ingot]], 8g [[Constantan]], 8g[[Solder]], 8g [[Electrum]] 12g [[Copper Ingot]], 22g [[Iron Ingot]], 35g [[Steel]]&lt;br /&gt;
}}&lt;br /&gt;
{{Description|The electronic printer will create any [[:Category:Electronic|electronic]] part you need. From circuit boards and electronic devices to solar panels. The choice is yours. Upgrade the device using a [[Electronic Printer Mod]] for additional recipes and faster processing speeds.}}&lt;br /&gt;
== Description ==&lt;br /&gt;
Used to craft a majority of the electronic items in the game, such as batteries, [[Cartridge|cartridges]] for [[Handheld Tablet|handheld tablets]], [[Circuitboard|circuitboards]] for [[Console|consoles]], [[Motherboard|motherboards]] for [[Computer|computers]], I/O Kits, [[Solar Panel|solar panels]], and more.&lt;br /&gt;
&lt;br /&gt;
Also, this is the only machine (aside from the deprecated [[Fabricator]]) that can create [[Cable Coil (Heavy)]].&lt;br /&gt;
&lt;br /&gt;
Takes ingots in the left and spits product out of the right. Power button toggles machine power state. Lever will eject materials inside if machine is powered. Arrow buttons select recipe, push the square button in between to craft. Magnifying glass button below the craft button opens a search interface for easier recipe selection.&lt;br /&gt;
&lt;br /&gt;
The Electronics Printer can be upgraded to a Tier Two version by using its respective [[Mod Kit]] and a [[Screwdriver]] on it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: The machine will continue to craft until the button is pushed again, the entire machine is turned off, or in case it loses power.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;If you want to craft only a single item unattended, start the craft and press any of the arrow buttons.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &#039;&#039;&#039;Tier&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Creation&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Energy Cost&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Material Cost&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Build Time&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! Tier One&lt;br /&gt;
| x1&lt;br /&gt;
| x1&lt;br /&gt;
| x1&lt;br /&gt;
| x1&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! Tier Two&lt;br /&gt;
| x1&lt;br /&gt;
| x1,1&lt;br /&gt;
| x1&lt;br /&gt;
| x0,66&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; | Update 0.2.4677.21598 -  Fri 29/12/2023&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== [[Mod Kit]] Manufacturing ==&lt;br /&gt;
The Electronics Printer can also print [[Mod Kit|Mod Kits]], at first only for itself. But once upgraded it can print [[Mod Kit|Mod Kits]] for the other manufacturing machines.&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:auto; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
== Recipes ==&lt;br /&gt;
Expand to see the recipes.&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Used to create:&#039;&#039;&#039;&lt;br /&gt;
{{:Electronics Printer/Recipes}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Data Network Header}}&lt;br /&gt;
{{Data Parameters|&lt;br /&gt;
{{Data Parameters/row|Power|Boolean|w=0|Can be read to return if the Electronics Printer is turned on and receives power|multiple=2|0|Unpowered|1|Powered}}&lt;br /&gt;
{{Data Parameters/row|Open|Boolean|1 if device is open, otherwise 0|multiple=2|0|Closed|1|Opened}}&lt;br /&gt;
{{Data Parameters/row|Error|Boolean|w=0|1 if device is in error state, otherwise 0|multiple=2|0|&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;|1|Error}}&lt;br /&gt;
{{Data Parameters/row|Activate|Boolean| Activates the Electronics Printer, when set to 1. Deactivates the it, when set to 0. &#039;&#039;&#039;Note&#039;&#039;&#039;: This can cause a minor bug to occur. (See [[#Bugs]])|multiple=2|0|Idle|1|Active}}&lt;br /&gt;
{{Data Parameters/row|Lock|Boolean|Disable manual operation|multiple=2|0|Unlocked|1|Locked}}&lt;br /&gt;
{{Data Parameters/row|Reagents|Float|w=0|Returns the total amount of all contents in the Electronics Printer}}&lt;br /&gt;
{{Data Parameters/row|On|Boolean|The current state of the Electronics Printer.|multiple=2|0|Off|1|On}}&lt;br /&gt;
{{Data Parameters/row|RequiredPower|Integer|w=0|Idle operating power quantity, does not necessarily include extra demand power}}&lt;br /&gt;
{{Data Parameters/row|RecipeHash|Integer|Selected recipe}}&lt;br /&gt;
{{Data Parameters/row|CompletionRatio|Integer|w=0|Recipe completion}}&lt;br /&gt;
{{Data Parameters/row|ClearMemory|Integer|r=0|Reset the ExportCount and ImportCount values to zero. Will set itself back to 0 when actioned}}&lt;br /&gt;
{{Data Parameters/row|ExportCount|Integer|w=0|How many items exported since last ClearMemory}}&lt;br /&gt;
{{Data Parameters/row|ImportCount|Integer|w=0|How many items imported since last ClearMemory}}&lt;br /&gt;
{{Data Parameters/row|PrefabHash|Integer|w=0|The hash of the structure}}&lt;br /&gt;
{{Data Parameters/row|ReferenceId|Integer|w=0|Unique Reference Identifier for this object}}&lt;br /&gt;
{{Data Parameters/row|NameHash|Integer|w=0|Provides the hash value for the name of the object as a 32 bit integer.}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Console&amp;diff=28139</id>
		<title>Console</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Console&amp;diff=28139"/>
		<updated>2026-09-12T03:52:51Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: make this paintable&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Category:Electronic]]&lt;br /&gt;
{{Itembox&lt;br /&gt;
| name = Kit (Consoles)&lt;br /&gt;
| image = [[File:ItemKitConsole.png]]&lt;br /&gt;
| stacks = 5&lt;br /&gt;
| recipe_machine1 = Electronics Printer&lt;br /&gt;
| recipe_cost1 = 2g [[Iron]], 3g [[Gold]], 5g [[Copper]]&lt;br /&gt;
| prefabhash = -1241851179&lt;br /&gt;
| prefabname = ItemKitConsole&lt;br /&gt;
| paintable = yes&lt;br /&gt;
| constructs = Console • Console Dual • Console Monitor • LED Display (Small) • LED Display (Medium) • LED Display (Medium Back) • LED Display (Medium Side) • LED Display (Large)&lt;br /&gt;
}}&lt;br /&gt;
{{Structurebox&lt;br /&gt;
 | name             = Console&lt;br /&gt;
 | image            = [[File:Console.jpg]]&lt;br /&gt;
 | power_usage      = 50W&lt;br /&gt;
 | placed_with_item = [[Kit (Consoles)]]&lt;br /&gt;
 | placed_on_grid   = Small Grid, On Frames&lt;br /&gt;
 | const_with_item1 = [[Circuitboard]]&lt;br /&gt;
 | decon_with_tool1 = [[Hand Drill]]&lt;br /&gt;
 | item_rec1        = [[Kit (Consoles)]]&lt;br /&gt;
 | const_with_item2 = [[Glass Sheets|Glass Sheet]]&lt;br /&gt;
 | item_rec2        = [[Circuitboard]]&lt;br /&gt;
 | decon_with_tool3 = [[Crowbar]]&lt;br /&gt;
 | item_rec3        = [[Glass Sheets|Glass Sheet]]&lt;br /&gt;
| paintable=Yes}}&lt;br /&gt;
{{Description|This Norsec-designed control box manages devices such as the Active Vent, Passive Vent, Gas Sensor and Composite Door, depending on which circuitboard is inserted into the unit. It has a shared data/power port. A completed console displays all devices connected to the current power network. Any devices not related to the installed circuitboard will be greyed-out and inoperable. Consoles are locked once a Data Disk is removed.}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The console is one device of the Console item kit. The console can be fitted with a [[Circuitboard]]. As of the [[Update_v0.2.6085.26682|Respawn Update]] consoles can be configured using a screwdriver on the side screw. In previous versions this required putting in a data disk in the side slot. Note that there is currently an inconsistency with the new functionality and the stationpedia which still mentions disks.&lt;br /&gt;
There is the Console (Variant 1 of the kit) which has a mixed input (data and energy) and the Console Dual (Variant 2 of the kit) which has two inputs (one for energy and one for data).&lt;br /&gt;
&lt;br /&gt;
== Example set up ==&lt;br /&gt;
For example one can set it to pressure measurement (requires gas circuit board inside) which allows one to read out the actual pressure value of a connected gas [[sensors|sensor]]. (Setup shown in picture)&lt;br /&gt;
&lt;br /&gt;
== Tips ==&lt;br /&gt;
* You need to insert a Circuit Board and then put a sheet of glass over it to complete construction.&lt;br /&gt;
* To display general readings, only the Graph Display Circuit Board will find all the devices which are connected to your power grid. Any available readings will be shown on the select list.&lt;br /&gt;
* For other specialized Circuit Boards (Gas, Power, etc.) the only values that can be displayed are those related to the function of that board.&lt;br /&gt;
&lt;br /&gt;
== Deconstruction ==&lt;br /&gt;
First remove the glass sheet with a [[Crowbar]]. The device itself is deconstructed with the [[Hand Drill]].&lt;br /&gt;
&lt;br /&gt;
= Console, Console Dual and Console Monitor =&lt;br /&gt;
&lt;br /&gt;
{{Data Network Header}}&lt;br /&gt;
&lt;br /&gt;
{{Data Parameters}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter Name !! Data Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Open || Boolean || (Unknown)&lt;br /&gt;
|-&lt;br /&gt;
| On || Boolean || Turns the Console on, when set to 1. Turns it off, when set to 0.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Data Outputs}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Output Name !! Data Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Power || Boolean || Returns whether the Console is turned on and receives power. (0 for no, 1 for yes)&lt;br /&gt;
|-&lt;br /&gt;
| Open || Boolean || (Unknown)&lt;br /&gt;
|-&lt;br /&gt;
| Error || Boolean || Returns whether the Console is flashing an error. (0 for no, 1 for yes)&lt;br /&gt;
|-&lt;br /&gt;
| On || Boolean || Returns whether the Console is turned on. (0 for no, 1 for yes)&lt;br /&gt;
|-&lt;br /&gt;
| RequiredPower || Integer || Returns the current amount of power required by the Console, in watts.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= LED Display (Small, Medium and Large) =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Picture!! Placed with&lt;br /&gt;
|-&lt;br /&gt;
| Small display LED || [[File:Small display.png|thumb]] || 1 - Kit (Consoles)&lt;br /&gt;
|-&lt;br /&gt;
| Medium display LED || [[File:Screenshot 2.png|thumb]] || 2 - Kit (Consoles)&lt;br /&gt;
|-&lt;br /&gt;
| Large display LED || [[File:Screenshot 3.png|thumb]] || 3 - Kit (Consoles)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Data Network Header}}&lt;br /&gt;
&lt;br /&gt;
=== Mode Values ===&lt;br /&gt;
These lists the values and meanings for the &amp;quot;Mode&amp;quot; property of the LED Display.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value !! Meaning !! &amp;quot;Setting&amp;quot; parameter interpretation&lt;br /&gt;
|-&lt;br /&gt;
| 0 || Normal number display || Direct display as a number. Values smaller than 1.000E-07 will be displayed as 0. &amp;lt;!-- tested with large led display, might want to see if other sizes are the same --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Percentage number display || Input range of 0.0 to 1.0 is interpolated and displayed as the range 0% to 100%.  Values outside this range scale more, e.g. 10 shows as 1000%&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Power display || Adds a watt suffix (W) to the number. Also divides the number as needed and adds a metric prefix to the suffix. (e.g. kW)&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Kelvin display || Adds a Kelvin suffix (K) to the number.    Also divides the number as needed and adds a metric prefix to the suffix. (e.g. kK)&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Celcius display || Adds a degrees Celcius suffix (°C) to the number.  Also divides the number as needed and adds a metric prefix to the suffix. (e.g. k°C)&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Meters display || Adds a meters suffix (m) to the number.  Also divides the number as needed and adds a metric prefix to the suffix. (e.g. km)&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Credits display || Adds a Credits suffix (€) to the number.  Also divides the number as needed and adds a metric prefix to the suffix. (e.g. k€)&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Seconds display || Adds a seconds suffix (sec) to the number.  Does not divide and apply a metric prefix for Setting values &amp;gt;= 1000.&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Minutes display || Adds a minutes suffix (min) to the number.  Does not divide and apply a metric prefix for Setting values &amp;gt;= 1000.&lt;br /&gt;
|-&lt;br /&gt;
| 9 || Days display || Adds a days suffix (days) to the number.  Does not divide and apply a metric prefix for Setting values &amp;gt;= 1000.  Always indicates &amp;quot;days&amp;quot; even when Setting is 1.&lt;br /&gt;
|-&lt;br /&gt;
| 10 || String display || Displays the Setting value as an octet-packed ASCII string of up to six characters. A Setting value of $414243444546 will display &amp;quot;ABCDEF&amp;quot; on the display. &amp;lt;br&amp;gt;&lt;br /&gt;
A [[Logic Memory|Logic Memory Unit]] value of 71752852194630 will display &amp;quot;ABCDEF&amp;quot; on the display.&lt;br /&gt;
|-&lt;br /&gt;
| 11 || Farenheit display || Adds a farenheit suffix (°F) to the number. Also divides the number as needed and adds a metric prefix to the suffix. (e.g. k°F)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || Litres display || Adds a Litres suffix (L) to the number. Also divides the number as needed and adds a metric prefix to the suffix. (e.g. kL)&lt;br /&gt;
|-&lt;br /&gt;
| 13 || Mol display || Adds a Mols suffix (mol) to the number. Also divides the number as needed and adds a metric prefix to the suffix. (e.g. kmol)&lt;br /&gt;
|-&lt;br /&gt;
| 14 || Pa display || Adds a Pascals suffix (Pa) to the number. Also divides the number as needed and adds a metricprefix to the suffix. (e.g. kPa)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Data Parameters}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter Name !! Data Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Mode || Integer || Sets the display mode of the LED Display to the passed value. (See [[#Mode Values|Mode Values]])&lt;br /&gt;
|-&lt;br /&gt;
| Setting || Float || Sets the raw number to display on the LED Display.&lt;br /&gt;
|-&lt;br /&gt;
| On || Boolean || Turns the LED Display on, when set to 1. Turns it off, when set to 0.&lt;br /&gt;
|-&lt;br /&gt;
| Color || Integer || Sets the color of the text on the LED Display. (See [[Data Network Colors]])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Data Outputs}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Output Name !! Data Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Power || Boolean || Returns whether the LED Display is turned on and receives power. (0 for no, 1 for yes)&lt;br /&gt;
|-&lt;br /&gt;
| Mode || Integer || Returns the mode of the LED Display. (See [[#Mode Values|Mode Values]])&lt;br /&gt;
|-&lt;br /&gt;
| Error || Boolean || Returns whether the LED Display is flashing an error. (0 for no, 1 for yes)&lt;br /&gt;
|-&lt;br /&gt;
| Setting || Float || Returns the &amp;quot;Setting&amp;quot; value of the LED Display.&lt;br /&gt;
|-&lt;br /&gt;
| On || Boolean || Returns whether the LED Display is turned on. (0 for no, 1 for yes)&lt;br /&gt;
|-&lt;br /&gt;
| RequiredPower || Integer || Returns the current amount of power, required by the LED Display, in watts.&lt;br /&gt;
|-&lt;br /&gt;
| Color || Integer || Returns the color setting of the LED Display. (See [[Data Network Colors]])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Circuitboards]]&lt;br /&gt;
[[Category:Data Network]]&lt;br /&gt;
[[Category:Machines]]&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Console&amp;diff=28138</id>
		<title>Console</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Console&amp;diff=28138"/>
		<updated>2026-09-12T03:50:03Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: console info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Category:Electronic]]&lt;br /&gt;
{{Itembox&lt;br /&gt;
 | name        = Kit (Consoles)&lt;br /&gt;
 | image       = [[File:ItemKitConsole.png]]&lt;br /&gt;
 | stacks      = 5&lt;br /&gt;
|recipe_machine1=Electronics Printer|recipe_cost1=2g [[Iron]], 3g [[Gold]], 5g [[Copper]]|prefabhash=-1241851179|prefabname=ItemKitConsole|paintable=yes|constructs=Console • Console Dual • Console Monitor • LED Display (Small) • LED Display (Medium) • LED Display (Medium Back) • LED Display (Medium Side) • LED Display (Large)}}&lt;br /&gt;
{{Structurebox&lt;br /&gt;
 | name             = Console&lt;br /&gt;
 | image            = [[File:Console.jpg]]&lt;br /&gt;
 | power_usage      = 50W&lt;br /&gt;
 | placed_with_item = [[Kit (Consoles)]]&lt;br /&gt;
 | placed_on_grid   = Small Grid, On Frames&lt;br /&gt;
 | const_with_item1 = [[Circuitboard]]&lt;br /&gt;
 | decon_with_tool1 = [[Hand Drill]]&lt;br /&gt;
 | item_rec1        = [[Kit (Consoles)]]&lt;br /&gt;
 | const_with_item2 = [[Glass Sheets|Glass Sheet]]&lt;br /&gt;
 | item_rec2        = [[Circuitboard]]&lt;br /&gt;
 | decon_with_tool3 = [[Crowbar]]&lt;br /&gt;
 | item_rec3        = [[Glass Sheets|Glass Sheet]]&lt;br /&gt;
}}&lt;br /&gt;
{{Description|This Norsec-designed control box manages devices such as the Active Vent, Passive Vent, Gas Sensor and Composite Door, depending on which circuitboard is inserted into the unit. It has a shared data/power port. A completed console displays all devices connected to the current power network. Any devices not related to the installed circuitboard will be greyed-out and inoperable. Consoles are locked once a Data Disk is removed.}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The console is one device of the Console item kit. The console can be fitted with a [[Circuitboard]]. As of the [[Update_v0.2.6085.26682|Respawn Update]] consoles can be configured using a screwdriver on the side screw. In previous versions this required putting in a data disk in the side slot. Note that there is currently an inconsistency with the new functionality and the stationpedia which still mentions disks.&lt;br /&gt;
There is the Console (Variant 1 of the kit) which has a mixed input (data and energy) and the Console Dual (Variant 2 of the kit) which has two inputs (one for energy and one for data).&lt;br /&gt;
&lt;br /&gt;
== Example set up ==&lt;br /&gt;
For example one can set it to pressure measurement (requires gas circuit board inside) which allows one to read out the actual pressure value of a connected gas [[sensors|sensor]]. (Setup shown in picture)&lt;br /&gt;
&lt;br /&gt;
== Tips ==&lt;br /&gt;
* You need to insert a Circuit Board and then put a sheet of glass over it to complete construction.&lt;br /&gt;
* To display general readings, only the Graph Display Circuit Board will find all the devices which are connected to your power grid. Any available readings will be shown on the select list.&lt;br /&gt;
* For other specialized Circuit Boards (Gas, Power, etc.) the only values that can be displayed are those related to the function of that board.&lt;br /&gt;
&lt;br /&gt;
== Deconstruction ==&lt;br /&gt;
First remove the glass sheet with a [[Crowbar]]. The device itself is deconstructed with the [[Hand Drill]].&lt;br /&gt;
&lt;br /&gt;
= Console, Console Dual and Console Monitor =&lt;br /&gt;
&lt;br /&gt;
{{Data Network Header}}&lt;br /&gt;
&lt;br /&gt;
{{Data Parameters}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter Name !! Data Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Open || Boolean || (Unknown)&lt;br /&gt;
|-&lt;br /&gt;
| On || Boolean || Turns the Console on, when set to 1. Turns it off, when set to 0.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Data Outputs}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Output Name !! Data Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Power || Boolean || Returns whether the Console is turned on and receives power. (0 for no, 1 for yes)&lt;br /&gt;
|-&lt;br /&gt;
| Open || Boolean || (Unknown)&lt;br /&gt;
|-&lt;br /&gt;
| Error || Boolean || Returns whether the Console is flashing an error. (0 for no, 1 for yes)&lt;br /&gt;
|-&lt;br /&gt;
| On || Boolean || Returns whether the Console is turned on. (0 for no, 1 for yes)&lt;br /&gt;
|-&lt;br /&gt;
| RequiredPower || Integer || Returns the current amount of power required by the Console, in watts.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= LED Display (Small, Medium and Large) =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Picture!! Placed with&lt;br /&gt;
|-&lt;br /&gt;
| Small display LED || [[File:Small display.png|thumb]] || 1 - Kit (Consoles)&lt;br /&gt;
|-&lt;br /&gt;
| Medium display LED || [[File:Screenshot 2.png|thumb]] || 2 - Kit (Consoles)&lt;br /&gt;
|-&lt;br /&gt;
| Large display LED || [[File:Screenshot 3.png|thumb]] || 3 - Kit (Consoles)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Data Network Header}}&lt;br /&gt;
&lt;br /&gt;
=== Mode Values ===&lt;br /&gt;
These lists the values and meanings for the &amp;quot;Mode&amp;quot; property of the LED Display.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value !! Meaning !! &amp;quot;Setting&amp;quot; parameter interpretation&lt;br /&gt;
|-&lt;br /&gt;
| 0 || Normal number display || Direct display as a number. Values smaller than 1.000E-07 will be displayed as 0. &amp;lt;!-- tested with large led display, might want to see if other sizes are the same --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Percentage number display || Input range of 0.0 to 1.0 is interpolated and displayed as the range 0% to 100%.  Values outside this range scale more, e.g. 10 shows as 1000%&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Power display || Adds a watt suffix (W) to the number. Also divides the number as needed and adds a metric prefix to the suffix. (e.g. kW)&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Kelvin display || Adds a Kelvin suffix (K) to the number.    Also divides the number as needed and adds a metric prefix to the suffix. (e.g. kK)&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Celcius display || Adds a degrees Celcius suffix (°C) to the number.  Also divides the number as needed and adds a metric prefix to the suffix. (e.g. k°C)&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Meters display || Adds a meters suffix (m) to the number.  Also divides the number as needed and adds a metric prefix to the suffix. (e.g. km)&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Credits display || Adds a Credits suffix (€) to the number.  Also divides the number as needed and adds a metric prefix to the suffix. (e.g. k€)&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Seconds display || Adds a seconds suffix (sec) to the number.  Does not divide and apply a metric prefix for Setting values &amp;gt;= 1000.&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Minutes display || Adds a minutes suffix (min) to the number.  Does not divide and apply a metric prefix for Setting values &amp;gt;= 1000.&lt;br /&gt;
|-&lt;br /&gt;
| 9 || Days display || Adds a days suffix (days) to the number.  Does not divide and apply a metric prefix for Setting values &amp;gt;= 1000.  Always indicates &amp;quot;days&amp;quot; even when Setting is 1.&lt;br /&gt;
|-&lt;br /&gt;
| 10 || String display || Displays the Setting value as an octet-packed ASCII string of up to six characters. A Setting value of $414243444546 will display &amp;quot;ABCDEF&amp;quot; on the display. &amp;lt;br&amp;gt;&lt;br /&gt;
A [[Logic Memory|Logic Memory Unit]] value of 71752852194630 will display &amp;quot;ABCDEF&amp;quot; on the display.&lt;br /&gt;
|-&lt;br /&gt;
| 11 || Farenheit display || Adds a farenheit suffix (°F) to the number. Also divides the number as needed and adds a metric prefix to the suffix. (e.g. k°F)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || Litres display || Adds a Litres suffix (L) to the number. Also divides the number as needed and adds a metric prefix to the suffix. (e.g. kL)&lt;br /&gt;
|-&lt;br /&gt;
| 13 || Mol display || Adds a Mols suffix (mol) to the number. Also divides the number as needed and adds a metric prefix to the suffix. (e.g. kmol)&lt;br /&gt;
|-&lt;br /&gt;
| 14 || Pa display || Adds a Pascals suffix (Pa) to the number. Also divides the number as needed and adds a metricprefix to the suffix. (e.g. kPa)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Data Parameters}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter Name !! Data Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Mode || Integer || Sets the display mode of the LED Display to the passed value. (See [[#Mode Values|Mode Values]])&lt;br /&gt;
|-&lt;br /&gt;
| Setting || Float || Sets the raw number to display on the LED Display.&lt;br /&gt;
|-&lt;br /&gt;
| On || Boolean || Turns the LED Display on, when set to 1. Turns it off, when set to 0.&lt;br /&gt;
|-&lt;br /&gt;
| Color || Integer || Sets the color of the text on the LED Display. (See [[Data Network Colors]])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Data Outputs}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Output Name !! Data Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Power || Boolean || Returns whether the LED Display is turned on and receives power. (0 for no, 1 for yes)&lt;br /&gt;
|-&lt;br /&gt;
| Mode || Integer || Returns the mode of the LED Display. (See [[#Mode Values|Mode Values]])&lt;br /&gt;
|-&lt;br /&gt;
| Error || Boolean || Returns whether the LED Display is flashing an error. (0 for no, 1 for yes)&lt;br /&gt;
|-&lt;br /&gt;
| Setting || Float || Returns the &amp;quot;Setting&amp;quot; value of the LED Display.&lt;br /&gt;
|-&lt;br /&gt;
| On || Boolean || Returns whether the LED Display is turned on. (0 for no, 1 for yes)&lt;br /&gt;
|-&lt;br /&gt;
| RequiredPower || Integer || Returns the current amount of power, required by the LED Display, in watts.&lt;br /&gt;
|-&lt;br /&gt;
| Color || Integer || Returns the color setting of the LED Display. (See [[Data Network Colors]])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Circuitboards]]&lt;br /&gt;
[[Category:Data Network]]&lt;br /&gt;
[[Category:Machines]]&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Console&amp;diff=28137</id>
		<title>Console</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Console&amp;diff=28137"/>
		<updated>2026-09-12T03:46:43Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: move desc outside headings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Category:Electronic]]&lt;br /&gt;
{{Itembox&lt;br /&gt;
 | name        = Kit (Consoles)&lt;br /&gt;
 | image       = [[File:ItemKitConsole.png]]&lt;br /&gt;
 | createdwith = [[Electronics Printer]], [[Fabricator]]&lt;br /&gt;
 | cost        = 2g [[Iron]], 5g [[Copper]], 3g [[Gold]]&lt;br /&gt;
 | stacks      = 5&lt;br /&gt;
}}&lt;br /&gt;
{{Structurebox&lt;br /&gt;
 | name             = Console&lt;br /&gt;
 | image            = [[File:Console.jpg]]&lt;br /&gt;
 | power_usage      = 50W&lt;br /&gt;
 | placed_with_item = [[Kit (Consoles)]]&lt;br /&gt;
 | placed_on_grid   = Small Grid, On Frames&lt;br /&gt;
 | const_with_item1 = [[Circuitboard]]&lt;br /&gt;
 | decon_with_tool1 = [[Hand Drill]]&lt;br /&gt;
 | item_rec1        = [[Kit (Consoles)]]&lt;br /&gt;
 | const_with_item2 = [[Glass Sheets|Glass Sheet]]&lt;br /&gt;
 | item_rec2        = [[Circuitboard]]&lt;br /&gt;
 | decon_with_tool3 = [[Crowbar]]&lt;br /&gt;
 | item_rec3        = [[Glass Sheets|Glass Sheet]]&lt;br /&gt;
}}&lt;br /&gt;
{{Description|This Norsec-designed control box manages devices such as the Active Vent, Passive Vent, Gas Sensor and Composite Door, depending on which circuitboard is inserted into the unit. It has a shared data/power port. A completed console displays all devices connected to the current power network. Any devices not related to the installed circuitboard will be greyed-out and inoperable. Consoles are locked once a Data Disk is removed.}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The console is one device of the Console item kit. The console can be fitted with a [[Circuitboard]]. As of the [[Update_v0.2.6085.26682|Respawn Update]] consoles can be configured using a screwdriver on the side screw. In previous versions this required putting in a data disk in the side slot. Note that there is currently an inconsistency with the new functionality and the stationpedia which still mentions disks.&lt;br /&gt;
There is the Console (Variant 1 of the kit) which has a mixed input (data and energy) and the Console Dual (Variant 2 of the kit) which has two inputs (one for energy and one for data).&lt;br /&gt;
&lt;br /&gt;
== Example set up ==&lt;br /&gt;
For example one can set it to pressure measurement (requires gas circuit board inside) which allows one to read out the actual pressure value of a connected gas [[sensors|sensor]]. (Setup shown in picture)&lt;br /&gt;
&lt;br /&gt;
== Tips ==&lt;br /&gt;
* You need to insert a Circuit Board and then put a sheet of glass over it to complete construction.&lt;br /&gt;
* To display general readings, only the Graph Display Circuit Board will find all the devices which are connected to your power grid. Any available readings will be shown on the select list.&lt;br /&gt;
* For other specialized Circuit Boards (Gas, Power, etc.) the only values that can be displayed are those related to the function of that board.&lt;br /&gt;
&lt;br /&gt;
== Deconstruction ==&lt;br /&gt;
First remove the glass sheet with a [[Crowbar]]. The device itself is deconstructed with the [[Hand Drill]].&lt;br /&gt;
&lt;br /&gt;
= Console, Console Dual and Console Monitor =&lt;br /&gt;
&lt;br /&gt;
{{Data Network Header}}&lt;br /&gt;
&lt;br /&gt;
{{Data Parameters}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter Name !! Data Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Open || Boolean || (Unknown)&lt;br /&gt;
|-&lt;br /&gt;
| On || Boolean || Turns the Console on, when set to 1. Turns it off, when set to 0.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Data Outputs}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Output Name !! Data Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Power || Boolean || Returns whether the Console is turned on and receives power. (0 for no, 1 for yes)&lt;br /&gt;
|-&lt;br /&gt;
| Open || Boolean || (Unknown)&lt;br /&gt;
|-&lt;br /&gt;
| Error || Boolean || Returns whether the Console is flashing an error. (0 for no, 1 for yes)&lt;br /&gt;
|-&lt;br /&gt;
| On || Boolean || Returns whether the Console is turned on. (0 for no, 1 for yes)&lt;br /&gt;
|-&lt;br /&gt;
| RequiredPower || Integer || Returns the current amount of power required by the Console, in watts.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= LED Display (Small, Medium and Large) =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Picture!! Placed with&lt;br /&gt;
|-&lt;br /&gt;
| Small display LED || [[File:Small display.png|thumb]] || 1 - Kit (Consoles)&lt;br /&gt;
|-&lt;br /&gt;
| Medium display LED || [[File:Screenshot 2.png|thumb]] || 2 - Kit (Consoles)&lt;br /&gt;
|-&lt;br /&gt;
| Large display LED || [[File:Screenshot 3.png|thumb]] || 3 - Kit (Consoles)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Data Network Header}}&lt;br /&gt;
&lt;br /&gt;
=== Mode Values ===&lt;br /&gt;
These lists the values and meanings for the &amp;quot;Mode&amp;quot; property of the LED Display.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value !! Meaning !! &amp;quot;Setting&amp;quot; parameter interpretation&lt;br /&gt;
|-&lt;br /&gt;
| 0 || Normal number display || Direct display as a number. Values smaller than 1.000E-07 will be displayed as 0. &amp;lt;!-- tested with large led display, might want to see if other sizes are the same --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Percentage number display || Input range of 0.0 to 1.0 is interpolated and displayed as the range 0% to 100%.  Values outside this range scale more, e.g. 10 shows as 1000%&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Power display || Adds a watt suffix (W) to the number. Also divides the number as needed and adds a metric prefix to the suffix. (e.g. kW)&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Kelvin display || Adds a Kelvin suffix (K) to the number.    Also divides the number as needed and adds a metric prefix to the suffix. (e.g. kK)&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Celcius display || Adds a degrees Celcius suffix (°C) to the number.  Also divides the number as needed and adds a metric prefix to the suffix. (e.g. k°C)&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Meters display || Adds a meters suffix (m) to the number.  Also divides the number as needed and adds a metric prefix to the suffix. (e.g. km)&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Credits display || Adds a Credits suffix (€) to the number.  Also divides the number as needed and adds a metric prefix to the suffix. (e.g. k€)&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Seconds display || Adds a seconds suffix (sec) to the number.  Does not divide and apply a metric prefix for Setting values &amp;gt;= 1000.&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Minutes display || Adds a minutes suffix (min) to the number.  Does not divide and apply a metric prefix for Setting values &amp;gt;= 1000.&lt;br /&gt;
|-&lt;br /&gt;
| 9 || Days display || Adds a days suffix (days) to the number.  Does not divide and apply a metric prefix for Setting values &amp;gt;= 1000.  Always indicates &amp;quot;days&amp;quot; even when Setting is 1.&lt;br /&gt;
|-&lt;br /&gt;
| 10 || String display || Displays the Setting value as an octet-packed ASCII string of up to six characters. A Setting value of $414243444546 will display &amp;quot;ABCDEF&amp;quot; on the display. &amp;lt;br&amp;gt;&lt;br /&gt;
A [[Logic Memory|Logic Memory Unit]] value of 71752852194630 will display &amp;quot;ABCDEF&amp;quot; on the display.&lt;br /&gt;
|-&lt;br /&gt;
| 11 || Farenheit display || Adds a farenheit suffix (°F) to the number. Also divides the number as needed and adds a metric prefix to the suffix. (e.g. k°F)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || Litres display || Adds a Litres suffix (L) to the number. Also divides the number as needed and adds a metric prefix to the suffix. (e.g. kL)&lt;br /&gt;
|-&lt;br /&gt;
| 13 || Mol display || Adds a Mols suffix (mol) to the number. Also divides the number as needed and adds a metric prefix to the suffix. (e.g. kmol)&lt;br /&gt;
|-&lt;br /&gt;
| 14 || Pa display || Adds a Pascals suffix (Pa) to the number. Also divides the number as needed and adds a metricprefix to the suffix. (e.g. kPa)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Data Parameters}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter Name !! Data Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Mode || Integer || Sets the display mode of the LED Display to the passed value. (See [[#Mode Values|Mode Values]])&lt;br /&gt;
|-&lt;br /&gt;
| Setting || Float || Sets the raw number to display on the LED Display.&lt;br /&gt;
|-&lt;br /&gt;
| On || Boolean || Turns the LED Display on, when set to 1. Turns it off, when set to 0.&lt;br /&gt;
|-&lt;br /&gt;
| Color || Integer || Sets the color of the text on the LED Display. (See [[Data Network Colors]])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Data Outputs}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Output Name !! Data Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Power || Boolean || Returns whether the LED Display is turned on and receives power. (0 for no, 1 for yes)&lt;br /&gt;
|-&lt;br /&gt;
| Mode || Integer || Returns the mode of the LED Display. (See [[#Mode Values|Mode Values]])&lt;br /&gt;
|-&lt;br /&gt;
| Error || Boolean || Returns whether the LED Display is flashing an error. (0 for no, 1 for yes)&lt;br /&gt;
|-&lt;br /&gt;
| Setting || Float || Returns the &amp;quot;Setting&amp;quot; value of the LED Display.&lt;br /&gt;
|-&lt;br /&gt;
| On || Boolean || Returns whether the LED Display is turned on. (0 for no, 1 for yes)&lt;br /&gt;
|-&lt;br /&gt;
| RequiredPower || Integer || Returns the current amount of power, required by the LED Display, in watts.&lt;br /&gt;
|-&lt;br /&gt;
| Color || Integer || Returns the color setting of the LED Display. (See [[Data Network Colors]])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Circuitboards]]&lt;br /&gt;
[[Category:Data Network]]&lt;br /&gt;
[[Category:Machines]]&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Pipe_Volume_Pump&amp;diff=28136</id>
		<title>Pipe Volume Pump</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Pipe_Volume_Pump&amp;diff=28136"/>
		<updated>2026-09-11T15:28:04Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: update stationpedia text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Atmospherics]]&lt;br /&gt;
&lt;br /&gt;
{{Itembox&lt;br /&gt;
| name = Kit (Volume Pump)&lt;br /&gt;
| image = [[File:ItemPipeVolumePump.png]]&lt;br /&gt;
| prefabhash = -1766301997&lt;br /&gt;
| prefabname = ItemPipeVolumePump&lt;br /&gt;
| stacks = 5&lt;br /&gt;
| slot_class = SlotClass.None&lt;br /&gt;
| sorting_class = SortingClass.Kits&lt;br /&gt;
| recipe_machine1 = Hydraulic Pipe Bender&lt;br /&gt;
| recipe_cost1 = 5g [[Iron]], 2g [[Gold]], 3g [[Copper]]&lt;br /&gt;
| constructs = [[Pipe_Volume_Pump|Volume Pump]]&lt;br /&gt;
}}&lt;br /&gt;
{{Structurebox&lt;br /&gt;
| name = Volume Pump&lt;br /&gt;
| image = [[File:ItemPipeVolumePump.png]]&lt;br /&gt;
| prefab_hash = -321403609&lt;br /&gt;
| prefab_name = StructureVolumePump&lt;br /&gt;
| power_usage = Setting * 20W&lt;br /&gt;
| placed_on_grid = Small Grid&lt;br /&gt;
| decon_with_tool1 = [[Hand Drill]]&lt;br /&gt;
| placed_with_item = [[Kit (Volume Pump)]]&lt;br /&gt;
| item_rec1 = [[Kit (Volume Pump)]]&lt;br /&gt;
}}&lt;br /&gt;
{{Description|The volume pump pumps pumpable gases. It also separates out pipe networks into separate networks.}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Used to pump gasses throughout a pipe, featuring an adjustable valve 0-10 Liters and requiring power (20W per Liter). All the gasses in the pipes behind it will be completely pushed in front of it when powered, and blocks any flow of gasses in either direction when unpowered.&lt;br /&gt;
&lt;br /&gt;
Note that valve settings are for the rate at which the pump operates, in volume per tick (0.5 seconds).&lt;br /&gt;
&lt;br /&gt;
To calculate the moles per tick, use the following equation:&lt;br /&gt;
n = (P * V) / (R * T)&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
* P = Input pressure (in KPa)&lt;br /&gt;
* V = The volume you set (in L)&lt;br /&gt;
* n = Moles per tick&lt;br /&gt;
* R = Gas constant (8.3144)&lt;br /&gt;
* T = Input temperature (in Kelvin)&lt;br /&gt;
&lt;br /&gt;
Ex: ~4 Moles per tick = (1,000KPa * 10L) / (8.3144 * 300K)&lt;br /&gt;
&lt;br /&gt;
{{Data Network Header}}&lt;br /&gt;
{{Data Parameters|&lt;br /&gt;
{{Data Parameters/row|Power|Boolean|w=0|Can be read to return if the Volume Pump is correctly powered or not, set via the power system, return 1 if powered and 0 if not|multiple=2|0|Unpowered|1|Powered}}&lt;br /&gt;
{{Data Parameters/row|Error|Boolean|w=0|1 if device is in error state, otherwise 0|multiple=2|0|&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;|1|Error}}&lt;br /&gt;
{{Data Parameters/row|Lock|Boolean|Disable manual operation of the Volume Pump.|multiple=2|0|Unlocked|1|Locked}}&lt;br /&gt;
{{Data Parameters/row|Setting|Integer|Sets the flow rate in liters|0.0 to 10.0}}&lt;br /&gt;
{{Data Parameters/row|Maximum|Float|w=0|Maximum setting of the Volume Pump}}&lt;br /&gt;
{{Data Parameters/row|Ratio|Float|w=0|Setting / Maximum|0.0 to 1.0}}&lt;br /&gt;
{{Data Parameters/row|On|Boolean|The current state of the Volume Pump.|multiple=2|0|Off|1|On}}&lt;br /&gt;
{{Data Parameters/row|RequiredPower|Integer|w=0|Idle operating power quantity, does not necessarily include extra demand power}}&lt;br /&gt;
{{Data Parameters/row|PrefabHash|Integer|w=0|The hash of the structure}}&lt;br /&gt;
{{Data Parameters/row|ReferenceId|Integer|w=0|Unique Reference Identifier for this object}}&lt;br /&gt;
{{Data Parameters/row|NameHash|Integer|w=0|Provides the hash value for the name of the object as a 32 bit integer.}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Circuitboard_(Power_Control)&amp;diff=28135</id>
		<title>Circuitboard (Power Control)</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Circuitboard_(Power_Control)&amp;diff=28135"/>
		<updated>2026-09-11T13:18:38Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: update data&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
{{Itembox&lt;br /&gt;
 | name        = Circuitboard (Power Control)&lt;br /&gt;
 | image       = [[File:{{#setmainimage:Circuitboard.png}}]]&lt;br /&gt;
 | stacks      = No&lt;br /&gt;
 | paintable   = No&lt;br /&gt;
 | prefabhash = -1923778429&lt;br /&gt;
 | prefabname = CircuitboardPowerControl&lt;br /&gt;
 | flashpoint = 393 K&lt;br /&gt;
 | autoignition = 573 K&lt;br /&gt;
 | recipe_cost1 = 5g [[Gold]], 5g [[Copper]]&lt;br /&gt;
 | recipe_machine1 = Electronics Printer&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
[[Circuitboard (Power Control)]] can be placed inside of a [[Console]] to form a Power Control Console. It is one of many [[Circuitboard|Circuitboards]] that can be fitted to a Console.&lt;br /&gt;
&lt;br /&gt;
== Power Control ==&lt;br /&gt;
The power control console allows the remote operation, i.e. turning on and off, of devices. &lt;br /&gt;
&lt;br /&gt;
{{Structurebox&lt;br /&gt;
 | name             = Console (Power Control)&lt;br /&gt;
 | image            = &lt;br /&gt;
 | placed_with_item = [[Kit (Consoles)]]&lt;br /&gt;
 | placed_on_grid   = Small Grid&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
Setup mode can be entered by placing a [[Data Disk]] into the slot on the [[Console]]. &lt;br /&gt;
When in setup mode, all objects with data access available to the console are listed.&lt;br /&gt;
When the console leaves setup mode, devices which had been selected are toggled.&lt;br /&gt;
&lt;br /&gt;
{{Structurebox&lt;br /&gt;
 | name             = Console (Power Control) in setup mode&lt;br /&gt;
 | image            = &lt;br /&gt;
 | placed_with_item = [[Kit (Consoles)]]&lt;br /&gt;
 | placed_on_grid   = Small Grid&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Manual Operation ==&lt;br /&gt;
The setup mode also allows for enabling/disabling manual operation of the selected devices. If this is chosen, then the configured devices which normally have their own toggle available become visibly disabled.&lt;br /&gt;
&lt;br /&gt;
{{Structurebox&lt;br /&gt;
 | name             = Manual Operation Disabled&lt;br /&gt;
 | image            = &lt;br /&gt;
 | placed_with_item = [[Kit (Consoles)]]&lt;br /&gt;
 | placed_on_grid   = Small Grid&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Mode ==&lt;br /&gt;
The setup mode also allows for choosing between &#039;&#039;&#039;Link&#039;&#039;&#039; mode and &#039;&#039;&#039;Toggle&#039;&#039;&#039; mode. In &#039;&#039;&#039;Link&#039;&#039;&#039; mode, all selected devices will be turned either on or off depending on the current setting.&lt;br /&gt;
In &#039;&#039;&#039;Toggle&#039;&#039;&#039; mode, selected devices will be toggled from their current state to the alternate state, allowing for different devices to be in different states at the same time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Circuitboards]]&lt;br /&gt;
[[Category:Data Network]]&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Circuitboard_(Solar_Control)&amp;diff=28134</id>
		<title>Circuitboard (Solar Control)</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Circuitboard_(Solar_Control)&amp;diff=28134"/>
		<updated>2026-09-11T13:16:14Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: update data and update stationpedia text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Itembox&lt;br /&gt;
 | name        = Circuitboard (Solar Control)&lt;br /&gt;
 | image       = [[File:{{#setmainimage:Circuitboard.png}}]]&lt;br /&gt;
 | stacks      = No&lt;br /&gt;
 | paintable   = No &lt;br /&gt;
 | prefabhash = 2020180320&lt;br /&gt;
 | prefabname = CircuitboardSolarControl&lt;br /&gt;
 | autoignition = 573 K&lt;br /&gt;
 | flashpoint = 393 K&lt;br /&gt;
 | recipe_cost1 = 5g [[Gold]], 5g [[Copper]]&lt;br /&gt;
 | recipe_machine1 = Electronics Printer&lt;br /&gt;
}}&lt;br /&gt;
{{Description|Adding a solar control board to a [[Console]] lets you manually control the horizontal and vertical angles of any connected [[Solar Panel]].}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Solar control lets you remotely control the angle of any [[Solar Panel]] connected to it.&lt;br /&gt;
&lt;br /&gt;
Solar control needs to be installed in a [[Console]] and connected to the network input of the Solar Panels you wish to control.&lt;br /&gt;
You&#039;ll need to use a [[Data Disk]] to tell the Solar Controller which Solar Panels you want to control.&lt;br /&gt;
&lt;br /&gt;
The Solar control Circuitboard provides no means of automation and requires a player to adjust its setting trough the day to maintain the maximum power output as the Sun moves on the sky. Because of that it is rarely used. For only one panel the same job could be done with a wrench.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE 1:&#039;&#039;&#039; The manual settings are a percentage, not an angle! You might need to do a little &amp;quot;mathing&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;NOTE 2:&#039;&#039;&#039; A single click changes the value by 5, but &#039;C + Click&#039; changes the value by 1.&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Solar Control.png|alt1=Solar Controller |Solar Controller lets you remotely control the angle of any Solar Panel connected to it.&lt;br /&gt;
File:Solar Control installed.png|alt1=Solar Controller installed |Solar Controller installed and ready to use&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Solar Logic Circuits Guide]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Solar power]]&lt;br /&gt;
[[Category:Circuitboards]]&lt;br /&gt;
[[Category:Data Network]]&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Circuitboard_(Airlock)&amp;diff=28133</id>
		<title>Circuitboard (Airlock)</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Circuitboard_(Airlock)&amp;diff=28133"/>
		<updated>2026-09-11T13:15:50Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: remove whitespace + move up the stationpedia text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Circuitboards]]&lt;br /&gt;
&lt;br /&gt;
{{Itembox&lt;br /&gt;
 | name        = Circuitboard (Airlock)&lt;br /&gt;
 | image       = [[File:Circuitboard_door_control.jpg]]&lt;br /&gt;
 | stacks      = No&lt;br /&gt;
 | paintable   = No &lt;br /&gt;
 | prefabhash = 912176135&lt;br /&gt;
 | prefabname = CircuitboardAirlockControl&lt;br /&gt;
 | autoignition = 573 K&lt;br /&gt;
 | flashpoint = 393 K&lt;br /&gt;
 | recipe_cost1 = 1g [[Iron]], 5g [[Gold]], 5g [[Copper]]&lt;br /&gt;
 | recipe_machine1 = Electronics Printer&lt;br /&gt;
}}&lt;br /&gt;
{{Description|Rumored to have been first sketched on a [[Norsec]] toilet wall by a disgruntled engineer, the Exgress airlock control circuit board’s versatility and ease of fabrication has made it the [[Stationeers]] control system of choice for [[Airlock]] cycling protocols. &lt;br /&gt;
&lt;br /&gt;
To enter setup mode, insert the board into a [[Console]] along with a data disk. In this mode, you can see all data-accessible objects currently connected to the [[Console]]. Doors, lights, gas sensors and slave consoles can be selected (highlighted green), and will be controlled once the data disk is removed.}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
A Circuitboard (Airlock) can be used to automate the operation of an airlock separating a pressurized enviroment from a (near) vacuum. [[Guide (Airlock) Atmosphere to Vacuum]] provides additional information regarding the function, construction, and operation of airlock using a Circuitboard (Airlock).&lt;br /&gt;
&lt;br /&gt;
A [[Circuitboard (Advanced Airlock)]] might serve as a suitable substitution, offering support for two pressurized atmospheres and [[Console Slave]]s, but requires a more complex construction.&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
* Its settings will refer to the pressurized environment as &amp;quot;interior&amp;quot; and the vacuum environment as &amp;quot;exterior&amp;quot;.&lt;br /&gt;
* Its pressurization phase will stall if there is not enough gas available to the selected [[Active Vent]]s to reach the set 101 Pa.&lt;br /&gt;
* Its depressurization phase will stall if a complete vacuum cannot be achieved within the [[Large Grid Atmosphere|Large Grid Volume]]s in which all selected [[Gas Sensor]]s reside.&lt;br /&gt;
* When powered, all selected [[Portal]]s and Active Vents will be locked, preventing their manual use even when power is subsequently denied.&lt;br /&gt;
* Supports multiple &amp;quot;interior&amp;quot; [[Active Vent]]s &lt;br /&gt;
* Supports multiple [[Gas Sensor]]s&lt;br /&gt;
* Supports additional [[Console Slave]]s&lt;br /&gt;
* Shiv with a screwdriver to reset values&lt;br /&gt;
&lt;br /&gt;
==Console Slave==&lt;br /&gt;
Additional control [[Console]]s are useful when airlocks become large or remote control is desired. A Circuitboard (Airlock) can support one or more additional enslaved consoles where the &amp;quot;master&amp;quot; and all &amp;quot;enslaved&amp;quot; Consoles will sync their action and state with each other. Only one master console can be used to enslave other Circuitboard (Airlock) equipped consoles residing on the same [[Wire Network]]. See [[Guide_(Airlock)_Atmosphere_to_Atmosphere#Console_Slaves|Guide (Airlock) Atmosphere to Atmosphere]] for information regarding the construction of Console Slave.&lt;br /&gt;
&lt;br /&gt;
==User Interface==&lt;br /&gt;
A powered [[Console]] equipped with a Circuitboard (Airlock) and will display the following user interface:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name || Type !! Function&lt;br /&gt;
|-&lt;br /&gt;
| Cancel Depressurize || Console button || Cancel depressurization and proceed to repressurization (Warning: Atmospheric loss may occur)&lt;br /&gt;
|-&lt;br /&gt;
| Cancel Pressurize || Console button || Cancel pressurization and opens door&lt;br /&gt;
|-&lt;br /&gt;
| Emergency Override || Console button || Unused&lt;br /&gt;
|-&lt;br /&gt;
| Cycle to Exterior || Console button || Begin airlock operations to allow access to Exterior environment&lt;br /&gt;
|-&lt;br /&gt;
| Cycle to Interior || Console button || Begin airlock operations to allow access to Interior environment&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Settings==&lt;br /&gt;
A powered [[Console]] equipped with a Circuitboard (Airlock) and an inserted [[Data Disk]] will display the following settings:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name || Description&lt;br /&gt;
|-&lt;br /&gt;
| «[[Portal]]» EXTERNAL || Designates one portal to exterior environment&lt;br /&gt;
|-&lt;br /&gt;
| «Portal» INTERNAL || Designates one portal to interior environment&lt;br /&gt;
|-&lt;br /&gt;
| «[[Active Vent]]» VENT || Designates one or more Active Vents for interior atmosphere&lt;br /&gt;
|-&lt;br /&gt;
| «[[Gas Sensor]]» SENSOR || Designates one or more Gas Sensors for airlock pressure measurements &lt;br /&gt;
|-&lt;br /&gt;
| «[[Light]]» LIGHT || Designates one or more Lights to be activated only during airlock operation&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Manufacture==&lt;br /&gt;
Circuitboard (Advanced Airlock)&#039;s are manufactured using:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Manufacturer !! Requirements &lt;br /&gt;
|-&lt;br /&gt;
| [[Electronics Printer]] || #J [[Power]], #g [[Ore 1]], #g [[Ore 2]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Fabricator]] ||#J [[Power]], #g [[Ore 1]],##g [[Ore 2]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Recycling==&lt;br /&gt;
Circuitboard (Airlock)&#039;s can be recycled using a [[Recycler]] in conjunction with a [[Centrifuge]] to yield #g [[Ore 1]] and #g [[Ore 2]]&lt;br /&gt;
&lt;br /&gt;
==Destruction==&lt;br /&gt;
Circuitboard (Advanced Airlock)&#039;s can be destroyed using a [[Arc Furnace]], a [[Furnace]] or with multiple shots from a [[Weapon]]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Guide (Airlock)]]&lt;br /&gt;
* [[Circuitboard (Advanced Airlock)]]&lt;br /&gt;
* [[Kit (Airlock)]]&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Circuitboard_(Door_Control)&amp;diff=28132</id>
		<title>Circuitboard (Door Control)</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Circuitboard_(Door_Control)&amp;diff=28132"/>
		<updated>2026-09-11T13:12:06Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: update values&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
{{Itembox&lt;br /&gt;
 | name        = Circuitboard (Door Control)&lt;br /&gt;
 | image       =  [[File:{{#setmainimage:Circuitboard door control.jpg}}]]&lt;br /&gt;
 | stacks      = 0&lt;br /&gt;
 |recipe_machine1=Electronics Printer|recipe_cost1=5g [[Gold]], 5g [[Copper]]|prefabhash=855694771|prefabname=CircuitboardDoorControl|paintable=no}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
[[Circuitboard (Door Control)]] can be placed inside of a [[Console]] to form a Door Control Console. It is one of many [[Circuitboard|Circuitboards]] that can be fitted to a Console.&lt;br /&gt;
&lt;br /&gt;
{{Structurebox&lt;br /&gt;
 | name             = Console (Door Control)&lt;br /&gt;
 | image            = [[File:Console door control.jpg]]&lt;br /&gt;
 | placed_with_item = [[Kit (Consoles)]]&lt;br /&gt;
 | placed_on_grid   = Small Grid&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Door Control ==&lt;br /&gt;
The Door Control console allows the remote operation (opening and closing) of [[Door|doors]]. When connected to one or several [[Sensors|Motion Sensors]] the console will open the door when a sensor is activated and close the door when all sensors are clean.&lt;br /&gt;
&lt;br /&gt;
{{Structurebox&lt;br /&gt;
 | name             = Console (Door Control) in setup mode&lt;br /&gt;
 | image            = [[File:Console door control setup.jpg]]&lt;br /&gt;
 | placed_with_item = [[Kit (Consoles)]]&lt;br /&gt;
 | placed_on_grid   = Small Grid&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
Setup mode can be entered by placing a [[Data Disk]] into the slot on the [[Console]]. &lt;br /&gt;
When in setup mode, all objects with data access available to the console are listed, however only doors are available to be selected (highlighted green).&lt;br /&gt;
When the console leaves setup mode, doors which had been selected are toggled.&lt;br /&gt;
&lt;br /&gt;
{{Structurebox&lt;br /&gt;
 | name             = Manual Operation Disabled&lt;br /&gt;
 | image            = [[File:Composite door disabled.jpg]]&lt;br /&gt;
 | placed_with_item = [[Kit (Consoles)]]&lt;br /&gt;
 | placed_on_grid   = Small Grid&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Manual Operation ==&lt;br /&gt;
The setup mode also allows for enabling/disabling manual operation of the doors. If this is chosen, then the configured doors which normally have their own toggle available become visibly disabled.&lt;br /&gt;
&lt;br /&gt;
== Mode ==&lt;br /&gt;
The setup mode also allows for choosing between Link mode and Toggle Mode. IN Link mode, all selected devices will be turned either on or off depending on the current setting.&lt;br /&gt;
In Toggle mode, selected devices will be toggled from their current state to the alternate state, allowing for different devices to be in different states at the same time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Circuitboards]]&lt;br /&gt;
[[Category:Data Network]]&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Template:Itembox&amp;diff=28131</id>
		<title>Template:Itembox</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Template:Itembox&amp;diff=28131"/>
		<updated>2026-09-11T12:47:02Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: update param desc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Infobox&lt;br /&gt;
| name = Itembox&lt;br /&gt;
| title = {{{name|{{PAGENAME}}}}}&lt;br /&gt;
| image =  {{{image|}}}&lt;br /&gt;
| header19 = {{ #if: {{{stacks|}}}{{{autoignition|}}}{{{flashpoint|}}}{{{paintable|}}} | Properties &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Stacks&lt;br /&gt;
    | data1 = {{#if: {{{stacks|}}} |&lt;br /&gt;
      {{#iferror:&lt;br /&gt;
        {{#expr: {{{stacks|}}}+1 }}&lt;br /&gt;
        | {{{stacks|}}} |&lt;br /&gt;
        {{#ifexpr: {{{stacks|}}} = 1 | No | Yes ({{{stacks|}}}) }}&lt;br /&gt;
      }}&lt;br /&gt;
    }}&lt;br /&gt;
    | label2 = Paintable&lt;br /&gt;
    | data2 = {{Yesno|{{{paintable|}}}|yes=Yes|no=No|default=No}}&lt;br /&gt;
    | label3 = Autoignition&lt;br /&gt;
    | data3 = {{{autoignition|}}}&lt;br /&gt;
    | label4 = Flashpoint&lt;br /&gt;
    | data4 = {{{flashpoint|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| label6 = Constructing Options&lt;br /&gt;
| data6 = {{{constructs|}}}&lt;br /&gt;
| label7 = Used With&lt;br /&gt;
| data7 = {{{usedwith|}}}&lt;br /&gt;
| label8 = Max Input Power&lt;br /&gt;
| data8 = {{{maxinpower|}}}&lt;br /&gt;
| label9 = Max Output Power&lt;br /&gt;
| data9 = {{{maxoutpower|}}}&lt;br /&gt;
| label10 = Max Pressure&lt;br /&gt;
| data10 = {{{maxpressure|}}}&lt;br /&gt;
| label11 = Pressure Range&lt;br /&gt;
| data11 = {{{pressurerange|}}}&lt;br /&gt;
| label12 = Max Temperature&lt;br /&gt;
| data12 = {{{maxtemp|}}}&lt;br /&gt;
| label13 = Temperature Range&lt;br /&gt;
| data13 = {{{temprange|}}}&lt;br /&gt;
| label14 = Volume&lt;br /&gt;
| data14 = {{{volume|}}}&lt;br /&gt;
| header20 = {{ #if: {{{createdwith|}}} | Recipe &amp;lt;!-- Old recipe style&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Created With&lt;br /&gt;
    | data1 = {{{createdwith|}}}&lt;br /&gt;
    | label2 = Cost&lt;br /&gt;
    | data2 = {{{cost|}}}&lt;br /&gt;
    }}&lt;br /&gt;
  }}&lt;br /&gt;
| header21 = {{ #if: {{{recipe_machine1|}}} | Recipes &amp;lt;!-- New recipe style&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = [[{{{recipe_machine1|}}}]]&lt;br /&gt;
    | data1 = {{{recipe_cost1|}}}&lt;br /&gt;
    | label4 = [[{{{recipe_machine2|}}}]]&lt;br /&gt;
    | data4 = {{{recipe_cost2|}}}&lt;br /&gt;
    | label6 = [[{{{recipe_machine3|}}}]]&lt;br /&gt;
    | data6 = {{{recipe_cost3|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| header22 = {{ #if: {{{logic|}}}{{{prefabhash|}}}{{{prefabname|}}}{{{slot_class|}}}{{{sorting_class|}}}{{{hashid|}}} | Logic &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Item Hash&lt;br /&gt;
    | data1 = {{#if: {{{prefabhash|}}} | &amp;lt;span style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{prefabhash|}}}&amp;lt;/span&amp;gt; | {{#if: {{{hashid|}}}| &amp;lt;span style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{hashid|}}}&amp;lt;/span&amp;gt; }} }}&lt;br /&gt;
    | label2 = Item Name&lt;br /&gt;
    | data2 = {{#if: {{{prefabname|}}} | &amp;lt;span style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{prefabname|}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
    | label3 = Logic Classes&lt;br /&gt;
    | data3 = {{#if: {{{slot_class|}}}| &amp;lt;div style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{slot_class|}}}&amp;lt;/div&amp;gt; }}{{#if: {{{sorting_class|}}}|&amp;lt;div style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{sorting_class|}}}&amp;lt;/div&amp;gt; }}&lt;br /&gt;
    | label4 = Logic Parameters&lt;br /&gt;
    | data4 = {{{logic|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| header23 = {{ #if: {{{nutrition|}}}{{{quality|}}}{{{growthtime|}}}{{{moodbonus|}}} | Food &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Food Nutrition&lt;br /&gt;
    | data1 = {{{nutrition|}}}&lt;br /&gt;
    | label2 = Food Quality&lt;br /&gt;
    | data2 = {{{quality|}}}&lt;br /&gt;
    | label3 = Growth Time&lt;br /&gt;
    | data3 = {{{growthtime|}}}&lt;br /&gt;
    | label4 = Mood Bonus&lt;br /&gt;
    | data4 = {{{moodbonus|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| header60={{{module|}}}&lt;br /&gt;
| header61={{{module2|}}}&lt;br /&gt;
| header62={{{module3|}}}&lt;br /&gt;
| header63={{{module4|}}}&lt;br /&gt;
}} [[Category:Items]] {{ #if: {{{nutrition|}}}{{{quality|}}}{{{moodbonus|}}} | [[Category:Food]] }} {{ #if: {{{constructs|}}} | [[Category:Kits]] }} {{ #if: {{{createdwith|}}}{{{cost|}}} | [[Category:Itembox with old style recipe]] }} {{ #if: {{{prefabhash|}}}{{{hashid|}}} | | [[Category:Infobox without prefab data]] }} {{ #if: {{{prefabname|}}} | | [[Category:Infobox without prefab data]] }} {{ #if: {{{slot_class|}}}{{{sorting_class|}}} | | [[Category:Itembox without logic classes]] }} {{#ifeq: {{{slot_class}}}|SlotClass.Tool|[[Category:Tools]]|}} &amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;name&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Name&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;item&#039;s name &amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;image&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;wiki-file-name&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Image&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;item&#039;s image &amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;stacks&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Stacks&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;item&#039;s stacks (number only) &amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;autoignition&amp;quot;: {},&lt;br /&gt;
		&amp;quot;flashpoint&amp;quot;: {},&lt;br /&gt;
		&amp;quot;paintable&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Paintable&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;item is paintable&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;true/false/yes/no&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;constructs&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Constructs&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;item&#039;s constructing variations&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;usedwith&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxinpower&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxoutpower&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxpressure&amp;quot;: {},&lt;br /&gt;
		&amp;quot;pressurerange&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxtemp&amp;quot;: {},&lt;br /&gt;
		&amp;quot;temprange&amp;quot;: {},&lt;br /&gt;
		&amp;quot;volume&amp;quot;: {},&lt;br /&gt;
		&amp;quot;createdwith&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;deprecated&amp;quot;: &amp;quot;recipe_machine is prefered over this&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;cost&amp;quot;: {&lt;br /&gt;
			&amp;quot;deprecated&amp;quot;: &amp;quot;recipe_cost1 is prefered over this&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_machine1&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_cost1&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_machine2&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_cost2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;recipe_machine3&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_cost3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;logic&amp;quot;: {},&lt;br /&gt;
		&amp;quot;prefabhash&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;prefabname&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;slot_class&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Slot Class&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;item&#039;s slot class when in a slot (SlotClass.None, etc) &amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;SlotClass.None&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;sorting_class&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Sorting Class&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;item&#039;s sorting class (used in Logic Sorter) (SortingClass.Default, etc) &amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;SortingClass.Default&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;hashid&amp;quot;: {&lt;br /&gt;
			&amp;quot;deprecated&amp;quot;: &amp;quot;use prefabhash&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;nutrition&amp;quot;: {},&lt;br /&gt;
		&amp;quot;quality&amp;quot;: {},&lt;br /&gt;
		&amp;quot;growthtime&amp;quot;: {},&lt;br /&gt;
		&amp;quot;moodbonus&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module4&amp;quot;: {}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Template:Itembox&amp;diff=28130</id>
		<title>Template:Itembox</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Template:Itembox&amp;diff=28130"/>
		<updated>2026-09-11T12:41:40Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: oops&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Infobox&lt;br /&gt;
| name = Itembox&lt;br /&gt;
| title = {{{name|{{PAGENAME}}}}}&lt;br /&gt;
| image =  {{{image|}}}&lt;br /&gt;
| header19 = {{ #if: {{{stacks|}}}{{{autoignition|}}}{{{flashpoint|}}}{{{paintable|}}} | Properties &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Stacks&lt;br /&gt;
    | data1 = {{#if: {{{stacks|}}} |&lt;br /&gt;
      {{#iferror:&lt;br /&gt;
        {{#expr: {{{stacks|}}}+1 }}&lt;br /&gt;
        | {{{stacks|}}} |&lt;br /&gt;
        {{#ifexpr: {{{stacks|}}} = 1 | No | Yes ({{{stacks|}}}) }}&lt;br /&gt;
      }}&lt;br /&gt;
    }}&lt;br /&gt;
    | label2 = Paintable&lt;br /&gt;
    | data2 = {{Yesno|{{{paintable|}}}|yes=Yes|no=No|default=No}}&lt;br /&gt;
    | label3 = Autoignition&lt;br /&gt;
    | data3 = {{{autoignition|}}}&lt;br /&gt;
    | label4 = Flashpoint&lt;br /&gt;
    | data4 = {{{flashpoint|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| label6 = Constructing Options&lt;br /&gt;
| data6 = {{{constructs|}}}&lt;br /&gt;
| label7 = Used With&lt;br /&gt;
| data7 = {{{usedwith|}}}&lt;br /&gt;
| label8 = Max Input Power&lt;br /&gt;
| data8 = {{{maxinpower|}}}&lt;br /&gt;
| label9 = Max Output Power&lt;br /&gt;
| data9 = {{{maxoutpower|}}}&lt;br /&gt;
| label10 = Max Pressure&lt;br /&gt;
| data10 = {{{maxpressure|}}}&lt;br /&gt;
| label11 = Pressure Range&lt;br /&gt;
| data11 = {{{pressurerange|}}}&lt;br /&gt;
| label12 = Max Temperature&lt;br /&gt;
| data12 = {{{maxtemp|}}}&lt;br /&gt;
| label13 = Temperature Range&lt;br /&gt;
| data13 = {{{temprange|}}}&lt;br /&gt;
| label14 = Volume&lt;br /&gt;
| data14 = {{{volume|}}}&lt;br /&gt;
| header20 = {{ #if: {{{createdwith|}}} | Recipe &amp;lt;!-- Old recipe style&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Created With&lt;br /&gt;
    | data1 = {{{createdwith|}}}&lt;br /&gt;
    | label2 = Cost&lt;br /&gt;
    | data2 = {{{cost|}}}&lt;br /&gt;
    }}&lt;br /&gt;
  }}&lt;br /&gt;
| header21 = {{ #if: {{{recipe_machine1|}}} | Recipes &amp;lt;!-- New recipe style&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = [[{{{recipe_machine1|}}}]]&lt;br /&gt;
    | data1 = {{{recipe_cost1|}}}&lt;br /&gt;
    | label4 = [[{{{recipe_machine2|}}}]]&lt;br /&gt;
    | data4 = {{{recipe_cost2|}}}&lt;br /&gt;
    | label6 = [[{{{recipe_machine3|}}}]]&lt;br /&gt;
    | data6 = {{{recipe_cost3|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| header22 = {{ #if: {{{logic|}}}{{{prefabhash|}}}{{{prefabname|}}}{{{slot_class|}}}{{{sorting_class|}}}{{{hashid|}}} | Logic &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Item Hash&lt;br /&gt;
    | data1 = {{#if: {{{prefabhash|}}} | &amp;lt;span style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{prefabhash|}}}&amp;lt;/span&amp;gt; | {{#if: {{{hashid|}}}| &amp;lt;span style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{hashid|}}}&amp;lt;/span&amp;gt; }} }}&lt;br /&gt;
    | label2 = Item Name&lt;br /&gt;
    | data2 = {{#if: {{{prefabname|}}} | &amp;lt;span style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{prefabname|}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
    | label3 = Logic Classes&lt;br /&gt;
    | data3 = {{#if: {{{slot_class|}}}| &amp;lt;div style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{slot_class|}}}&amp;lt;/div&amp;gt; }}{{#if: {{{sorting_class|}}}|&amp;lt;div style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{sorting_class|}}}&amp;lt;/div&amp;gt; }}&lt;br /&gt;
    | label4 = Logic Parameters&lt;br /&gt;
    | data4 = {{{logic|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| header23 = {{ #if: {{{nutrition|}}}{{{quality|}}}{{{growthtime|}}}{{{moodbonus|}}} | Food &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Food Nutrition&lt;br /&gt;
    | data1 = {{{nutrition|}}}&lt;br /&gt;
    | label2 = Food Quality&lt;br /&gt;
    | data2 = {{{quality|}}}&lt;br /&gt;
    | label3 = Growth Time&lt;br /&gt;
    | data3 = {{{growthtime|}}}&lt;br /&gt;
    | label4 = Mood Bonus&lt;br /&gt;
    | data4 = {{{moodbonus|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| header60={{{module|}}}&lt;br /&gt;
| header61={{{module2|}}}&lt;br /&gt;
| header62={{{module3|}}}&lt;br /&gt;
| header63={{{module4|}}}&lt;br /&gt;
}} [[Category:Items]] {{ #if: {{{nutrition|}}}{{{quality|}}}{{{moodbonus|}}} | [[Category:Food]] }} {{ #if: {{{constructs|}}} | [[Category:Kits]] }} {{ #if: {{{createdwith|}}}{{{cost|}}} | [[Category:Itembox with old style recipe]] }} {{ #if: {{{prefabhash|}}}{{{hashid|}}} | | [[Category:Infobox without prefab data]] }} {{ #if: {{{prefabname|}}} | | [[Category:Infobox without prefab data]] }} {{ #if: {{{slot_class|}}}{{{sorting_class|}}} | | [[Category:Itembox without logic classes]] }} {{#ifeq: {{{slot_class}}}|SlotClass.Tool|[[Category:Tools]]|}} &amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;name&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;image&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;wiki-file-name&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;stacks&amp;quot;: {},&lt;br /&gt;
		&amp;quot;autoignition&amp;quot;: {},&lt;br /&gt;
		&amp;quot;flashpoint&amp;quot;: {},&lt;br /&gt;
		&amp;quot;paintable&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;constructs&amp;quot;: {},&lt;br /&gt;
		&amp;quot;usedwith&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxinpower&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxoutpower&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxpressure&amp;quot;: {},&lt;br /&gt;
		&amp;quot;pressurerange&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxtemp&amp;quot;: {},&lt;br /&gt;
		&amp;quot;temprange&amp;quot;: {},&lt;br /&gt;
		&amp;quot;volume&amp;quot;: {},&lt;br /&gt;
		&amp;quot;createdwith&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;deprecated&amp;quot;: &amp;quot;recipe_machine is prefered over this&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;cost&amp;quot;: {&lt;br /&gt;
			&amp;quot;deprecated&amp;quot;: &amp;quot;recipe_cost1 is prefered over this&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_machine1&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_cost1&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_machine2&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_cost2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;recipe_machine3&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_cost3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;logic&amp;quot;: {},&lt;br /&gt;
		&amp;quot;prefabhash&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;prefabname&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;slot_class&amp;quot;: {},&lt;br /&gt;
		&amp;quot;sorting_class&amp;quot;: {},&lt;br /&gt;
		&amp;quot;hashid&amp;quot;: {&lt;br /&gt;
			&amp;quot;deprecated&amp;quot;: &amp;quot;use prefabhash&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;nutrition&amp;quot;: {},&lt;br /&gt;
		&amp;quot;quality&amp;quot;: {},&lt;br /&gt;
		&amp;quot;growthtime&amp;quot;: {},&lt;br /&gt;
		&amp;quot;moodbonus&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module4&amp;quot;: {}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Circuitboard_(Airlock)&amp;diff=28129</id>
		<title>Circuitboard (Airlock)</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Circuitboard_(Airlock)&amp;diff=28129"/>
		<updated>2026-09-11T12:40:01Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: update airlock values&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Circuitboards]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Itembox&lt;br /&gt;
 | name        = Circuitboard (Airlock)&lt;br /&gt;
 | image       = [[File:Circuitboard_door_control.jpg]]&lt;br /&gt;
 | stacks      = No&lt;br /&gt;
 | paintable   = No &lt;br /&gt;
 | prefabhash = 912176135&lt;br /&gt;
 | prefabname = CircuitboardAirlockControl&lt;br /&gt;
 | autoignition = 573 K&lt;br /&gt;
 | flashpoint = 393 K&lt;br /&gt;
 | recipe_cost1 = 1g [[Iron]], 5g [[Gold]], 5g [[Copper]]&lt;br /&gt;
 | recipe_machine1 = Electronics Printer&lt;br /&gt;
}}&lt;br /&gt;
==Description==&lt;br /&gt;
{{Description|Rumored to have been first sketched on a [[Norsec]] toilet wall by a disgruntled engineer, the Exgress airlock control circuit board’s versatility and ease of fabrication has made it the [[Stationeers]] control system of choice for [[Airlock]] cycling protocols. &lt;br /&gt;
&lt;br /&gt;
To enter setup mode, insert the board into a [[Console]] along with a data disk. In this mode, you can see all data-accessible objects currently connected to the [[Console]]. Doors, lights, gas sensors and slave consoles can be selected (highlighted green), and will be controlled once the data disk is removed.}}&lt;br /&gt;
&lt;br /&gt;
A Circuitboard (Airlock) can be used to automate the operation of an airlock separating a pressurized enviroment from a (near) vacuum. [[Guide (Airlock) Atmosphere to Vacuum]] provides additional information regarding the function, construction, and operation of airlock using a Circuitboard (Airlock).&lt;br /&gt;
&lt;br /&gt;
A [[Circuitboard (Advanced Airlock)]] might serve as a suitable substitution, offering support for two pressurized atmospheres and [[Console Slave]]s, but requires a more complex construction.&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
* Its settings will refer to the pressurized environment as &amp;quot;interior&amp;quot; and the vacuum environment as &amp;quot;exterior&amp;quot;.&lt;br /&gt;
* Its pressurization phase will stall if there is not enough gas available to the selected [[Active Vent]]s to reach the set 101 Pa.&lt;br /&gt;
* Its depressurization phase will stall if a complete vacuum cannot be achieved within the [[Large Grid Atmosphere|Large Grid Volume]]s in which all selected [[Gas Sensor]]s reside.&lt;br /&gt;
* When powered, all selected [[Portal]]s and Active Vents will be locked, preventing their manual use even when power is subsequently denied.&lt;br /&gt;
* Supports multiple &amp;quot;interior&amp;quot; [[Active Vent]]s &lt;br /&gt;
* Supports multiple [[Gas Sensor]]s&lt;br /&gt;
* Supports additional [[Console Slave]]s&lt;br /&gt;
* Shiv with a screwdriver to reset values&lt;br /&gt;
&lt;br /&gt;
==Console Slave==&lt;br /&gt;
Additional control [[Console]]s are useful when airlocks become large or remote control is desired. A Circuitboard (Airlock) can support one or more additional enslaved consoles where the &amp;quot;master&amp;quot; and all &amp;quot;enslaved&amp;quot; Consoles will sync their action and state with each other. Only one master console can be used to enslave other Circuitboard (Airlock) equipped consoles residing on the same [[Wire Network]]. See [[Guide_(Airlock)_Atmosphere_to_Atmosphere#Console_Slaves|Guide (Airlock) Atmosphere to Atmosphere]] for information regarding the construction of Console Slave.&lt;br /&gt;
&lt;br /&gt;
==User Interface==&lt;br /&gt;
A powered [[Console]] equipped with a Circuitboard (Airlock) and will display the following user interface:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name || Type !! Function&lt;br /&gt;
|-&lt;br /&gt;
| Cancel Depressurize || Console button || Cancel depressurization and proceed to repressurization (Warning: Atmospheric loss may occur)&lt;br /&gt;
|-&lt;br /&gt;
| Cancel Pressurize || Console button || Cancel pressurization and opens door&lt;br /&gt;
|-&lt;br /&gt;
| Emergency Override || Console button || Unused&lt;br /&gt;
|-&lt;br /&gt;
| Cycle to Exterior || Console button || Begin airlock operations to allow access to Exterior environment&lt;br /&gt;
|-&lt;br /&gt;
| Cycle to Interior || Console button || Begin airlock operations to allow access to Interior environment&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Settings==&lt;br /&gt;
A powered [[Console]] equipped with a Circuitboard (Airlock) and an inserted [[Data Disk]] will display the following settings:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name || Description&lt;br /&gt;
|-&lt;br /&gt;
| «[[Portal]]» EXTERNAL || Designates one portal to exterior environment&lt;br /&gt;
|-&lt;br /&gt;
| «Portal» INTERNAL || Designates one portal to interior environment&lt;br /&gt;
|-&lt;br /&gt;
| «[[Active Vent]]» VENT || Designates one or more Active Vents for interior atmosphere&lt;br /&gt;
|-&lt;br /&gt;
| «[[Gas Sensor]]» SENSOR || Designates one or more Gas Sensors for airlock pressure measurements &lt;br /&gt;
|-&lt;br /&gt;
| «[[Light]]» LIGHT || Designates one or more Lights to be activated only during airlock operation&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Manufacture==&lt;br /&gt;
Circuitboard (Advanced Airlock)&#039;s are manufactured using:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Manufacturer !! Requirements &lt;br /&gt;
|-&lt;br /&gt;
| [[Electronics Printer]] || #J [[Power]], #g [[Ore 1]], #g [[Ore 2]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Fabricator]] ||#J [[Power]], #g [[Ore 1]],##g [[Ore 2]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Recycling==&lt;br /&gt;
Circuitboard (Airlock)&#039;s can be recycled using a [[Recycler]] in conjunction with a [[Centrifuge]] to yield #g [[Ore 1]] and #g [[Ore 2]]&lt;br /&gt;
&lt;br /&gt;
==Destruction==&lt;br /&gt;
Circuitboard (Advanced Airlock)&#039;s can be destroyed using a [[Arc Furnace]], a [[Furnace]] or with multiple shots from a [[Weapon]]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Guide (Airlock)]]&lt;br /&gt;
&lt;br /&gt;
* [[Circuitboard (Advanced Airlock)]]&lt;br /&gt;
* [[Kit (Airlock)]]&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Circuitboard_(Advanced_Airlock)&amp;diff=28128</id>
		<title>Circuitboard (Advanced Airlock)</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Circuitboard_(Advanced_Airlock)&amp;diff=28128"/>
		<updated>2026-09-11T12:34:13Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: update adv airlock values&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
{{Itembox&lt;br /&gt;
 | image       = [[File:Circuitboard_door_control.jpg]]&lt;br /&gt;
 | name        = Circuitboard (Advanced Airlock)&lt;br /&gt;
 | stacks      = No&lt;br /&gt;
 | paintable   = No &lt;br /&gt;
 | recipe_machine1 = Electronics Printer&lt;br /&gt;
 | recipe_cost1 = 1g [[Iron]], 5g [[Gold]], 5g [[Copper]]&lt;br /&gt;
 | prefabhash = 1633663176&lt;br /&gt;
 | prefabname = CircuitboardAdvAirlockControl&lt;br /&gt;
 | autoignition = 573 K&lt;br /&gt;
 | flashpoint = 373 K&lt;br /&gt;
}}&lt;br /&gt;
==Description==&lt;br /&gt;
A Circuitboard (Advanced Airlock) can be used to automate the operation of an airlock separating two pressurized atmospheres. [[Guide (Airlock) Atmosphere to Atmosphere]] provides additional information regarding the function, construction, and operation of an airlock using a Circuitboard (Advanced Airlock).&lt;br /&gt;
&lt;br /&gt;
A [[Circuitboard (Airlock)]] might serve as a suitable substitution, being a simpler system to construct but lacking support for [[Console Slave]]s or more than one pressurized atmosphere. &lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
* Its settings will refer to the two adjoining environments as either &amp;quot;interior&amp;quot; or &amp;quot;exterior&amp;quot;.&lt;br /&gt;
* Its pressurization phase will stall if there is not enough gas available to the selected interior or exterior [[Active Vent]] to reach the set &amp;quot;External #Pa&amp;quot; or &amp;quot;Internal #Pa&amp;quot;.&lt;br /&gt;
* Its depressurization phase will stall if a complete vacuum cannot be achieved within the [[Large Grid Atmosphere|Large Grid Volume]]s in which all selected [[Gas Sensor]]s reside.&lt;br /&gt;
* If its settings for &amp;quot;External #Pa&amp;quot; or &amp;quot;Internal #Pa&amp;quot; are set to 0, the corresponding pressurization phase will be skipped.&lt;br /&gt;
* When powered, all selected [[Portal]]s and Active Vents will be locked, preventing their manual use even when power is subsequently denied.&lt;br /&gt;
* Supports only one &amp;quot;interior&amp;quot; and one &amp;quot;exterior&amp;quot; [[Active Vent]] &lt;br /&gt;
* Supports multiple [[Gas Sensor]]s&lt;br /&gt;
* Supports additional [[Console Slave]]s&lt;br /&gt;
&lt;br /&gt;
==Console Slave==&lt;br /&gt;
Additional control [[Console]]s are useful when airlocks become large or remote control is desired. A Circuitboard (Advanced Airlock) can support one or more additional enslaved consoles where the &amp;quot;master&amp;quot; and all &amp;quot;enslaved&amp;quot; Consoles will sync their action and state with each other. Only one master console can be used to enslave other Circuitboard (Advanced Airlock) equipped consoles residing on the same [[Wire Network]]. See [[Guide_(Airlock)_Atmosphere_to_Atmosphere#Console_Slaves|Guide (Airlock) Atmosphere to Atmosphere]] for information regarding the construction of Console Slave.&lt;br /&gt;
&lt;br /&gt;
==User Interface==&lt;br /&gt;
A powered [[Console]] equipped with a Circuitboard (Advanced Airlock) and will display the following user interface:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name || Type !! Function&lt;br /&gt;
|-&lt;br /&gt;
| Cancel Depressurize || Console button || Cancel depressurization and proceed to repressurization (Warning: Atmospheric mixing may occur)&lt;br /&gt;
|-&lt;br /&gt;
| Cancel Pressurize || Console button || Cancel pressurization and opens door&lt;br /&gt;
|-&lt;br /&gt;
| Emergency Override || Console button || Unused&lt;br /&gt;
|-&lt;br /&gt;
| Cycle to Exterior || Console button || Begin airlock operations to allow access to Exterior environment&lt;br /&gt;
|-&lt;br /&gt;
| Cycle to Interior || Console button || Begin airlock operations to allow access to Interior environment&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Settings==&lt;br /&gt;
A powered [[Console]] equipped with a Circuitboard (Advanced Airlock) and an inserted [[Data Disk]] will display the following settings:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name || Description&lt;br /&gt;
|-&lt;br /&gt;
| External #Pa || Set minimum internal airlock pressure to open exterior portal &lt;br /&gt;
|-&lt;br /&gt;
| Internal #Pa || Set minimum internal airlock pressure to open interior portal&lt;br /&gt;
|-&lt;br /&gt;
| «[[Portal]]» EXTERNAL || Designates one portal to exterior environment&lt;br /&gt;
|-&lt;br /&gt;
| «Portal» INTERNAL || Designates one portal to interior environment&lt;br /&gt;
|-&lt;br /&gt;
| «[[Active Vent]]» EXTERNAL || Designates one Active Vent for exterior atmosphere&lt;br /&gt;
|-&lt;br /&gt;
| «Active Vent» INTERNAL || Designates one Active Vent for interior atmosphere&lt;br /&gt;
|-&lt;br /&gt;
| «[[Gas Sensor]]» SENSOR || Designates one or more Gas Sensors for airlock pressure measurements &lt;br /&gt;
|-&lt;br /&gt;
| «[[Light]]» LIGHT || Designates one or more Lights to be activated only during airlock operation&lt;br /&gt;
|-&lt;br /&gt;
| «[[Console]]» MAKE SLAVE || Designates one or more [[Console Slave]]s&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Manufacture==&lt;br /&gt;
Circuitboard (Advanced Airlock)&#039;s are manufactured using:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Manufacturer !! Requirements &lt;br /&gt;
|-&lt;br /&gt;
| [[Electronics Printer]] || #J [[Power]], 1g [[Iron]], 5g [[Gold]], 5g [[Copper]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Fabricator]] || #J [[Power]], 1g [[Iron]], 5g [[Gold]], 5g [[Copper]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Recycling==&lt;br /&gt;
Circuitboard (Advanced Airlock)&#039;s can be recycled using a [[Recycler]] in conjunction with a [[Centrifuge]] to yield ##g [[Iron]], ##g [[Gold]], and ##g [[Copper]]&lt;br /&gt;
&lt;br /&gt;
==Destruction==&lt;br /&gt;
Circuitboard (Advanced Airlock)&#039;s can be destroyed using a [[Arc Furnace]], a [[Furnace]] or with multiple shots from a [[Weapon]]&lt;br /&gt;
&lt;br /&gt;
==Bugs==&lt;br /&gt;
Issue: There is a known bug affecting the state of external and internal doors and vents upon game reload.&lt;br /&gt;
&lt;br /&gt;
Description: When you have both external and internal doors or vents set to their correct states, and then deselect an external door or vent, then reselecting them, upon reloading the game it will cause the states of the internal and external to be reversed.&lt;br /&gt;
&lt;br /&gt;
Steps to Reproduce:&lt;br /&gt;
1. Set the advanced airlock correctly.&lt;br /&gt;
&lt;br /&gt;
2. De-select the external door or vent.&lt;br /&gt;
&lt;br /&gt;
3. Re-select the external door or vent.&lt;br /&gt;
&lt;br /&gt;
4. Reload the game.&lt;br /&gt;
&lt;br /&gt;
5. Observe that the states of the External and Internal doors or vents will be reversed.&lt;br /&gt;
&lt;br /&gt;
Temporary workaround: any time you need to deselect an external vent or door on an airlock, always deselect the internal one also, then reselect in the correct order.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Guide (Airlock)]]&lt;br /&gt;
* [[Circuitboard (Airlock)]]&lt;br /&gt;
* [[Kit (Airlock)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Circuitboards]]&lt;br /&gt;
[[Category:Data Network]]&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Circuitboard_(Advanced_Airlock)&amp;diff=28127</id>
		<title>Circuitboard (Advanced Airlock)</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Circuitboard_(Advanced_Airlock)&amp;diff=28127"/>
		<updated>2026-09-11T12:32:19Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: update adv airlock values&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
{{Itembox&lt;br /&gt;
 | image       = [[File:Circuitboard_door_control.jpg]]&lt;br /&gt;
 | name        = Circuitboard (Advanced Airlock)&lt;br /&gt;
 | stacks      = No&lt;br /&gt;
 | paintable   = No &lt;br /&gt;
|recipe_machine1=Electronics Printer|recipe_cost1=1g [[Iron]], 5g [[Gold]], 5g [[Copper]]|prefabhash=1633663176|prefabname=CircuitboardAdvAirlockControl|autoignition=573 K|flashpoint=373 K}}&lt;br /&gt;
==Description==&lt;br /&gt;
A Circuitboard (Advanced Airlock) can be used to automate the operation of an airlock separating two pressurized atmospheres. [[Guide (Airlock) Atmosphere to Atmosphere]] provides additional information regarding the function, construction, and operation of an airlock using a Circuitboard (Advanced Airlock).&lt;br /&gt;
&lt;br /&gt;
A [[Circuitboard (Airlock)]] might serve as a suitable substitution, being a simpler system to construct but lacking support for [[Console Slave]]s or more than one pressurized atmosphere. &lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
* Its settings will refer to the two adjoining environments as either &amp;quot;interior&amp;quot; or &amp;quot;exterior&amp;quot;.&lt;br /&gt;
* Its pressurization phase will stall if there is not enough gas available to the selected interior or exterior [[Active Vent]] to reach the set &amp;quot;External #Pa&amp;quot; or &amp;quot;Internal #Pa&amp;quot;.&lt;br /&gt;
* Its depressurization phase will stall if a complete vacuum cannot be achieved within the [[Large Grid Atmosphere|Large Grid Volume]]s in which all selected [[Gas Sensor]]s reside.&lt;br /&gt;
* If its settings for &amp;quot;External #Pa&amp;quot; or &amp;quot;Internal #Pa&amp;quot; are set to 0, the corresponding pressurization phase will be skipped.&lt;br /&gt;
* When powered, all selected [[Portal]]s and Active Vents will be locked, preventing their manual use even when power is subsequently denied.&lt;br /&gt;
* Supports only one &amp;quot;interior&amp;quot; and one &amp;quot;exterior&amp;quot; [[Active Vent]] &lt;br /&gt;
* Supports multiple [[Gas Sensor]]s&lt;br /&gt;
* Supports additional [[Console Slave]]s&lt;br /&gt;
&lt;br /&gt;
==Console Slave==&lt;br /&gt;
Additional control [[Console]]s are useful when airlocks become large or remote control is desired. A Circuitboard (Advanced Airlock) can support one or more additional enslaved consoles where the &amp;quot;master&amp;quot; and all &amp;quot;enslaved&amp;quot; Consoles will sync their action and state with each other. Only one master console can be used to enslave other Circuitboard (Advanced Airlock) equipped consoles residing on the same [[Wire Network]]. See [[Guide_(Airlock)_Atmosphere_to_Atmosphere#Console_Slaves|Guide (Airlock) Atmosphere to Atmosphere]] for information regarding the construction of Console Slave.&lt;br /&gt;
&lt;br /&gt;
==User Interface==&lt;br /&gt;
A powered [[Console]] equipped with a Circuitboard (Advanced Airlock) and will display the following user interface:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name || Type !! Function&lt;br /&gt;
|-&lt;br /&gt;
| Cancel Depressurize || Console button || Cancel depressurization and proceed to repressurization (Warning: Atmospheric mixing may occur)&lt;br /&gt;
|-&lt;br /&gt;
| Cancel Pressurize || Console button || Cancel pressurization and opens door&lt;br /&gt;
|-&lt;br /&gt;
| Emergency Override || Console button || Unused&lt;br /&gt;
|-&lt;br /&gt;
| Cycle to Exterior || Console button || Begin airlock operations to allow access to Exterior environment&lt;br /&gt;
|-&lt;br /&gt;
| Cycle to Interior || Console button || Begin airlock operations to allow access to Interior environment&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Settings==&lt;br /&gt;
A powered [[Console]] equipped with a Circuitboard (Advanced Airlock) and an inserted [[Data Disk]] will display the following settings:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name || Description&lt;br /&gt;
|-&lt;br /&gt;
| External #Pa || Set minimum internal airlock pressure to open exterior portal &lt;br /&gt;
|-&lt;br /&gt;
| Internal #Pa || Set minimum internal airlock pressure to open interior portal&lt;br /&gt;
|-&lt;br /&gt;
| «[[Portal]]» EXTERNAL || Designates one portal to exterior environment&lt;br /&gt;
|-&lt;br /&gt;
| «Portal» INTERNAL || Designates one portal to interior environment&lt;br /&gt;
|-&lt;br /&gt;
| «[[Active Vent]]» EXTERNAL || Designates one Active Vent for exterior atmosphere&lt;br /&gt;
|-&lt;br /&gt;
| «Active Vent» INTERNAL || Designates one Active Vent for interior atmosphere&lt;br /&gt;
|-&lt;br /&gt;
| «[[Gas Sensor]]» SENSOR || Designates one or more Gas Sensors for airlock pressure measurements &lt;br /&gt;
|-&lt;br /&gt;
| «[[Light]]» LIGHT || Designates one or more Lights to be activated only during airlock operation&lt;br /&gt;
|-&lt;br /&gt;
| «[[Console]]» MAKE SLAVE || Designates one or more [[Console Slave]]s&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Manufacture==&lt;br /&gt;
Circuitboard (Advanced Airlock)&#039;s are manufactured using:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Manufacturer !! Requirements &lt;br /&gt;
|-&lt;br /&gt;
| [[Electronics Printer]] || #J [[Power]], 1g [[Iron]], 5g [[Gold]], 5g [[Copper]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Fabricator]] || #J [[Power]], 1g [[Iron]], 5g [[Gold]], 5g [[Copper]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Recycling==&lt;br /&gt;
Circuitboard (Advanced Airlock)&#039;s can be recycled using a [[Recycler]] in conjunction with a [[Centrifuge]] to yield ##g [[Iron]], ##g [[Gold]], and ##g [[Copper]]&lt;br /&gt;
&lt;br /&gt;
==Destruction==&lt;br /&gt;
Circuitboard (Advanced Airlock)&#039;s can be destroyed using a [[Arc Furnace]], a [[Furnace]] or with multiple shots from a [[Weapon]]&lt;br /&gt;
&lt;br /&gt;
==Bugs==&lt;br /&gt;
Issue: There is a known bug affecting the state of external and internal doors and vents upon game reload.&lt;br /&gt;
&lt;br /&gt;
Description: When you have both external and internal doors or vents set to their correct states, and then deselect an external door or vent, then reselecting them, upon reloading the game it will cause the states of the internal and external to be reversed.&lt;br /&gt;
&lt;br /&gt;
Steps to Reproduce:&lt;br /&gt;
1. Set the advanced airlock correctly.&lt;br /&gt;
&lt;br /&gt;
2. De-select the external door or vent.&lt;br /&gt;
&lt;br /&gt;
3. Re-select the external door or vent.&lt;br /&gt;
&lt;br /&gt;
4. Reload the game.&lt;br /&gt;
&lt;br /&gt;
5. Observe that the states of the External and Internal doors or vents will be reversed.&lt;br /&gt;
&lt;br /&gt;
Temporary workaround: any time you need to deselect an external vent or door on an airlock, always deselect the internal one also, then reselect in the correct order.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Guide (Airlock)]]&lt;br /&gt;
* [[Circuitboard (Airlock)]]&lt;br /&gt;
* [[Kit (Airlock)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Circuitboards]]&lt;br /&gt;
[[Category:Data Network]]&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Template:Itembox&amp;diff=28126</id>
		<title>Template:Itembox</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Template:Itembox&amp;diff=28126"/>
		<updated>2026-09-11T12:31:13Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: turn paintable into a yesno bool; this should still support old yes/no&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Infobox&lt;br /&gt;
| name = Itembox&lt;br /&gt;
| title = {{{name|{{PAGENAME}}}}}&lt;br /&gt;
| image =  {{{image|}}}&lt;br /&gt;
| header19 = {{ #if: {{{stacks|}}}{{{autoignition|}}}{{{flashpoint|}}}{{{paintable|}}} | Properties &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Stacks&lt;br /&gt;
    | data1 = {{#if: {{{stacks|}}} |&lt;br /&gt;
      {{#iferror:&lt;br /&gt;
        {{#expr: {{{stacks|}}}+1 }}&lt;br /&gt;
        | {{{stacks|}}} |&lt;br /&gt;
        {{#ifexpr: {{{stacks|}}} = 1 | No | Yes ({{{stacks|}}}) }}&lt;br /&gt;
      }}&lt;br /&gt;
    }}&lt;br /&gt;
    | label2 = Paintable&lt;br /&gt;
    | data2 = {{Yesno|{{{paintable|}}}|yes=Yes|default=No}}&lt;br /&gt;
    | label3 = Autoignition&lt;br /&gt;
    | data3 = {{{autoignition|}}}&lt;br /&gt;
    | label4 = Flashpoint&lt;br /&gt;
    | data4 = {{{flashpoint|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| label6 = Constructing Options&lt;br /&gt;
| data6 = {{{constructs|}}}&lt;br /&gt;
| label7 = Used With&lt;br /&gt;
| data7 = {{{usedwith|}}}&lt;br /&gt;
| label8 = Max Input Power&lt;br /&gt;
| data8 = {{{maxinpower|}}}&lt;br /&gt;
| label9 = Max Output Power&lt;br /&gt;
| data9 = {{{maxoutpower|}}}&lt;br /&gt;
| label10 = Max Pressure&lt;br /&gt;
| data10 = {{{maxpressure|}}}&lt;br /&gt;
| label11 = Pressure Range&lt;br /&gt;
| data11 = {{{pressurerange|}}}&lt;br /&gt;
| label12 = Max Temperature&lt;br /&gt;
| data12 = {{{maxtemp|}}}&lt;br /&gt;
| label13 = Temperature Range&lt;br /&gt;
| data13 = {{{temprange|}}}&lt;br /&gt;
| label14 = Volume&lt;br /&gt;
| data14 = {{{volume|}}}&lt;br /&gt;
| header20 = {{ #if: {{{createdwith|}}} | Recipe &amp;lt;!-- Old recipe style&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Created With&lt;br /&gt;
    | data1 = {{{createdwith|}}}&lt;br /&gt;
    | label2 = Cost&lt;br /&gt;
    | data2 = {{{cost|}}}&lt;br /&gt;
    }}&lt;br /&gt;
  }}&lt;br /&gt;
| header21 = {{ #if: {{{recipe_machine1|}}} | Recipes &amp;lt;!-- New recipe style&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = [[{{{recipe_machine1|}}}]]&lt;br /&gt;
    | data1 = {{{recipe_cost1|}}}&lt;br /&gt;
    | label4 = [[{{{recipe_machine2|}}}]]&lt;br /&gt;
    | data4 = {{{recipe_cost2|}}}&lt;br /&gt;
    | label6 = [[{{{recipe_machine3|}}}]]&lt;br /&gt;
    | data6 = {{{recipe_cost3|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| header22 = {{ #if: {{{logic|}}}{{{prefabhash|}}}{{{prefabname|}}}{{{slot_class|}}}{{{sorting_class|}}}{{{hashid|}}} | Logic &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Item Hash&lt;br /&gt;
    | data1 = {{#if: {{{prefabhash|}}} | &amp;lt;span style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{prefabhash|}}}&amp;lt;/span&amp;gt; | {{#if: {{{hashid|}}}| &amp;lt;span style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{hashid|}}}&amp;lt;/span&amp;gt; }} }}&lt;br /&gt;
    | label2 = Item Name&lt;br /&gt;
    | data2 = {{#if: {{{prefabname|}}} | &amp;lt;span style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{prefabname|}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
    | label3 = Logic Classes&lt;br /&gt;
    | data3 = {{#if: {{{slot_class|}}}| &amp;lt;div style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{slot_class|}}}&amp;lt;/div&amp;gt; }}{{#if: {{{sorting_class|}}}|&amp;lt;div style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{sorting_class|}}}&amp;lt;/div&amp;gt; }}&lt;br /&gt;
    | label4 = Logic Parameters&lt;br /&gt;
    | data4 = {{{logic|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| header23 = {{ #if: {{{nutrition|}}}{{{quality|}}}{{{growthtime|}}}{{{moodbonus|}}} | Food &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Food Nutrition&lt;br /&gt;
    | data1 = {{{nutrition|}}}&lt;br /&gt;
    | label2 = Food Quality&lt;br /&gt;
    | data2 = {{{quality|}}}&lt;br /&gt;
    | label3 = Growth Time&lt;br /&gt;
    | data3 = {{{growthtime|}}}&lt;br /&gt;
    | label4 = Mood Bonus&lt;br /&gt;
    | data4 = {{{moodbonus|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| header60={{{module|}}}&lt;br /&gt;
| header61={{{module2|}}}&lt;br /&gt;
| header62={{{module3|}}}&lt;br /&gt;
| header63={{{module4|}}}&lt;br /&gt;
}} [[Category:Items]] {{ #if: {{{nutrition|}}}{{{quality|}}}{{{moodbonus|}}} | [[Category:Food]] }} {{ #if: {{{constructs|}}} | [[Category:Kits]] }} {{ #if: {{{createdwith|}}}{{{cost|}}} | [[Category:Itembox with old style recipe]] }} {{ #if: {{{prefabhash|}}}{{{hashid|}}} | | [[Category:Infobox without prefab data]] }} {{ #if: {{{prefabname|}}} | | [[Category:Infobox without prefab data]] }} {{ #if: {{{slot_class|}}}{{{sorting_class|}}} | | [[Category:Itembox without logic classes]] }} {{#ifeq: {{{slot_class}}}|SlotClass.Tool|[[Category:Tools]]|}} &amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;name&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;image&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;wiki-file-name&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;stacks&amp;quot;: {},&lt;br /&gt;
		&amp;quot;autoignition&amp;quot;: {},&lt;br /&gt;
		&amp;quot;flashpoint&amp;quot;: {},&lt;br /&gt;
		&amp;quot;paintable&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;constructs&amp;quot;: {},&lt;br /&gt;
		&amp;quot;usedwith&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxinpower&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxoutpower&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxpressure&amp;quot;: {},&lt;br /&gt;
		&amp;quot;pressurerange&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxtemp&amp;quot;: {},&lt;br /&gt;
		&amp;quot;temprange&amp;quot;: {},&lt;br /&gt;
		&amp;quot;volume&amp;quot;: {},&lt;br /&gt;
		&amp;quot;createdwith&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;deprecated&amp;quot;: &amp;quot;recipe_machine is prefered over this&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;cost&amp;quot;: {&lt;br /&gt;
			&amp;quot;deprecated&amp;quot;: &amp;quot;recipe_cost1 is prefered over this&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_machine1&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_cost1&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_machine2&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_cost2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;recipe_machine3&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_cost3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;logic&amp;quot;: {},&lt;br /&gt;
		&amp;quot;prefabhash&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;prefabname&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;slot_class&amp;quot;: {},&lt;br /&gt;
		&amp;quot;sorting_class&amp;quot;: {},&lt;br /&gt;
		&amp;quot;hashid&amp;quot;: {&lt;br /&gt;
			&amp;quot;deprecated&amp;quot;: &amp;quot;use prefabhash&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;nutrition&amp;quot;: {},&lt;br /&gt;
		&amp;quot;quality&amp;quot;: {},&lt;br /&gt;
		&amp;quot;growthtime&amp;quot;: {},&lt;br /&gt;
		&amp;quot;moodbonus&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module4&amp;quot;: {}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Template:Yesno/doc&amp;diff=28125</id>
		<title>Template:Yesno/doc</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Template:Yesno/doc&amp;diff=28125"/>
		<updated>2026-09-11T12:25:40Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: Created page with &amp;quot;{{Documentation subpage}}  {{tlx|Yesno}} (or &amp;lt;code&amp;gt;{&amp;lt;nowiki&amp;gt;{{YesNo}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) evaluates any input and produces a normalized &amp;lt;samp&amp;gt;yes&amp;lt;/samp&amp;gt; or nil output, based on the content of the input and several configurable options. It is not used in article prose, but in coding complex templates.  == Usage == The template distinguishes five different types of input, supplied on the first unnamed parameter: # &amp;#039;&amp;#039;&amp;#039;Yes&amp;#039;&amp;#039;&amp;#039;: Case-insensitive forms of &amp;lt;code&amp;gt;Yes&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;y...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation subpage}}&lt;br /&gt;
&lt;br /&gt;
{{tlx|Yesno}} (or &amp;lt;code&amp;gt;{&amp;lt;nowiki&amp;gt;{{YesNo}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) evaluates any input and produces a normalized &amp;lt;samp&amp;gt;yes&amp;lt;/samp&amp;gt; or nil output, based on the content of the input and several configurable options. It is not used in article prose, but in coding complex templates.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
The template distinguishes five different types of input, supplied on the first unnamed parameter:&lt;br /&gt;
# &#039;&#039;&#039;Yes&#039;&#039;&#039;: Case-insensitive forms of &amp;lt;code&amp;gt;Yes&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;on&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;; e.g. {{tlx|Yesno|yEs{{!}}yes{{=}}foo}}} &amp;amp;rarr; {{Yesno|yEs|yes=foo}}&lt;br /&gt;
# &#039;&#039;&#039;No&#039;&#039;&#039;: Case-insensitive forms of &amp;lt;code&amp;gt;No&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;off&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;; e.g. {{tlx|Yesno|off{{!}}no{{=}}bar}}} &amp;amp;rarr; {{Yesno|off|no=bar}}&lt;br /&gt;
# &#039;&#039;&#039;Blank&#039;&#039;&#039;: When the input is defined but either contains no value or consists of whitespace characters only; i.e. {{tlx|Yesno|{{!}}blank{{=}}bax}} or {{tlx|Yesno|&amp;amp;#32;{{!}}blank{{=}}qux}}} &amp;amp;rarr; {{Yesno||blank=bax}} and {{Yesno|&amp;amp;#32;|blank=qux}}&lt;br /&gt;
# &#039;&#039;&#039;Negation&#039;&#039;&#039;: When the input is either &amp;lt;code&amp;gt;¬&amp;lt;/code&amp;gt; (alt code [https://www.rapidtables.com/code/text/alt-codes.html 170]) or entirely missing; i.e. {{tlx|Yesno|¬{{!}}¬{{=}}lorem}}} or {{tlx|Yesno|¬{{=}}ipsum}} &amp;amp;rarr; {{Yesno|¬=lorem}} and {{Yesno|¬=ipsum}} &lt;br /&gt;
# &#039;&#039;&#039;Anything else&#039;&#039;&#039;: e.g. {{tlx|Yesno|foo bar lorem ipsum{{!}}def{{=}}foo bar lorem ipsum}} &amp;amp;rarr; {{Yesno|foo bar lorem ipsum|def=foo bar lorem ipsum}}&lt;br /&gt;
&lt;br /&gt;
By default, the template returns &amp;quot;yes&amp;quot; in the 1st and 5th case but returns nil (blank, empty string) in the other cases (case 2, 3 and 4).&lt;br /&gt;
&lt;br /&gt;
===Customizing the output===&lt;br /&gt;
Template&#039;s default output can be customized with five named parameters, respectively: {{para|yes}}, {{para|no}}, {{para|blank}}, {{para|¬}} and {{para|def}}. If these parameters are specified, the template response is as follows:&lt;br /&gt;
# &#039;&#039;&#039;Yes&#039;&#039;&#039;: Template returns the contents of {{para|yes}}, otherwise returns &amp;quot;yes&amp;quot;. For example:&lt;br /&gt;
#* {{tlx|yesno|y|3=yes=Yeah}} results in &amp;quot;{{yesno|y|yes=Yeah}}&amp;quot;&lt;br /&gt;
#* {{tlx|yesno|y|3=yes=bacon}}  results in &amp;quot;{{yesno|y|yes=bacon}}&amp;quot;&lt;br /&gt;
# &#039;&#039;&#039;No&#039;&#039;&#039;: Template returns the contents of {{para|no}}, otherwise returns blank. For example:&lt;br /&gt;
#* {{tlx|yesno|n|3=no=Nay}} results in &amp;quot;{{yesno|n|no=Nay}}&amp;quot;&lt;br /&gt;
#* {{tlx|yesno|n|3=no=ham}} results in &amp;quot;{{yesno|n|no=ham}}&amp;quot;&lt;br /&gt;
# &#039;&#039;&#039;Nothing&#039;&#039;&#039;: Template returns the contents of {{para|blank}}, or of {{para|no}} in absence of the former; otherwise, returns blank.&lt;br /&gt;
#* {{tlx|yesno||3=blank=eggs}} results in &amp;quot;{{yesno||blank=eggs}}&amp;quot;&lt;br /&gt;
#* {{tlx|yesno||3=no=ham}} results in &amp;quot;{{yesno||no=ham}}&amp;quot;&lt;br /&gt;
#* {{tlx|yesno||3=blank=eggs|4=no=ham}} results in &amp;quot;{{yesno||blank=eggs|no=ham}}&amp;quot;&lt;br /&gt;
# &#039;&#039;&#039;Negation&#039;&#039;&#039;: Template returns the contents of {{para|¬}}, otherwise returns blank. For example:&lt;br /&gt;
#* {{tlx|yesno|¬|3=¬=sausage}} results in &amp;quot;{{yesno|¬|¬=sausage}}&amp;quot;&lt;br /&gt;
# &#039;&#039;&#039;Anything else&#039;&#039;&#039;: Template returns the contents of {{para|def}}, or of {{para|yes}} in absence of the former; otherwise, returns &amp;quot;yes&amp;quot;.&lt;br /&gt;
#* {{tlx|yesno|purple monkey dish washer|3=def=cup of tea}} results in &amp;quot;{{yesno|purple monkey dish washer|def=cup of tea}}&amp;quot;&lt;br /&gt;
#* {{tlx|yesno|purple monkey dish washer|3=yes=bacon}} results in &amp;quot;{{yesno|purple monkey dish washer|yes=bacon}}&amp;quot;&lt;br /&gt;
#* {{tlx|yesno|purple monkey dish washer|3=def=cup of tea|4=yes=bacon}} results in &amp;quot;{{yesno|purple monkey dish washer|def=cup of tea|yes=bacon}}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For the named parameters, use of a blank value is not the same as omitting the parameter. A blank named parameter tells the template that the customized return value is blank. For example:&lt;br /&gt;
* {{tlx|yesno|purple monkey dish washer}} results in &amp;quot;{{yesno|purple monkey dish washer}}&amp;quot;&lt;br /&gt;
* {{tlx|yesno|purple monkey dish washer|3=def=}} results in &amp;quot;{{yesno|purple monkey dish washer|def=}}&amp;quot; &amp;lt;i&amp;gt;[blank]&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logical distinctions===&lt;br /&gt;
&lt;br /&gt;
See wikipedia docs, I am too lazy to re-format without making new templates!&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Template:Yesno/doc#Logical_distinctions&lt;br /&gt;
&lt;br /&gt;
== Full parameter list ==&lt;br /&gt;
Unnamed parameter 1= the input value to be evaluated. The other parameters (all named, all optional), are the &#039;&#039;return values&#039;&#039; for their respective logical outcome. When set, each one overrules their &#039;&#039;default return value&#039;&#039;.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;wikitext&amp;quot; style=&amp;quot;overflow: auto&amp;quot;&amp;gt;&lt;br /&gt;
{{yesno&lt;br /&gt;
  | Input value&lt;br /&gt;
  | yes = Output on yes&lt;br /&gt;
  | no = Output on no&lt;br /&gt;
  | blank = Output on blank input&lt;br /&gt;
  | ¬ = Output on ¬&lt;br /&gt;
  | def = Definite output&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Module:yesno]]&lt;br /&gt;
&lt;br /&gt;
== TemplateData ==&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;This template normalises an input to be a yes or nil output.&amp;quot;,&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Input value&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The value to be evaluated&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;yes&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Output on yes&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Specifies the output of the template when the input value is a case-insensitive forms of &#039;Yes&#039;, &#039;Y&#039;, &#039;True&#039; or &#039;1&#039;&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;no&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Output on no&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Specifies the output of the template when the input value is a case-insensitive forms of &#039;No&#039;, &#039;N&#039;, &#039;False, or &#039;0&#039;&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;blank&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Output on blank input&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Specifies the output of the template when the input value is defined but is either empty or contains nothing but whitespace character(s)&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;¬&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Output on ¬&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Specifies the output of the template when the input value is either &#039;¬&#039; (negation) or entirely missing (undefined)&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;def&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Definite output&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Specifies the output of the template when the input value is defined but not a form of &#039;yes&#039;, &#039;no&#039;, &#039;1&#039;, &#039;0&#039;, &#039;¬&#039; or blank&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!----CATEGORIES BELOW THIS LINE, PLEASE:----&amp;gt;&lt;br /&gt;
[[Category:If-then-else templates]]&lt;br /&gt;
&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Template:Yesno&amp;diff=28124</id>
		<title>Template:Yesno</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Template:Yesno&amp;diff=28124"/>
		<updated>2026-09-11T12:17:58Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: Yesno from wikipedia ( https://en.wikipedia.org/wiki/Template:Yesno )&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&amp;lt;includeonly&amp;gt;safesubst:&amp;lt;/includeonly&amp;gt;#switch: {{&amp;lt;includeonly&amp;gt;safesubst:&amp;lt;/includeonly&amp;gt;lc: {{{1|¬}}} }}&lt;br /&gt;
 |no&lt;br /&gt;
 |n&lt;br /&gt;
 |f&lt;br /&gt;
 |false&lt;br /&gt;
 |off&lt;br /&gt;
 |0        = {{{no|}}}&lt;br /&gt;
 |         = {{{blank|{{{no|}}}}}}&lt;br /&gt;
 |¬        = {{{¬|}}}&lt;br /&gt;
 |yes&lt;br /&gt;
 |y&lt;br /&gt;
 |t&lt;br /&gt;
 |true&lt;br /&gt;
 |on&lt;br /&gt;
 |1        = {{{yes|yes}}}&lt;br /&gt;
 |#default = {{{def|{{{yes|yes}}}}}}&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Template:Itembox&amp;diff=28123</id>
		<title>Template:Itembox</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Template:Itembox&amp;diff=28123"/>
		<updated>2026-09-11T12:06:21Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: add templatedata for those who use visual editing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Infobox&lt;br /&gt;
| name = Itembox&lt;br /&gt;
| title = {{{name|{{PAGENAME}}}}}&lt;br /&gt;
| image =  {{{image|}}}&lt;br /&gt;
| header19 = {{ #if: {{{stacks|}}}{{{autoignition|}}}{{{flashpoint|}}}{{{paintable|}}} | Properties &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Stacks&lt;br /&gt;
    | data1 = {{#if: {{{stacks|}}} |&lt;br /&gt;
      {{#iferror:&lt;br /&gt;
        {{#expr: {{{stacks|}}}+1 }}&lt;br /&gt;
        | {{{stacks|}}} |&lt;br /&gt;
        {{#ifexpr: {{{stacks|}}} = 1 | No | Yes ({{{stacks|}}}) }}&lt;br /&gt;
      }}&lt;br /&gt;
    }}&lt;br /&gt;
    | label2 = Paintable&lt;br /&gt;
    | data2 = {{{paintable|}}}&lt;br /&gt;
    | label3 = Autoignition&lt;br /&gt;
    | data3 = {{{autoignition|}}}&lt;br /&gt;
    | label4 = Flashpoint&lt;br /&gt;
    | data4 = {{{flashpoint|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| label6 = Constructing Options&lt;br /&gt;
| data6 = {{{constructs|}}}&lt;br /&gt;
| label7 = Used With&lt;br /&gt;
| data7 = {{{usedwith|}}}&lt;br /&gt;
| label8 = Max Input Power&lt;br /&gt;
| data8 = {{{maxinpower|}}}&lt;br /&gt;
| label9 = Max Output Power&lt;br /&gt;
| data9 = {{{maxoutpower|}}}&lt;br /&gt;
| label10 = Max Pressure&lt;br /&gt;
| data10 = {{{maxpressure|}}}&lt;br /&gt;
| label11 = Pressure Range&lt;br /&gt;
| data11 = {{{pressurerange|}}}&lt;br /&gt;
| label12 = Max Temperature&lt;br /&gt;
| data12 = {{{maxtemp|}}}&lt;br /&gt;
| label13 = Temperature Range&lt;br /&gt;
| data13 = {{{temprange|}}}&lt;br /&gt;
| label14 = Volume&lt;br /&gt;
| data14 = {{{volume|}}}&lt;br /&gt;
| header20 = {{ #if: {{{createdwith|}}} | Recipe &amp;lt;!-- Old recipe style&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Created With&lt;br /&gt;
    | data1 = {{{createdwith|}}}&lt;br /&gt;
    | label2 = Cost&lt;br /&gt;
    | data2 = {{{cost|}}}&lt;br /&gt;
    }}&lt;br /&gt;
  }}&lt;br /&gt;
| header21 = {{ #if: {{{recipe_machine1|}}} | Recipes &amp;lt;!-- New recipe style&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = [[{{{recipe_machine1|}}}]]&lt;br /&gt;
    | data1 = {{{recipe_cost1|}}}&lt;br /&gt;
    | label4 = [[{{{recipe_machine2|}}}]]&lt;br /&gt;
    | data4 = {{{recipe_cost2|}}}&lt;br /&gt;
    | label6 = [[{{{recipe_machine3|}}}]]&lt;br /&gt;
    | data6 = {{{recipe_cost3|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| header22 = {{ #if: {{{logic|}}}{{{prefabhash|}}}{{{prefabname|}}}{{{slot_class|}}}{{{sorting_class|}}}{{{hashid|}}} | Logic &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Item Hash&lt;br /&gt;
    | data1 = {{#if: {{{prefabhash|}}} | &amp;lt;span style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{prefabhash|}}}&amp;lt;/span&amp;gt; | {{#if: {{{hashid|}}}| &amp;lt;span style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{hashid|}}}&amp;lt;/span&amp;gt; }} }}&lt;br /&gt;
    | label2 = Item Name&lt;br /&gt;
    | data2 = {{#if: {{{prefabname|}}} | &amp;lt;span style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{prefabname|}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
    | label3 = Logic Classes&lt;br /&gt;
    | data3 = {{#if: {{{slot_class|}}}| &amp;lt;div style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{slot_class|}}}&amp;lt;/div&amp;gt; }}{{#if: {{{sorting_class|}}}|&amp;lt;div style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{sorting_class|}}}&amp;lt;/div&amp;gt; }}&lt;br /&gt;
    | label4 = Logic Parameters&lt;br /&gt;
    | data4 = {{{logic|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| header23 = {{ #if: {{{nutrition|}}}{{{quality|}}}{{{growthtime|}}}{{{moodbonus|}}} | Food &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Food Nutrition&lt;br /&gt;
    | data1 = {{{nutrition|}}}&lt;br /&gt;
    | label2 = Food Quality&lt;br /&gt;
    | data2 = {{{quality|}}}&lt;br /&gt;
    | label3 = Growth Time&lt;br /&gt;
    | data3 = {{{growthtime|}}}&lt;br /&gt;
    | label4 = Mood Bonus&lt;br /&gt;
    | data4 = {{{moodbonus|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| header60={{{module|}}}&lt;br /&gt;
| header61={{{module2|}}}&lt;br /&gt;
| header62={{{module3|}}}&lt;br /&gt;
| header63={{{module4|}}}&lt;br /&gt;
}} [[Category:Items]] {{ #if: {{{nutrition|}}}{{{quality|}}}{{{moodbonus|}}} | [[Category:Food]] }} {{ #if: {{{constructs|}}} | [[Category:Kits]] }} {{ #if: {{{createdwith|}}}{{{cost|}}} | [[Category:Itembox with old style recipe]] }} {{ #if: {{{prefabhash|}}}{{{hashid|}}} | | [[Category:Infobox without prefab data]] }} {{ #if: {{{prefabname|}}} | | [[Category:Infobox without prefab data]] }} {{ #if: {{{slot_class|}}}{{{sorting_class|}}} | | [[Category:Itembox without logic classes]] }} {{#ifeq: {{{slot_class}}}|SlotClass.Tool|[[Category:Tools]]|}} &amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;name&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;image&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;wiki-file-name&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;stacks&amp;quot;: {},&lt;br /&gt;
		&amp;quot;autoignition&amp;quot;: {},&lt;br /&gt;
		&amp;quot;flashpoint&amp;quot;: {},&lt;br /&gt;
		&amp;quot;paintable&amp;quot;: {},&lt;br /&gt;
		&amp;quot;constructs&amp;quot;: {},&lt;br /&gt;
		&amp;quot;usedwith&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxinpower&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxoutpower&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxpressure&amp;quot;: {},&lt;br /&gt;
		&amp;quot;pressurerange&amp;quot;: {},&lt;br /&gt;
		&amp;quot;maxtemp&amp;quot;: {},&lt;br /&gt;
		&amp;quot;temprange&amp;quot;: {},&lt;br /&gt;
		&amp;quot;volume&amp;quot;: {},&lt;br /&gt;
		&amp;quot;createdwith&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;deprecated&amp;quot;: &amp;quot;recipe_machine is prefered over this&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;cost&amp;quot;: {&lt;br /&gt;
			&amp;quot;deprecated&amp;quot;: &amp;quot;recipe_cost1 is prefered over this&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_machine1&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_cost1&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;unknown&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_machine2&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_cost2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;recipe_machine3&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;recipe_cost3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;logic&amp;quot;: {},&lt;br /&gt;
		&amp;quot;prefabhash&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;prefabname&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;slot_class&amp;quot;: {},&lt;br /&gt;
		&amp;quot;sorting_class&amp;quot;: {},&lt;br /&gt;
		&amp;quot;hashid&amp;quot;: {&lt;br /&gt;
			&amp;quot;deprecated&amp;quot;: &amp;quot;use prefabhash&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;nutrition&amp;quot;: {},&lt;br /&gt;
		&amp;quot;quality&amp;quot;: {},&lt;br /&gt;
		&amp;quot;growthtime&amp;quot;: {},&lt;br /&gt;
		&amp;quot;moodbonus&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;module4&amp;quot;: {}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Template:Itembox&amp;diff=28122</id>
		<title>Template:Itembox</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Template:Itembox&amp;diff=28122"/>
		<updated>2026-09-11T11:58:33Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: use PAGENAME as a fallback when name is empty&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Infobox&lt;br /&gt;
| name = Itembox&lt;br /&gt;
| title = {{{name|{{PAGENAME}}}}}&lt;br /&gt;
| image =  {{{image|}}}&lt;br /&gt;
| header19 = {{ #if: {{{stacks|}}}{{{autoignition|}}}{{{flashpoint|}}}{{{paintable|}}} | Properties &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Stacks&lt;br /&gt;
    | data1 = {{#if: {{{stacks|}}} |&lt;br /&gt;
      {{#iferror:&lt;br /&gt;
        {{#expr: {{{stacks|}}}+1 }}&lt;br /&gt;
        | {{{stacks|}}} |&lt;br /&gt;
        {{#ifexpr: {{{stacks|}}} = 1 | No | Yes ({{{stacks|}}}) }}&lt;br /&gt;
      }}&lt;br /&gt;
    }}&lt;br /&gt;
    | label2 = Paintable&lt;br /&gt;
    | data2 = {{{paintable|}}}&lt;br /&gt;
    | label3 = Autoignition&lt;br /&gt;
    | data3 = {{{autoignition|}}}&lt;br /&gt;
    | label4 = Flashpoint&lt;br /&gt;
    | data4 = {{{flashpoint|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| label6 = Constructing Options&lt;br /&gt;
| data6 = {{{constructs|}}}&lt;br /&gt;
| label7 = Used With&lt;br /&gt;
| data7 = {{{usedwith|}}}&lt;br /&gt;
| label8 = Max Input Power&lt;br /&gt;
| data8 = {{{maxinpower|}}}&lt;br /&gt;
| label9 = Max Output Power&lt;br /&gt;
| data9 = {{{maxoutpower|}}}&lt;br /&gt;
| label10 = Max Pressure&lt;br /&gt;
| data10 = {{{maxpressure|}}}&lt;br /&gt;
| label11 = Pressure Range&lt;br /&gt;
| data11 = {{{pressurerange|}}}&lt;br /&gt;
| label12 = Max Temperature&lt;br /&gt;
| data12 = {{{maxtemp|}}}&lt;br /&gt;
| label13 = Temperature Range&lt;br /&gt;
| data13 = {{{temprange|}}}&lt;br /&gt;
| label14 = Volume&lt;br /&gt;
| data14 = {{{volume|}}}&lt;br /&gt;
| header20 = {{ #if: {{{createdwith|}}} | Recipe &amp;lt;!-- Old recipe style&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Created With&lt;br /&gt;
    | data1 = {{{createdwith|}}}&lt;br /&gt;
    | label2 = Cost&lt;br /&gt;
    | data2 = {{{cost|}}}&lt;br /&gt;
    }}&lt;br /&gt;
  }}&lt;br /&gt;
| header21 = {{ #if: {{{recipe_machine1|}}} | Recipes &amp;lt;!-- New recipe style&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = [[{{{recipe_machine1|}}}]]&lt;br /&gt;
    | data1 = {{{recipe_cost1|}}}&lt;br /&gt;
    | label4 = [[{{{recipe_machine2|}}}]]&lt;br /&gt;
    | data4 = {{{recipe_cost2|}}}&lt;br /&gt;
    | label6 = [[{{{recipe_machine3|}}}]]&lt;br /&gt;
    | data6 = {{{recipe_cost3|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| header22 = {{ #if: {{{logic|}}}{{{prefabhash|}}}{{{prefabname|}}}{{{slot_class|}}}{{{sorting_class|}}}{{{hashid|}}} | Logic &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Item Hash&lt;br /&gt;
    | data1 = {{#if: {{{prefabhash|}}} | &amp;lt;span style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{prefabhash|}}}&amp;lt;/span&amp;gt; | {{#if: {{{hashid|}}}| &amp;lt;span style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{hashid|}}}&amp;lt;/span&amp;gt; }} }}&lt;br /&gt;
    | label2 = Item Name&lt;br /&gt;
    | data2 = {{#if: {{{prefabname|}}} | &amp;lt;span style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{prefabname|}}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
    | label3 = Logic Classes&lt;br /&gt;
    | data3 = {{#if: {{{slot_class|}}}| &amp;lt;div style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{slot_class|}}}&amp;lt;/div&amp;gt; }}{{#if: {{{sorting_class|}}}|&amp;lt;div style=&amp;quot;font-family: monospace;&amp;quot;&amp;gt;{{{sorting_class|}}}&amp;lt;/div&amp;gt; }}&lt;br /&gt;
    | label4 = Logic Parameters&lt;br /&gt;
    | data4 = {{{logic|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| header23 = {{ #if: {{{nutrition|}}}{{{quality|}}}{{{growthtime|}}}{{{moodbonus|}}} | Food &amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Infobox | decat = yes | child = yes&lt;br /&gt;
    | label1 = Food Nutrition&lt;br /&gt;
    | data1 = {{{nutrition|}}}&lt;br /&gt;
    | label2 = Food Quality&lt;br /&gt;
    | data2 = {{{quality|}}}&lt;br /&gt;
    | label3 = Growth Time&lt;br /&gt;
    | data3 = {{{growthtime|}}}&lt;br /&gt;
    | label4 = Mood Bonus&lt;br /&gt;
    | data4 = {{{moodbonus|}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
| header60={{{module|}}}&lt;br /&gt;
| header61={{{module2|}}}&lt;br /&gt;
| header62={{{module3|}}}&lt;br /&gt;
| header63={{{module4|}}}&lt;br /&gt;
}} [[Category:Items]] {{ #if: {{{nutrition|}}}{{{quality|}}}{{{moodbonus|}}} | [[Category:Food]] }} {{ #if: {{{constructs|}}} | [[Category:Kits]] }} {{ #if: {{{createdwith|}}}{{{cost|}}} | [[Category:Itembox with old style recipe]] }} {{ #if: {{{prefabhash|}}}{{{hashid|}}} | | [[Category:Infobox without prefab data]] }} {{ #if: {{{prefabname|}}} | | [[Category:Infobox without prefab data]] }} {{ #if: {{{slot_class|}}}{{{sorting_class|}}} | | [[Category:Itembox without logic classes]] }} {{#ifeq: {{{slot_class}}}|SlotClass.Tool|[[Category:Tools]]|}} &amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Circuitboard_(Air_Control)&amp;diff=28121</id>
		<title>Circuitboard (Air Control)</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Circuitboard_(Air_Control)&amp;diff=28121"/>
		<updated>2026-09-11T11:13:40Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: cleanup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
{{Itembox&lt;br /&gt;
 | name        = Circuitboard (Air Control)&lt;br /&gt;
 | image       =  [[File:{{#setmainimage:Circuitboard.png}}]]&lt;br /&gt;
 | stacks      = No&lt;br /&gt;
 | prefabhash = 1618019559&lt;br /&gt;
 | prefabname = CircuitboardAirControl&lt;br /&gt;
 | autoignition = 573 K&lt;br /&gt;
 | flashpoint = 393 K&lt;br /&gt;
 | paintable = No&lt;br /&gt;
 | recipe_cost1 = 5g [[Gold]], 5g [[Copper]]&lt;br /&gt;
 | recipe_machine1 = Electronics Printer&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
[[Circuitboard (Air Control)]] can be placed inside of a [[Console]] to form a Air Control Console. It is one of many [[Circuitboard|Circuitboards]] that can be fitted to a Console.&lt;br /&gt;
&lt;br /&gt;
It appears to be not fully implemented in the code, as &amp;quot;Panic Pressurise&amp;quot; and &amp;quot;Panic Depressurise&amp;quot; don&#039;t work.&lt;br /&gt;
In a Multiplayer game, the display will not show the correct atmoshperic information; however the device will still operate normally.&lt;br /&gt;
&lt;br /&gt;
== Air Control ==&lt;br /&gt;
The Air Control circuitboard in a console can be used to control [[Active Vent|active vents]] and display information about the environment.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
Setup mode can be entered by placing a [[Data Disk]] into the slot on the [[Console]]. &lt;br /&gt;
&lt;br /&gt;
The setup mode has three options: Pressure, Draught, and Offline. For basic functionality, at least one [[Gas Sensor]] and [[Active Vent]] should be selected on the setup screen.&lt;br /&gt;
&lt;br /&gt;
== Operation ==&lt;br /&gt;
Pressure mode will automatically try to maintain pressure at 100kPa, toggling the active vent between inward and outward as needed and turning off when the target pressure is reached.&lt;br /&gt;
&lt;br /&gt;
Draught mode tries to maintain pressure at 100kpa but doesn&#039;t turn off when the target pressure is reached. The vent will internally toggle between inward and outward airflow to continiously circulate gas between the pipe and room.&lt;br /&gt;
 &lt;br /&gt;
Offline disables the active vent.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Circuitboards]]&lt;br /&gt;
[[Category:Data Network]]&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Circuitboard_(Air_Control)&amp;diff=28120</id>
		<title>Circuitboard (Air Control)</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Circuitboard_(Air_Control)&amp;diff=28120"/>
		<updated>2026-09-11T11:11:01Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: circuitboard values&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
{{Itembox&lt;br /&gt;
 | name        = Circuitboard (Air Control)&lt;br /&gt;
 | image       =  [[File:{{#setmainimage:Circuitboard.png}}]]&lt;br /&gt;
 | stacks      = No&lt;br /&gt;
 |autoignition=573 K|flashpoint=393 K|paintable=No|hashid=CircuitboardAirControl|prefabhash=1618019559|recipe_cost1=5g [[Gold]], 5g [[Copper]]|recipe_machine1=Electronics Printer}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
[[Circuitboard (Air Control)]] can be placed inside of a [[Console]] to form a Air Control Console. It is one of many [[Circuitboard|Circuitboards]] that can be fitted to a Console.&lt;br /&gt;
&lt;br /&gt;
It appears to be not fully implemented in the code, as &amp;quot;Panic Pressurise&amp;quot; and &amp;quot;Panic Depressurise&amp;quot; don&#039;t work.&lt;br /&gt;
In a Multiplayer game, the display will not show the correct atmoshperic information; however the device will still operate normally.&lt;br /&gt;
&lt;br /&gt;
== Air Control ==&lt;br /&gt;
The Air Control circuitboard in a console can be used to control [[Active Vent|active vents]] and display information about the environment.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
Setup mode can be entered by placing a [[Data Disk]] into the slot on the [[Console]]. &lt;br /&gt;
&lt;br /&gt;
The setup mode has three options: Pressure, Draught, and Offline. For basic functionality, at least one [[Gas Sensor]] and [[Active Vent]] should be selected on the setup screen.&lt;br /&gt;
&lt;br /&gt;
== Operation ==&lt;br /&gt;
Pressure mode will automatically try to maintain pressure at 100kPa, toggling the active vent between inward and outward as needed and turning off when the target pressure is reached.&lt;br /&gt;
&lt;br /&gt;
Draught mode tries to maintain pressure at 100kpa but doesn&#039;t turn off when the target pressure is reached. The vent will internally toggle between inward and outward airflow to continiously circulate gas between the pipe and room.&lt;br /&gt;
 &lt;br /&gt;
Offline disables the active vent.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Circuitboards]]&lt;br /&gt;
[[Category:Data Network]]&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Template:Documentation/doc&amp;diff=23353</id>
		<title>Template:Documentation/doc</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Template:Documentation/doc&amp;diff=23353"/>
		<updated>2025-08-31T05:02:53Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: Created page with &amp;quot;==Description== This template is used to insert descriptions on template pages.  ==Syntax== Add &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;noinclude&amp;gt;&amp;lt;/nowiki&amp;gt;{{Documentation}}&amp;lt;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
This template is used to insert descriptions on template pages.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
Add &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;noinclude&amp;gt;&amp;lt;/nowiki&amp;gt;{{[[Template:Documentation|Documentation]]}}&amp;lt;nowiki&amp;gt;&amp;lt;/noinclude&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; at the end of the template page.&lt;br /&gt;
&lt;br /&gt;
Add &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;noinclude&amp;gt;&amp;lt;/nowiki&amp;gt;{{[[Template:Documentation|Documentation]]|documentation page}}&amp;lt;nowiki&amp;gt;&amp;lt;/noinclude&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to transclude an alternative page from the /doc subpage.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
===On the Template page===&lt;br /&gt;
This is the normal format when used:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TEMPLATE CODE&lt;br /&gt;
&amp;lt;includeonly&amp;gt;Any categories to be inserted into articles by the template&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If your template is not a completed div or table, you may need to close the tags just before &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Documentation}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; is inserted (within the noinclude tags).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;A line break right before &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Documentation}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; can also be useful as it helps prevent the documentation template &amp;quot;running into&amp;quot; previous code.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===On the documentation page===&lt;br /&gt;
The documentation page is usually located on the /doc subpage for a template, but a different page can be specified with the first parameter of the template (see [[#Syntax|Syntax]]).&lt;br /&gt;
&lt;br /&gt;
Normally, you will want to write something like the following on the documentation page:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
==Description==&lt;br /&gt;
This template is used to do something.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
Type &amp;lt;code&amp;gt;{{Documentation}}&amp;lt;/code&amp;gt; somewhere.&lt;br /&gt;
&lt;br /&gt;
==Samples==&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;lt;nowiki&amp;gt;{{Documentation|input}}&amp;amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
results in...&lt;br /&gt;
&lt;br /&gt;
{{Documentation|input}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;Any categories for the template itself&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Template documentation|{{PAGENAME}}]]&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use any or all of the above description/syntax/sample output sections. You may also want to add &amp;quot;see also&amp;quot; or other sections.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Category:Templates|{{PAGENAME}}]]&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;[[Category:Template documentation|{{PAGENAME}}]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Template:Documentation_subpage/doc&amp;diff=23352</id>
		<title>Template:Documentation subpage/doc</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Template:Documentation_subpage/doc&amp;diff=23352"/>
		<updated>2025-08-31T04:58:48Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: Created page with &amp;quot;{{Documentation subpage}} Template:Documentation subpage Is a template used to mark documentation subpages. == Usage == : {{Template:Documentation subpage|Documentation...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation subpage}}&lt;br /&gt;
[[Template:Documentation subpage]] Is a template used to mark documentation subpages.&lt;br /&gt;
== Usage ==&lt;br /&gt;
: {{[[Template:Documentation subpage|Documentation subpage]]}}&lt;br /&gt;
: or&lt;br /&gt;
: {{[[Template:Documentation subpage|Documentation subpage]] |&amp;amp;#91;&amp;amp;#91;Page where the documentation [[Wikipedia:Transclusion|transcluded]]&amp;amp;#93;&amp;amp;#93;}}&lt;br /&gt;
&lt;br /&gt;
===Text customization===&lt;br /&gt;
The parameters &amp;lt;code&amp;gt;|text1=&amp;lt;/code&amp;gt; and/or &amp;lt;code&amp;gt;|text2=&amp;lt;/code&amp;gt; can be used to set the text of, respectively, the template&#039;s first and second lines. If &#039;&#039;text1&#039;&#039; is set but not &#039;&#039;text2&#039;&#039;, both lines&#039; text will derive from &#039;&#039;text1&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;With &#039;&#039;text1&#039;&#039; and &#039;&#039;text2&#039;&#039;:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Documentation subpage |text1=&#039;&#039;&#039;&#039;&#039;text1 appears here&#039;&#039;&#039;&#039;&#039; |text2=&#039;&#039;&#039;&#039;&#039;text2 appears here&#039;&#039;&#039;&#039;&#039;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{{Documentation subpage |[&#039;&#039;page&#039;&#039;] |text1=&#039;&#039;&#039;&#039;&#039;text1 appears here&#039;&#039;&#039;&#039;&#039; |text2=&#039;&#039;&#039;&#039;&#039;text2 appears here&#039;&#039;&#039;&#039;&#039; |override={{lc:{{SUBPAGENAME}}&amp;lt;!-- Hack to allow example to appear, even when viewed from [[Template:Documentation subpage]] --&amp;gt;}}}}&lt;br /&gt;
&lt;br /&gt;
;With &#039;&#039;text2&#039;&#039; only:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Documentation subpage |text2=&#039;&#039;&#039;&#039;&#039;text2 appears here&#039;&#039;&#039;&#039;&#039;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{{Documentation subpage |[&#039;&#039;page&#039;&#039;] |text2=&#039;&#039;&#039;&#039;&#039;text2 appears here&#039;&#039;&#039;&#039;&#039; |override={{lc:{{SUBPAGENAME}}&amp;lt;!-- Hack to allow example to appear, even when viewed from [[Template:Documentation subpage]] --&amp;gt;}}}}&lt;br /&gt;
&lt;br /&gt;
;With &#039;&#039;text1&#039;&#039; only:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Documentation subpage |text1=&#039;&#039;&#039;&#039;&#039;text1 appears here&#039;&#039;&#039;&#039;&#039;}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
{{Documentation subpage |[&#039;&#039;page&#039;&#039;] |text1=&#039;&#039;&#039;&#039;&#039;text1 appears here&#039;&#039;&#039;&#039;&#039; |override={{lc:{{SUBPAGENAME}}&amp;lt;!-- Hack to allow example to appear, even when viewed from [[Template:Documentation subpage]] --&amp;gt;}}}}&lt;br /&gt;
&lt;br /&gt;
===Other parameters===&lt;br /&gt;
&amp;lt;code&amp;gt;|inhibit=yes&amp;lt;/code&amp;gt; will prevent this template from generating any categories. (By default, &amp;quot;&#039;&#039;Namespace&#039;&#039; documentation pages&amp;quot; (usually [[:Category:Template documentation]]) is added, or [[:Category:Documentation subpages without corresponding pages]] if the main page doesn&#039;t exist.)&lt;br /&gt;
&lt;br /&gt;
== Display ==&lt;br /&gt;
This template should normally be placed at the top of /doc pages. It changes output depending on where it is viewed:&lt;br /&gt;
* On a /doc page, it displays a box explaining template documentation and links to the template page.&lt;br /&gt;
* On other pages&amp;amp;nbsp;– i.e. pages transcluding the /doc page&amp;amp;nbsp;– the template will not show. The template page itself (which contains {{[[Template:Documentation|Documentation]]}}) will automatically note that the documentation is [[Wikipedia:Transclusion|transcluded]] from a subpage.&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
In addition to its message, the template adds pages to [[:Category:Template documentation]], [[:Category:Project documentation]], or similar (named after the subject space), but only for documentation pages in namespaces with the subpage feature. It defaults the [[metawikimedia:Help:Categories#Sort order|sort key]] to the page name without namespace: Template:Foo, for example, would be sorted as &amp;quot;Foo&amp;quot;, i.e. under &amp;quot;F&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&lt;br /&gt;
[[Category:Message boxes]]&lt;br /&gt;
[[Category:Documentation templates]]&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Template:LoPowered&amp;diff=23351</id>
		<title>Template:LoPowered</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Template:LoPowered&amp;diff=23351"/>
		<updated>2025-08-31T04:46:42Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
{{LoDefault}}&lt;br /&gt;
{{Lo|On|bool|r/w|Enable/disables the device.}}&lt;br /&gt;
{{Lo|Power|bool|r|Can be read to return if the device is correctly powered or not, set via the power system.}}&lt;br /&gt;
{{#if:{{{mode|}}}|{{Lo|Mode|int|r|Integer for mode state, different devices will have different mode states available to them.}}| }}&lt;br /&gt;
{{#if:{{{error|}}}|{{Lo|Error|bool|r| }}| }}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
	<entry>
		<id>https://stationeers-wiki.com/index.php?title=Template:LoHead/doc&amp;diff=23350</id>
		<title>Template:LoHead/doc</title>
		<link rel="alternate" type="text/html" href="https://stationeers-wiki.com/index.php?title=Template:LoHead/doc&amp;diff=23350"/>
		<updated>2025-08-31T04:46:01Z</updated>

		<summary type="html">&lt;p&gt;Letter Y: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation subpage}}&lt;br /&gt;
This template is used to display the data network parameters of structures or objects that support it.&lt;br /&gt;
&lt;br /&gt;
An alternate to [[Template:Data_Parameters]]&lt;br /&gt;
This template works with [[Template:LoDefault]] for default/generic device logic and [[Template:LoPowered]] for powered devices&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width: 700px&amp;quot;&amp;gt;&lt;br /&gt;
{{LoHead}}&lt;br /&gt;
{{LoPowered|mode|error}}&lt;br /&gt;
{{Lo|LineNumber|bool|r|Current line of the IC Program.}}&lt;br /&gt;
{{LoFoot}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;produces&lt;br /&gt;
{{LoHead}}&lt;br /&gt;
{{LoPowered|mode=1|error=1}}&lt;br /&gt;
{{Lo|LineNumber|bool|r|Current line of the IC Program.}}&lt;br /&gt;
{{LoFoot}}&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&lt;br /&gt;
[[Category:Documentation templates]]&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Letter Y</name></author>
	</entry>
</feed>