# SPDX-FileCopyrightText: 2021 Alex Evgrashin <aevgrashin@yandex.ru>
# SPDX-FileCopyrightText: 2021 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2021 Julian Giebel <j.giebel@netrocks.info>
# SPDX-FileCopyrightText: 2021 Julian Giebel <juliangiebel@live.de>
# SPDX-FileCopyrightText: 2021 Vera Aguilera Puerto <zddm@outlook.es>
# SPDX-FileCopyrightText: 2021 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Peptide90 <78795277+Peptide90@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2023 Jeff <velcroboy333@hotmail.com>
# SPDX-FileCopyrightText: 2023 Velcroboy <107660393+ChilbroBaggins@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: MIT
# Levers
- type: constructionGraph
  id: LeverGraph
  start: start
  graph:
  - node: start
    actions:
      - !type:SpawnPrototype
        prototype: SheetSteel1
        amount: 2
      - !type:SpawnPrototype
        prototype: CableApcStack1
        amount: 1
      - !type:DeleteEntity {}
    edges:
      - to: LeverNode
        completed:
          - !type:SnapToGrid {}
        steps:
          - material: Steel
            amount: 2
            doAfter: 1
          - material: Cable
            amount: 1
  - node: LeverNode
    entity: TwoWayLever
    edges:
      - to: start
        steps:
          - tool: Anchoring
            doAfter: 1

# Switches
- type: constructionGraph
  id: LightSwitchGraph
  start: start
  graph:
    - node: start
      edges:
        - to: LightSwitchNode
          steps:
            - material: Steel
              amount: 1
              doAfter: 2.0
            - material: Cable
              amount: 1
    - node: LightSwitchNode
      entity: ApcNetSwitch
      edges:
        - to: start
          steps:
            - tool: Screwing
              doAfter: 2.0
          completed:
            - !type:GivePrototype
              prototype: SheetSteel1
              amount: 1
            - !type:GivePrototype
              prototype: CableApcStack1
              amount: 1
            - !type:DeleteEntity {}

- type: constructionGraph
  id: SignalSwitchGraph
  start: start
  graph:
    - node: start
      edges:
        - to: SignalSwitchNode
          steps:
            - material: Steel
              amount: 1
              doAfter: 2.0
            - material: Cable
              amount: 1
    - node: SignalSwitchNode
      entity: SignalSwitch
      edges:
        - to: start
          steps:
            - tool: Screwing
              doAfter: 2.0
          completed:
            - !type:GivePrototype
              prototype: SheetSteel1
              amount: 1
            - !type:GivePrototype
              prototype: CableApcStack1
              amount: 1
            - !type:DeleteEntity {}

- type: constructionGraph
  id: SignalButtonGraph
  start: start
  graph:
    - node: start
      edges:
        - to: SignalButtonNode
          steps:
            - material: Steel
              amount: 1
              doAfter: 2.0
            - material: Cable
              amount: 1
    - node: SignalButtonNode
      entity: SignalButton
      edges:
        - to: start
          steps:
            - tool: Screwing
              doAfter: 2.0
          completed:
            - !type:GivePrototype
              prototype: SheetSteel1
              amount: 1
            - !type:GivePrototype
              prototype: CableApcStack1
              amount: 1
            - !type:DeleteEntity {}

- type: constructionGraph
  id: LightSwitchDirectionalGraph
  start: start
  graph:
    - node: start
      edges:
        - to: LightSwitchDirectionalNode
          steps:
            - material: Steel
              amount: 1
              doAfter: 2.0
            - material: Cable
              amount: 1
    - node: LightSwitchDirectionalNode
      entity: ApcNetSwitchDirectional
      edges:
        - to: start
          steps:
            - tool: Screwing
              doAfter: 2.0
          completed:
            - !type:GivePrototype
              prototype: SheetSteel1
              amount: 1
            - !type:GivePrototype
              prototype: CableApcStack1
              amount: 1
            - !type:DeleteEntity {}

- type: constructionGraph
  id: SignalSwitchDirectionalGraph
  start: start
  graph:
    - node: start
      edges:
        - to: SignalSwitchDirectionalNode
          steps:
            - material: Steel
              amount: 1
              doAfter: 2.0
            - material: Cable
              amount: 1
    - node: SignalSwitchDirectionalNode
      entity: SignalSwitchDirectional
      edges:
        - to: start
          steps:
            - tool: Screwing
              doAfter: 2.0
          completed:
            - !type:GivePrototype
              prototype: SheetSteel1
              amount: 1
            - !type:GivePrototype
              prototype: CableApcStack1
              amount: 1
            - !type:DeleteEntity {}

- type: constructionGraph
  id: SignalButtonDirectionalGraph
  start: start
  graph:
    - node: start
      edges:
        - to: SignalButtonDirectionalNode
          steps:
            - material: Steel
              amount: 1
              doAfter: 2.0
            - material: Cable
              amount: 1
    - node: SignalButtonDirectionalNode
      entity: SignalButtonDirectional
      edges:
        - to: start
          steps:
            - tool: Screwing
              doAfter: 2.0
          completed:
            - !type:GivePrototype
              prototype: SheetSteel1
              amount: 1
            - !type:GivePrototype
              prototype: CableApcStack1
              amount: 1
            - !type:DeleteEntity {}
