This article is a stub.

Wiring Components: Difference between revisions

From Official Barotrauma Wiki
Jump to: navigation, search
(Wifi component: It needs at least 2 wires after all.)
No edit summary
 
(71 intermediate revisions by 26 users not shown)
Line 1: Line 1:
[[Category:Electrical Components]]
{{Version|0.18.11.0|stub=yes}}{{Items infobox
{{Stub|Figure out how the RegEx component works}}
{{Images needed}}
{{Items infobox
| type = electrical
| name = Wiring Components
| name = Wiring Components
| ammo = N/A
 
| noreq = yes
| cost = 10
| fabricator = Yes
| fabricator = Yes
| fabricatorskill = electrical
| fabricatorskilllevel = 20
| fabricatortime = 10
| fabricatormaterials = {{Hyperlink|FPGA Circuit}}
| deconstructor = Yes
| deconstructor = Yes
| materials = [[File:FPGA Circuit.png]] FPGA Circuit,
| deconstructortime = 10
[[File:Steel Bar.png]] Steel Bar
| deconstructormaterials = {{Hyperlink|FPGA Circuit}}
 
| baseprice = 100
| outpostmultiplier = 1
| cityunbuyable = true
| citymultiplier = 1
| researchmultiplier = 1.25
| militarymultiplier = 1
| minemultiplier = 1
| engineeringmultiplier = 0.9
| minleveldifficulty = 15
 
| outpostminavailable = 1
| cityminavailable = 1
| researchminavailable = 1
| militaryminavailable = 1
| mineminavailable = 1
| engineeringminavailable = 1
 
<!-- Technical -->
| identifier = andcomponent, equalscomponent, greatercomponent, notcomponent, orcomponent, regexcomponent, signalcheckcomponent, xorcomponent, abscomponent, addercomponent, ceilcomponent, dividecomponent, exponentationcomponent, factorialcomponent, floorcomponent, modulocomponent, multiplycomponent, roundcomponent, squarerootcomponent, subtractcomponent, acoscomponent, asincomponent, atancomponent, coscomponent, sincomponent, tancomponent, colorcomponent, concatcomponent, delaycomponent, memorycomponent, oscillator, relaycomponent, wificomponten
| category = Electrical
| tags = smallitem, logic
}}
<div class="noautonum" style="float:right;">__TOC__</div>
{{PAGENAME}} are craftable, placeable items used to automate certain tasks or provide information about various submarine systems.
=Controls=
*In-game, '''Wiring Components''' can be placed on background walls by "equipping" them in one hand, holding {{key|mouse|right}}right click, then {{key|mouse|left}}left clicking on any empty space on the background wall's grid (see also [[Placing|placing]]).
**Placed Wiring Components can be detached from the wall by making sure a Screwdriver is '''not''' equipped, equipping a [[Wrench]], and pressing {{key|E}}.
**Accessing the component's connection panel is done by equipping a [[Screwdriver]] and pressing {{key|E}}.
**For more details on wiring mechanics, see [[Barotrauma#Wiring Interface|Wiring Interface]].
 
*In the [https://regalis11.github.io/BaroModDoc/Editors/SubmarineEditor.html Submarine Editor], Wiring Mode is enabled by clicking the corresponding button to the top-right or pressing {{key|control}}+{{key|2}}.
**From there, the same commands as in-game apply, although the Editor allows access to all components and wires, as well as many other customization features.
**For more details, see [https://regalis11.github.io/BaroModDoc/Editors/SubmarineEditor.html#wiring Submarine Editor#wiring].
 
=Logic=
==[[File:And_Component.png|40px]] And Component==
<blockquote>"''Sends a signal when both inputs receive a signal within a set period of each other."''</blockquote>
The '''And Component''' is an electrical component used to check if both inputs are receiving a truthy signal.
 
 
{{Connection panel
|panelfor = And Component
|input1=Signal_In_1
|input1tt=The input of the first signal.
|input2=Signal_In_2
|input2tt=The input of the second signal.
|input3=Set_Output
|input3tt=Sets the "true" output.
|output1=Signal_Out
|output1tt=The output of the component.
}}
<small>"1" denotes ''any non-zero'' signal, "0" denotes a "zero signal or no signal"</small>
{| class="wikitable"
|-
! colspan="3" | Truth Table
|-
! Input 1 !! Input 2 !! Output
|-
| 0 || 0 || 0
|-
| 0 || 1 || 0
|-
| 1 || 0 || 0
|-
| 1 || 1 || 1
|}
==[[File:Equals_Component.png|40px]] Equals Component==
<blockquote>"''Sends a signal when both inputs receive the same signal."''</blockquote>
The '''Equals Component''' is an electrical component used to check if both inputs are the same.
 
 
{{Connection panel
|panelfor = Equals Component
|input1=Signal_In_1
|input1tt=The input of the first signal.
|input2=Signal_In_2
|input2tt=The input of the second signal.
|input3=set_output
|input3tt=The input for setting the signal that will be output if the conditions are met.
|output1=Signal_Out
|output1tt=The output of the component.
}}
==[[File:Greater_Component.png|40px]] Greater Component==
<blockquote>"''Sends a signal if the value the signal_in1 input is larger than the signal_in2 input."''</blockquote>
The '''Greater Component''' is an electrical component used to check if one input is greater than the other.
 
 
{{Connection panel
|panelfor = Greater Component
|input1=Signal_In_1
|input1tt=The input of the first signal.
|input2=Signal_In_2
|input2tt=The input of the second signal.
|input3=set_output
|input3tt=The input for setting the signal that will be output if the conditions are met.
|output1=Signal_Out
|output1tt=The output of the component.
}}
==[[File:Not_Component.png|40px]] Not Component==
<blockquote>"''Sends a signal when the input is NOT receiving a signal."''</blockquote>
The '''Not Component''' is an electrical component used to invert a signal.
If it is set to continuous output, it will output even if not recieving a signal.
 
{{Connection panel
|panelfor = Not Component
|input1=Signal_In
|input1tt=The input signal.
|output1=Signal_Out
|output1tt=The output of the component.
}}
}}
<small>"1" denotes ''any non-zero'' signal, "0" denotes a "zero signal or no signal"</small>
{| class="wikitable"
|-
! colspan="2" | Truth Table
|-
! Input !! Output
|-
| 0 || 1
|-
| 1 || 0
|}


==[[File:Relay_Component.png|25px]] Relay Component==
==[[File:Or_Component.png|40px]] Or Component==
Used to forward received power and signals.
<blockquote>"''Sends a signal if either of the inputs receives a signal."''</blockquote>
The '''Or Component''' is an electrical component used to check if recieving any truthy (non-zero) signals.
Will output false if not recieving any truthy signals.


==[[File:Or_Component.png|25px]] Or Component==
Sends out a signal if either inputs receive a signal.


<big>'''OR Logic Box'''</big>
{{Connection panel
{| class="wikitable" style="width: 10%; font-size: 100%;
|panelfor = Or Component
|input1=Signal_In_1
|input1tt=The input of the first signal.
|input2=Signal_In_2
|input2tt=The input of the second signal.
|input3=Set_Output
|input3tt=Sets the "true" output.
|output1=Signal_Out
|output1tt=The output of the component.
}}
<small>"1" denotes ''any non-zero'' signal, "0" denotes a "zero signal or no signal"</small>
{| class="wikitable"
|-
! colspan="3" | Truth Table
|-
|-
! Input 1 !! Input 2 !! Output
! Input 1 !! Input 2 !! Output
|-
|-
| align="center" | 0
| 0 || 0 || 0
| align="center" | 0
| align="center" | 0
|-
|-
| align="center" | 0
| 0 || 1 || 1
| align="center" | 1
| align="center" | 1
|-
|-
| align="center" | 1
| 1 || 0 || 1
| align="center" | 0
| align="center" | 1
|-
|-
| align="center" | 1
| 1 || 1 || 1
| align="center" | 1
| align="center" | 1
|}
|}


==[[File:And_Component.png|25px]] And Component==
==[[File:RegEx Find Component.png|40px]] RegEx Find Component==
Sends out a signal only if both inputs receive a signal.
<blockquote>"''Sends a signal if the received signal matches a specific regular expression pattern."''</blockquote>
The '''RegEx Find Component''' is an electrical component used to match an exact string.
 
It is commonly used with a [[Terminal]].
 
Click '''[https://regexone.com/ here]''' for a tutorial on regular expressions. Click '''[https://regexr.com/ here]''' to create/test regular expressions.
 
 
{{Connection panel
|panelfor = RegEx Find Component
|input1=Signal_In
|input1tt=The input signal.
|input2=set_output
|input2tt=The input for setting the signal that will be output if the conditions are met.
|output1=Signal_Out
|output1tt=The output of the component.
}}
==[[File:Signal_Check_Component.png|40px]] Signal Check Component==
<blockquote>"''Sends a signal when a signal matching a specific value is received."''</blockquote>
The '''Signal Check Component''' is an electrical component used to check if the received signal matches a target signal.
 
If the signal input matches the target value, the output is sent. If the signal does not match, the false output is sent.
 
 
 
{{Connection panel
|panelfor = Signal Check Component
|input1=Signal_In
|input1tt=The input signal.
|input2=Set_Output
|input2tt=Sets the "true" output.
|input3=Set_Targetsignal
|input3tt=Sets the signal that must be matched to.
|output1=Signal_Out
|output1tt=The output of the component.
}}
 
==[[File:Xor_Component.png|40px]] Xor Component==
<blockquote>"''Sends a signal if either of the inputs, but not both, receives a signal."''</blockquote>
The '''Xor Component''' is an electrical component used to check if exactly one input pin is receiving truthy signals.
 


<big>'''AND Logic Box'''</big>
{{Connection panel
{| class="wikitable" style="width: 10%; font-size: 100%;
|panelfor = Xor Component
|input1=Signal_In_1
|input1tt=The input of the first signal.
|input2=Signal_In_2
|input2tt=The input of the second signal.
|input3=Set_Output
|input3tt=Sets the "true" output.
|output1=Signal_Out
|output1tt=The output of the component.
}}
<small>"1" denotes ''any non-zero'' signal, "0" denotes a "zero signal or no signal"</small>
{| class="wikitable"
|-
! colspan="3" | Truth Table
|-
|-
! Input 1 !! Input 2 !! Output
! Input 1 !! Input 2 !! Output
|-
|-
| align="center" | 0
| 0 || 0 || 0
| align="center" | 0
| align="center" | 0
|-
|-
| align="center" | 0
| 0 || 1 || 1
| align="center" | 1
| align="center" | 0
|-
|-
| align="center" | 1
| 1 || 0 || 1
| align="center" | 0
| align="center" | 0
|-
|-
| align="center" | 1
| 1 || 1 || 0
| align="center" | 1
| align="center" | 1
|}
|}
=Math=
==[[File:Abs Component.png|40px]] Abs Component==
<blockquote>"''Outputs the absolute value of the input."''</blockquote>
==[[File:Adder Component.png|40px]] Adder Component==
<blockquote>"''Outputs the sum of the received signals."''</blockquote>
==[[File:Ceil_Component.png|40px]] Ceil Component==
<blockquote>"''Transforms a given float input into the closest integer, rounding up."''</blockquote>
==[[File:Divide_Component.png|40px]] Divide Component==
<blockquote>"''Outputs the divided value of the received signals."''</blockquote>
==[[File:Exponentiation Component.png|40px]] Exponentiation Component==
<blockquote>"''Outputs the input raised to a given power."''</blockquote>
==[[File:Factorial_Component.png|40px]] Factorial Component==
<blockquote>"''Outputs the factorial of the input."''</blockquote>
==[[File:Floor_Component.png|40px]] Floor Component==
<blockquote>"''Transforms a given float input into the closest integer, rounding down."''</blockquote>
==[[File:Modulo_Component.png|40px]] Modulo Component==
<blockquote>"''Outputs the remainder when the input is divided by a specific number."''</blockquote>
==[[File:Multiply_Component.png|40px]] Multiply Component==
<blockquote>"''Outputs the product of the received signals."''</blockquote>
==[[File:Round_Component.png|40px]] Round Component==
<blockquote>"''Rounds a numerical input to the nearest integer value."''</blockquote>
==[[File:Square Root Component.png|40px]] Square Root Component==
<blockquote>"''Outputs the square root of the input."''</blockquote>
==[[File:Subtract_Component.png|40px]] Subtract Component==
<blockquote>"''Outputs the subtracted value of the received signals."''</blockquote>
=Trigonometry=
==[[File:Acos_Component.png|40px]] Acos Component==
<blockquote>"''Outputs the angle whose cosine is equal to the input."''</blockquote>
The '''Acos Component''' is an electrical component that performs the inverse cosine function; cos<sup>-1</sup>(x).
{{Connection panel
|panelfor = Acos Component
|input1=Signal_In
|input1tt=The input signal.
|output1=Signal_Out
|output1tt=The output of the component.
}}
==[[File:Asin_Component.png|40px]] Asin Component==
<blockquote>"''Outputs the angle whose sine is equal to the input."''</blockquote>
The '''Asin Component''' is an electrical component that performs the inverse sine function; sin<sup>-1</sup>(x).
{{Connection panel
|panelfor = Asin Component
|input1=Signal_In
|input1tt=The input signal.
|output1=Signal_Out
|output1tt=The output of the component.
}}
==[[File:Atan_Component.png|40px]] Atan Component==
<blockquote>"''Outputs the angle whose tangent is equal to the input. If the "signal_in_x" and "signal_in_y" connections are used, the input is interpreted as a vector and the angle calculated using Atan2."''</blockquote>
The '''Atan Component''' is an electrical component that performs the inverse tan function; tan<sup>-1</sup>(x).
{{Connection panel
|panelfor = Atan Component
|input1=Signal_In
|input1tt=The input signal.
|input2=Signal_In_X
|input2tt=The input of the X signal.
|input3=Signal_In_Y
|input3tt=The input of the Y signal.
|output1=Signal_Out
|output1tt=The output of the component.
}}
==[[File:Cos_Component.png|40px]] Cos Component==
<blockquote>"''Outputs the cosine of the input."''</blockquote>
The '''Cos Component''' is an electrical component that performs the cosine function; cos(x).
{{Connection panel
|panelfor = Cos Component
|input1=Signal_In
|input1tt=The input signal.
|output1=Signal_Out
|output1tt=The output of the component.
}}
==[[File:Sin_Component.png|40px]] Sin Component==
<blockquote>"''Outputs the sine of the input."''</blockquote>
The '''Sin Component''' is an electrical component that performs the sine function; sin(x).
{{Connection panel
|panelfor = Sin Component
|input1=Signal_In
|input1tt=The input signal.
|output1=Signal_Out
|output1tt=The output of the component.
}}
==[[File:Tan_Component.png|40px]] Tan Component==
<blockquote>"''Outputs the tangent of the input."''</blockquote>
The '''Tan Component''' is an electrical component that performs the tangent function; tan(x).
{{Connection panel
|panelfor = Tan Component
|input1=Signal_In
|input1tt=The input signal.
|output1=Signal_Out
|output1tt=The output of the component.
}}
=Misc=
==[[File:Color_Component.png|40px]] Color Component==
<blockquote>"''Outputs a combined color signal for light control."''</blockquote>
The '''Color Component''' is an electrical component used to provide a color signal for lamps/lights.
It is most commonly used in tandem with [[Light Component|Light Components]] for easily changeable lighting.
{{Connection panel
|panelfor = Color Component
|input1=Signal_R
|input1tt=The brightness of the red channel.
|input2=Signal_G
|input2tt=The brightness of the green channel.
|input3=Signal_B
|input3tt=The brightness of the blue channel.
|input4=Signal_A
|input4tt=The transparency of the alpha channel.
|output1=Signal_Out
|output1tt=The combined color signal.
}}
==[[File:Concatenation_Component.png|40px|]] Concatenation Component ==
<blockquote>''"Joins the inputs together and outputs the joined value (for example, the inputs "mud" and "raptor" would output "mudraptor")."''</blockquote>
{{Connection panel
|panelfor = Concatenation Component
|input1=Signal_In_1
|input1tt=Input of the first signal.
|input2=Signal_In_2
|input2tt=Input of the second signal.
|output1=Signal_Out
|output1tt=The joined value.
}}
==[[File:Delay_Component.png|40px]] Delay Component==
<blockquote>"''Delays all received signals for a specific amount of time."''</blockquote>
The '''Delay Component''' is an electrical component used to delay a signal for a short amount of time.
It is most commonly used in tandem with [[Terminal|Terminals]] for custom commands.
{{Connection panel
|panelfor = Delay Component
|input1=Signal_In
|input1tt=The signal to be delayed.
|input2=set_delay
|input2tt=The delay duration, in seconds.
|output1=Signal_Out
|output1tt=The delayed signal.
}}
==[[File:Memory_Component.png|40px]] Memory Component==
<blockquote>"''Outputs a stored value that can be updated from other sources. Use the signal_in connection to set the stored value, and the lock_state input to toggle whether the received signals should be stored."''</blockquote>
The '''Memory Component''' is an electrical component used to store signals for later use. This is one of the only components that will "output an empty string", "explicitly sending nothing to other components", instead of "not sending anything".


==[[File:Not_Component.png|25px]] Not Component==
Negates the incoming signal.


<big>'''NOT Logic Box'''</big>
{{Connection panel
{| class="wikitable" style="width: 5%; font-size: 100%;
|panelfor = Memory Component
|input1=Signal_In
|input1tt=The signal to be stored
|input2=LOCK_STATE
|input2tt=Sets whether signals will be stored (1=yes, 0=no)
|output1=Signal_Out
|output1tt=The currently stored signal
}}
 
==[[File:Oscillator Component.png|40px]] Oscillator Component==
<blockquote>"''Sends out a periodic, oscillating signal."''</blockquote>
The '''Oscillator''' is an electrical component used to provide a signal that changes over time.
* Frequency is in [https://en.wikipedia.org/wiki/Hertz Hertz] (Hz), 1 Hz is once per second, 0.5 Hz is once every 2 seconds and so on.
* The wave type may be set on the component by sending a number into set_outputtype.
{|
! Input || Wave || Description
|-  
| 0 || Pulse || periodically sends out a signal of 1.
|-
|-
! Input !! Output
| 1 || Sawtooth || sends out a periodic wave that increases linearly from 0 to 1.
|-
|-
| align="center" | 0
| 2 || Sine || sends out a sine wave oscillating between -1 and 1.
| align="center" | 1
|-
|-
| align="center" | 1
| 3 || Square || sends out a signal that alternates between 0 and 1
| align="center" | 0
|-
|-
| 4 || Triangle || sends out a wave that alternates between increasing linearly from -1 to 1 and decreasing from 1 to -1.
|}
|}
==[[File:Delay_Component.png|25px]] Delay Component==
Delays incoming signal by a certain value.
This can be done either in the [[Submarine Editor]] or ingame.


Pressing E on a delay component while ingame will allow the player to change the value as well as display its current value.
{{Connection panel
|panelfor = Oscillator Component
|input1=Set_Frequency
|input1tt=Sets the frequency of the oscillator, in Hz (Hertz).
|input2=Set_Outputtype
|input2tt=Sets the output type of the oscillator (0=pulse, 1=sine, 2=square).
|output1=Signal_Out
|output1tt=The output of the component.
}}


==[[File:Signal_Check_Component.png|25px]] Signal Check Component==
==[[File:Relay_Component.png|40px]] Relay Component==
Sends out its <code>TargetSignal</code>.
<blockquote>"''When switched on, forwards all received signals from the input connections to the outputs."''</blockquote>
The '''Relay Component''' is an electrical component used to disconnect power or signals from a circuit.


==[[File:RegEx_Component.png|25px]] Reg Ex Component==
In-game, a relay may only pass a maximum of 1000 kW however in the [https://regalis11.github.io/BaroModDoc/Editors/SubmarineEditor.html Submarine Editor] this can be adjusted.
Sends out a signal if its equal to the set expression.


==[[File:Wifi_Component.png|25px]] Wifi Component==
It is most commonly used for providing toggleable power to lights or duplicating signals.
Can send and receive signals from other wifi components if their channel is the same.


{{Universal nav
When switched off (State = 0) the '''Relay Component''' does not transfer power via the <code>power_out</code> pin.
|show-main = yes
 
|show-Items = yes
 
{{Connection panel
|panelfor = Relay Component
|input1=Power_In
|input1tt=Power input from a power network.
|input1color=red
 
|input2=Signal_In_1
|input2tt=The input of the first signal.
|input3=Signal_In_2
|input3tt=The input of the second signal.
|input4=Toggle_State
|input4tt={{ToggleState}}
|input5=Set_State
|input5tt={{SetState|Relay}}
|output1=Power_Out
|output1color=red
|output1tt=Power output to a power network.
|output2=Signal_Out_1
|output2tt=The output of the first signal.
|output3=Signal_Out_2
|output3tt=The output of the second signal.
|output4=State_Out
|output4tt=The current state of the relay.
|output5=Load_Value_Out
|output5tt=Outputs the current load level as a number (required power).
|output6=Power_Value_Out
|output6tt=Outputs the current power level as a number (supplied power).
}}
}}
==[[File:Wifi_Component.png|40px]] Wifi Component==
<blockquote>"''Allows remote communication between other wifi components that are using the same channel."''</blockquote>
The '''Wifi Component''' is an electrical component used to transfer signals over long distances.
It can also be linked to radio chat, forwarding text messages from players to the <code>signal_out</code> pin and printing values sent to the <code>signal_in</code> pin into radio chat.
When printing messages to radio chat, the name of the connected component (eg "Memory Component") is displayed as the author of the message.
`Range` (cm) can be set to limit how far the signal will travel.
{{Connection panel
|panelfor = Wifi Component
|input1=Signal_In
|input1tt=The signal to be transmitted.
|input2=Set_Channel
|input2tt=Sets the current wifi channel.
|output1=Signal_Out
|output1tt=The recieved signal.
}}
{{Components Nav}}
{{Installations nav}}
[[Category:Electrical Components]]

Latest revision as of 16:05, 29 December 2023

Data is potentially outdated
Last updated for version 0.18.11.0
The current game version is 1.4.4.1
Wiring Components
Crafting
Fabricator
Requirements
Skill: Electrical: 20
Deconstructor Yield
Store
Minimum Difficulty 15%
Base Price 100 mk
Outposts
OutpostOutpost Buy Sell
Habitation OutpostHabitation 100 mk 30 mk
ColonyColony N/A 30 mk
Research OutpostResearch 125 mk 37 mk
Military OutpostMilitary 100 mk 30 mk
Mining OutpostMining 100 mk 30 mk
Medical MerchantMedical Merchant N/A 30 mk
Engineer MerchantEngineer Merchant 90 mk 27 mk
Armory MerchantArmory Merchant N/A 30 mk
Children of The HonkmotherClown Merchant N/A 30 mk
The Church of HuskHusk Merchant N/A 30 mk
Technical
Identifier andcomponent, equalscomponent, greatercomponent, notcomponent, orcomponent, regexcomponent, signalcheckcomponent, xorcomponent, abscomponent, addercomponent, ceilcomponent, dividecomponent, exponentationcomponent, factorialcomponent, floorcomponent, modulocomponent, multiplycomponent, roundcomponent, squarerootcomponent, subtractcomponent, acoscomponent, asincomponent, atancomponent, coscomponent, sincomponent, tancomponent, colorcomponent, concatcomponent, delaycomponent, memorycomponent, oscillator, relaycomponent, wificomponten
Categories Electrical
Tags smallitem, logic

Wiring Components are craftable, placeable items used to automate certain tasks or provide information about various submarine systems.

Controls

  • In-game, Wiring Components can be placed on background walls by "equipping" them in one hand, holding Right Mouseright click, then Left Mouseleft clicking on any empty space on the background wall's grid (see also placing).
    • Placed Wiring Components can be detached from the wall by making sure a Screwdriver is not equipped, equipping a Wrench, and pressing E.
    • Accessing the component's connection panel is done by equipping a Screwdriver and pressing E.
    • For more details on wiring mechanics, see Wiring Interface.
  • In the Submarine Editor, Wiring Mode is enabled by clicking the corresponding button to the top-right or pressing Ctrl+2.
    • From there, the same commands as in-game apply, although the Editor allows access to all components and wires, as well as many other customization features.
    • For more details, see Submarine Editor#wiring.

Logic

And Component

"Sends a signal when both inputs receive a signal within a set period of each other."

The And Component is an electrical component used to check if both inputs are receiving a truthy signal.


Connection Panel for Wiring Components
Hover over pins to see their descriptions.
Signal_In_1
Signal_In_2
Set_Output
The input of the first signal.
The input of the second signal.
Sets the "true" output.
Signal_Out
The output of the component.
Requires: Screwdriver

"1" denotes any non-zero signal, "0" denotes a "zero signal or no signal"

Truth Table
Input 1 Input 2 Output
0 0 0
0 1 0
1 0 0
1 1 1

Equals Component

"Sends a signal when both inputs receive the same signal."

The Equals Component is an electrical component used to check if both inputs are the same.


Connection Panel for Wiring Components
Hover over pins to see their descriptions.
Signal_In_1
Signal_In_2
set_output
The input of the first signal.
The input of the second signal.
The input for setting the signal that will be output if the conditions are met.
Signal_Out
The output of the component.
Requires: Screwdriver

Greater Component

"Sends a signal if the value the signal_in1 input is larger than the signal_in2 input."

The Greater Component is an electrical component used to check if one input is greater than the other.


Connection Panel for Wiring Components
Hover over pins to see their descriptions.
Signal_In_1
Signal_In_2
set_output
The input of the first signal.
The input of the second signal.
The input for setting the signal that will be output if the conditions are met.
Signal_Out
The output of the component.
Requires: Screwdriver

Not Component

"Sends a signal when the input is NOT receiving a signal."

The Not Component is an electrical component used to invert a signal. If it is set to continuous output, it will output even if not recieving a signal.

Connection Panel for Wiring Components
Hover over pins to see their descriptions.
Signal_In
The input signal.
Signal_Out
The output of the component.
Requires: Screwdriver

"1" denotes any non-zero signal, "0" denotes a "zero signal or no signal"

Truth Table
Input Output
0 1
1 0

Or Component

"Sends a signal if either of the inputs receives a signal."

The Or Component is an electrical component used to check if recieving any truthy (non-zero) signals. Will output false if not recieving any truthy signals.


Connection Panel for Wiring Components
Hover over pins to see their descriptions.
Signal_In_1
Signal_In_2
Set_Output
The input of the first signal.
The input of the second signal.
Sets the "true" output.
Signal_Out
The output of the component.
Requires: Screwdriver

"1" denotes any non-zero signal, "0" denotes a "zero signal or no signal"

Truth Table
Input 1 Input 2 Output
0 0 0
0 1 1
1 0 1
1 1 1

RegEx Find Component

"Sends a signal if the received signal matches a specific regular expression pattern."

The RegEx Find Component is an electrical component used to match an exact string.

It is commonly used with a Terminal.

Click here for a tutorial on regular expressions. Click here to create/test regular expressions.


Connection Panel for Wiring Components
Hover over pins to see their descriptions.
Signal_In
set_output
The input signal.
The input for setting the signal that will be output if the conditions are met.
Signal_Out
The output of the component.
Requires: Screwdriver

Signal Check Component

"Sends a signal when a signal matching a specific value is received."

The Signal Check Component is an electrical component used to check if the received signal matches a target signal.

If the signal input matches the target value, the output is sent. If the signal does not match, the false output is sent.


Connection Panel for Wiring Components
Hover over pins to see their descriptions.
Signal_In
Set_Output
Set_Targetsignal
The input signal.
Sets the "true" output.
Sets the signal that must be matched to.
Signal_Out
The output of the component.
Requires: Screwdriver

Xor Component

"Sends a signal if either of the inputs, but not both, receives a signal."

The Xor Component is an electrical component used to check if exactly one input pin is receiving truthy signals.


Connection Panel for Wiring Components
Hover over pins to see their descriptions.
Signal_In_1
Signal_In_2
Set_Output
The input of the first signal.
The input of the second signal.
Sets the "true" output.
Signal_Out
The output of the component.
Requires: Screwdriver

"1" denotes any non-zero signal, "0" denotes a "zero signal or no signal"

Truth Table
Input 1 Input 2 Output
0 0 0
0 1 1
1 0 1
1 1 0

Math

Abs Component

"Outputs the absolute value of the input."

Adder Component

"Outputs the sum of the received signals."

Ceil Component

"Transforms a given float input into the closest integer, rounding up."

Divide Component

"Outputs the divided value of the received signals."

Exponentiation Component

"Outputs the input raised to a given power."

Factorial Component

"Outputs the factorial of the input."

Floor Component

"Transforms a given float input into the closest integer, rounding down."

Modulo Component

"Outputs the remainder when the input is divided by a specific number."

Multiply Component

"Outputs the product of the received signals."

Round Component

"Rounds a numerical input to the nearest integer value."

Square Root Component

"Outputs the square root of the input."

Subtract Component

"Outputs the subtracted value of the received signals."

Trigonometry

Acos Component

"Outputs the angle whose cosine is equal to the input."

The Acos Component is an electrical component that performs the inverse cosine function; cos-1(x).


Connection Panel for Wiring Components
Hover over pins to see their descriptions.
Signal_In
The input signal.
Signal_Out
The output of the component.
Requires: Screwdriver

Asin Component

"Outputs the angle whose sine is equal to the input."

The Asin Component is an electrical component that performs the inverse sine function; sin-1(x).


Connection Panel for Wiring Components
Hover over pins to see their descriptions.
Signal_In
The input signal.
Signal_Out
The output of the component.
Requires: Screwdriver

Atan Component

"Outputs the angle whose tangent is equal to the input. If the "signal_in_x" and "signal_in_y" connections are used, the input is interpreted as a vector and the angle calculated using Atan2."

The Atan Component is an electrical component that performs the inverse tan function; tan-1(x).


Connection Panel for Wiring Components
Hover over pins to see their descriptions.
Signal_In
Signal_In_X
Signal_In_Y
The input signal.
The input of the X signal.
The input of the Y signal.
Signal_Out
The output of the component.
Requires: Screwdriver

Cos Component

"Outputs the cosine of the input."

The Cos Component is an electrical component that performs the cosine function; cos(x).


Connection Panel for Wiring Components
Hover over pins to see their descriptions.
Signal_In
The input signal.
Signal_Out
The output of the component.
Requires: Screwdriver

Sin Component

"Outputs the sine of the input."

The Sin Component is an electrical component that performs the sine function; sin(x).


Connection Panel for Wiring Components
Hover over pins to see their descriptions.
Signal_In
The input signal.
Signal_Out
The output of the component.
Requires: Screwdriver

Tan Component

"Outputs the tangent of the input."

The Tan Component is an electrical component that performs the tangent function; tan(x).


Connection Panel for Wiring Components
Hover over pins to see their descriptions.
Signal_In
The input signal.
Signal_Out
The output of the component.
Requires: Screwdriver

Misc

Color Component

"Outputs a combined color signal for light control."

The Color Component is an electrical component used to provide a color signal for lamps/lights.

It is most commonly used in tandem with Light Components for easily changeable lighting.


Connection Panel for Wiring Components
Hover over pins to see their descriptions.
Signal_R
Signal_G
Signal_B
Signal_A
The brightness of the red channel.
The brightness of the green channel.
The brightness of the blue channel.
The transparency of the alpha channel.
Signal_Out
The combined color signal.
Requires: Screwdriver

Concatenation Component

"Joins the inputs together and outputs the joined value (for example, the inputs "mud" and "raptor" would output "mudraptor")."

Connection Panel for Wiring Components
Hover over pins to see their descriptions.
Signal_In_1
Signal_In_2
Input of the first signal.
Input of the second signal.
Signal_Out
The joined value.
Requires: Screwdriver

Delay Component

"Delays all received signals for a specific amount of time."

The Delay Component is an electrical component used to delay a signal for a short amount of time.

It is most commonly used in tandem with Terminals for custom commands.


Connection Panel for Wiring Components
Hover over pins to see their descriptions.
Signal_In
set_delay
The signal to be delayed.
The delay duration, in seconds.
Signal_Out
The delayed signal.
Requires: Screwdriver

Memory Component

"Outputs a stored value that can be updated from other sources. Use the signal_in connection to set the stored value, and the lock_state input to toggle whether the received signals should be stored."

The Memory Component is an electrical component used to store signals for later use. This is one of the only components that will "output an empty string", "explicitly sending nothing to other components", instead of "not sending anything".


Connection Panel for Wiring Components
Hover over pins to see their descriptions.
Signal_In
LOCK_STATE
The signal to be stored
Sets whether signals will be stored (1=yes, 0=no)
Signal_Out
The currently stored signal
Requires: Screwdriver

Oscillator Component

"Sends out a periodic, oscillating signal."

The Oscillator is an electrical component used to provide a signal that changes over time.

  • Frequency is in Hertz (Hz), 1 Hz is once per second, 0.5 Hz is once every 2 seconds and so on.
  • The wave type may be set on the component by sending a number into set_outputtype.
Input Wave Description
0 Pulse periodically sends out a signal of 1.
1 Sawtooth sends out a periodic wave that increases linearly from 0 to 1.
2 Sine sends out a sine wave oscillating between -1 and 1.
3 Square sends out a signal that alternates between 0 and 1
4 Triangle sends out a wave that alternates between increasing linearly from -1 to 1 and decreasing from 1 to -1.
Connection Panel for Wiring Components
Hover over pins to see their descriptions.
Set_Frequency
Set_Outputtype
Sets the frequency of the oscillator, in Hz (Hertz).
Sets the output type of the oscillator (0=pulse, 1=sine, 2=square).
Signal_Out
The output of the component.
Requires: Screwdriver

Relay Component

"When switched on, forwards all received signals from the input connections to the outputs."

The Relay Component is an electrical component used to disconnect power or signals from a circuit.

In-game, a relay may only pass a maximum of 1000 kW however in the Submarine Editor this can be adjusted.

It is most commonly used for providing toggleable power to lights or duplicating signals.

When switched off (State = 0) the Relay Component does not transfer power via the power_out pin.


Connection Panel for Wiring Components
Hover over pins to see their descriptions.
Power_In
Signal_In_1
Signal_In_2
Toggle_State
Set_State
Power input from a power network.
The input of the first signal.
The input of the second signal.
Toggles the state on any signal.
Sets the state of the Relay. (0 = Off, all other signals = On)
Power_Out
Signal_Out_1
Signal_Out_2
State_Out
Load_Value_Out
Power_Value_Out
Power output to a power network.
The output of the first signal.
The output of the second signal.
The current state of the relay.
Outputs the current load level as a number (required power).
Outputs the current power level as a number (supplied power).
Requires: Screwdriver

Wifi Component

"Allows remote communication between other wifi components that are using the same channel."

The Wifi Component is an electrical component used to transfer signals over long distances.

It can also be linked to radio chat, forwarding text messages from players to the signal_out pin and printing values sent to the signal_in pin into radio chat.

When printing messages to radio chat, the name of the connected component (eg "Memory Component") is displayed as the author of the message.

`Range` (cm) can be set to limit how far the signal will travel.


Connection Panel for Wiring Components
Hover over pins to see their descriptions.
Signal_In
Set_Channel
The signal to be transmitted.
Sets the current wifi channel.
Signal_Out
The recieved signal.
Requires: Screwdriver
v·d·e·h
Electrical Components
Alarms
Detectors
Interactable
Wiring Components
Misc


v·d·e·h
Installations
Submarine Weapons
Small Turrets
Large Turrets
Loaders
Other
Navigation
Machines
Electrical
Structure
Other
Alien