- type: construction
  name: computer
  id: Computer
  graph: Computer
  startNode: start
  targetNode: computer
  category: construction-category-machines
  description: A frame used to construct anything with a computer circuitboard.
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  icon:
    sprite: Structures/Machines/parts.rsi
    state: 4

- type: construction
  name: machine frame (1x1)
  description: A machine under construction. Needs more parts.
  id: MachineFrame
  graph: Machine
  startNode: start
  targetNode: machine
  category: construction-category-machines
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  icon:
    sprite: Structures/Machines/parts.rsi
    state: "box_0"

# Switching
- type: construction
  name: two-way lever
  id: TwoWayLeverRecipe
  graph: LeverGraph
  startNode: start
  targetNode: LeverNode
  category: construction-category-machines
  description: A lever to control machines. It has 3 modes.
  objectType: Structure
  canBuildInImpassable: false
  icon:
    sprite: Structures/conveyor.rsi
    state: switch-off
  conditions:
    - !type:TileNotBlocked

- type: construction
  name: light switch
  id: LightSwitchRecipe
  graph: LightSwitchGraph
  startNode: start
  targetNode: LightSwitchNode
  category: construction-category-machines
  description: A switch for toggling lights that are connected to the same apc.
  icon:
    sprite: Structures/Wallmounts/switch.rsi
    state: on
  objectType: Structure
  placementMode: SnapgridCenter
  canRotate: true
  canBuildInImpassable: true
  conditions:
    - !type:WallmountCondition

- type: construction
  name: signal switch
  id: SignalSwitchRecipe
  graph: SignalSwitchGraph
  startNode: start
  targetNode: SignalSwitchNode
  category: construction-category-machines
  description: It's a switch for toggling power to things.
  icon:
    sprite: Structures/Wallmounts/switch.rsi
    state: on
  objectType: Structure
  placementMode: SnapgridCenter
  canRotate: true
  canBuildInImpassable: true
  conditions:
    - !type:WallmountCondition

- type: construction
  name: signal button
  id: SignalButtonRecipe
  graph: SignalButtonGraph
  startNode: start
  targetNode: SignalButtonNode
  category: construction-category-machines
  description: It's a button for activating something.
  icon:
    sprite: Structures/Wallmounts/switch.rsi
    state: on
  objectType: Structure
  placementMode: SnapgridCenter
  canRotate: true
  canBuildInImpassable: true
  conditions:
    - !type:WallmountCondition

- type: construction
  name: directional light switch
  id: LightSwitchDirectionalRecipe
  graph: LightSwitchDirectionalGraph
  startNode: start
  targetNode: LightSwitchDirectionalNode
  category: construction-category-machines
  description: A switch for toggling lights that are connected to the same apc.
  icon:
    sprite: Structures/Wallmounts/switch.rsi
    state: on
  objectType: Structure
  placementMode: SnapgridCenter
  canRotate: true
  canBuildInImpassable: true
  conditions:
    - !type:WallmountCondition

- type: construction
  name: directional signal switch
  id: SignalSwitchDirectionalRecipe
  graph: SignalSwitchDirectionalGraph
  startNode: start
  targetNode: SignalSwitchDirectionalNode
  category: construction-category-machines
  description: It's a switch for toggling power to things.
  icon:
    sprite: Structures/Wallmounts/switch.rsi
    state: on
  objectType: Structure
  placementMode: SnapgridCenter
  canRotate: true
  canBuildInImpassable: true
  conditions:
    - !type:WallmountCondition

- type: construction
  name: directional signal button
  id: SignalButtonDirectionalRecipe
  graph: SignalButtonDirectionalGraph
  startNode: start
  targetNode: SignalButtonDirectionalNode
  category: construction-category-machines
  description: It's a button for activating something.
  icon:
    sprite: Structures/Wallmounts/switch.rsi
    state: on
  objectType: Structure
  placementMode: SnapgridCenter
  canRotate: true
  canBuildInImpassable: true
  conditions:
    - !type:WallmountCondition
    
- type: construction
  name: ai core
  id: AiCore
  graph: AiVessel
  startNode: start
  targetNode: end
  category: construction-category-machines
  description: A shell for an Artificial Intelligence to be housed in
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  icon:
    sprite: Structures/Machines/plasteel_core.rsi
    state: core_empty
  conditions:
    - !type:TileNotBlocked
