# SPDX-FileCopyrightText: 2020 L.E.D <10257081+unusualcrow@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 Paul Ritter <ritter.paul1@googlemail.com>
# SPDX-FileCopyrightText: 2020 Remie Richards <remierichards@gmail.com>
# SPDX-FileCopyrightText: 2020 Víctor Aguilera Puerto <zddm@outlook.es>
# SPDX-FileCopyrightText: 2020 unusualcrow <unusualcrow@protonmail.com>
# SPDX-FileCopyrightText: 2021 20kdc <asdd2808@gmail.com>
# SPDX-FileCopyrightText: 2021 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2021 Swept <sweptwastaken@protonmail.com>
# SPDX-FileCopyrightText: 2021 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2022 Peptide90 <78795277+Peptide90@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 TemporalOroboros <TemporalOroboros@gmail.com>
# SPDX-FileCopyrightText: 2023 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: MIT

- type: constructionGraph
  id: ParticleAcceleratorControlBox
  start: start
  graph:
    - node: start
      entity: ParticleAcceleratorControlBoxUnfinished
      actions:
      - !type:AppearanceChange
      edges:
        - to: wired
          conditions:
            - !type:EntityAnchored {}
          steps:
            - material: Cable
              doAfter: 0.5

    - node: wired
      entity: ParticleAcceleratorControlBoxUnfinished
      actions:
      - !type:AppearanceChange
      edges:
        - to: completed
          conditions:
            - !type:EntityAnchored {}
          completed:
            - !type:SnapToGrid {}
          steps:
            - tool: Screwing
              doAfter: 0.5
        - to: start
          conditions:
            - !type:EntityAnchored {}
          completed:
            - !type:SpawnPrototype
              prototype: CableApcStack1
          steps:
            - tool: Cutting
              doAfter: 0.5

    - node: completed
      entity: ParticleAcceleratorControlBox
      edges:
        - to: wired
          conditions:
            - !type:EntityAnchored { }
          steps:
            - tool: Prying
              doAfter: 0.5


- type: constructionGraph
  id: ParticleAcceleratorPowerBox
  start: start
  graph:
    - node: start
      entity: ParticleAcceleratorPowerBoxUnfinished
      actions:
      - !type:AppearanceChange
      edges:
        - to: wired
          conditions:
            - !type:EntityAnchored {}
          steps:
            - material: Cable
              doAfter: 0.5

    - node: wired
      entity: ParticleAcceleratorPowerBoxUnfinished
      actions:
      - !type:AppearanceChange
      edges:
        - to: completed
          conditions:
            - !type:EntityAnchored {}
          completed:
            - !type:SnapToGrid {}
          steps:
            - tool: Screwing
              doAfter: 0.5
        - to: start
          conditions:
            - !type:EntityAnchored {}
          completed:
            - !type:SpawnPrototype
              prototype: CableApcStack1
          steps:
            - tool: Cutting
              doAfter: 0.5

    - node: completed
      entity: ParticleAcceleratorPowerBox
      edges:
        - to: wired
          conditions:
            - !type:EntityAnchored { }
          steps:
            - tool: Screwing
              doAfter: 0.5


- type: constructionGraph
  id: ParticleAcceleratorFuelChamber
  start: start
  graph:
    - node: start
      entity: ParticleAcceleratorFuelChamberUnfinished
      actions:
      - !type:AppearanceChange
      edges:
        - to: wired
          conditions:
            - !type:EntityAnchored {}
          steps:
            - material: Cable
              doAfter: 0.5

    - node: wired
      entity: ParticleAcceleratorFuelChamberUnfinished
      actions:
      - !type:AppearanceChange
      edges:
        - to: completed
          conditions:
            - !type:EntityAnchored {}
          completed:
            - !type:SnapToGrid {}
          steps:
            - tool: Screwing
              doAfter: 0.5
        - to: start
          conditions:
            - !type:EntityAnchored {}
          completed:
            - !type:SpawnPrototype
              prototype: CableApcStack1
          steps:
            - tool: Cutting
              doAfter: 0.5

    - node: completed
      entity: ParticleAcceleratorFuelChamber
      edges:
        - to: wired
          conditions:
            - !type:EntityAnchored { }
          steps:
            - tool: Screwing
              doAfter: 0.5

- type: constructionGraph
  id: ParticleAcceleratorEndCap
  start: start
  graph:
    - node: start
      entity: ParticleAcceleratorEndCapUnfinished
      actions:
      - !type:AppearanceChange
      edges:
        - to: wired
          conditions:
            - !type:EntityAnchored {}
          steps:
            - material: Cable
              doAfter: 0.5

    - node: wired
      entity: ParticleAcceleratorEndCapUnfinished
      actions:
      - !type:AppearanceChange
      edges:
        - to: completed
          conditions:
            - !type:EntityAnchored {}
          completed:
            - !type:SnapToGrid {}
          steps:
            - tool: Screwing
              doAfter: 0.5
        - to: start
          conditions:
            - !type:EntityAnchored {}
          completed:
            - !type:SpawnPrototype
              prototype: CableApcStack1
          steps:
            - tool: Cutting
              doAfter: 0.5

    - node: completed
      entity: ParticleAcceleratorEndCap
      edges:
        - to: wired
          conditions:
            - !type:EntityAnchored { }
          steps:
            - tool: Screwing
              doAfter: 0.5

- type: constructionGraph
  id: ParticleAcceleratorEmitterPort
  start: start
  graph:
    - node: start
      entity: ParticleAcceleratorEmitterPortUnfinished
      actions:
      - !type:AppearanceChange
      edges:
        - to: wired
          conditions:
            - !type:EntityAnchored {}
          steps:
            - material: Cable
              doAfter: 0.5

    - node: wired
      entity: ParticleAcceleratorEmitterPortUnfinished
      actions:
      - !type:AppearanceChange
      edges:
        - to: completed
          conditions:
            - !type:EntityAnchored {}
          completed:
            - !type:SnapToGrid {}
          steps:
            - tool: Screwing
              doAfter: 0.5
        - to: start
          conditions:
            - !type:EntityAnchored {}
          completed:
            - !type:SpawnPrototype
              prototype: CableApcStack1
          steps:
            - tool: Cutting
              doAfter: 0.5

    - node: completed
      entity: ParticleAcceleratorEmitterPort
      edges:
        - to: wired
          conditions:
            - !type:EntityAnchored { }
          steps:
            - tool: Screwing
              doAfter: 0.5

- type: constructionGraph
  id: ParticleAcceleratorEmitterFore
  start: start
  graph:
    - node: start
      entity: ParticleAcceleratorEmitterForeUnfinished
      actions:
      - !type:AppearanceChange
      edges:
        - to: wired
          conditions:
            - !type:EntityAnchored {}
          steps:
            - material: Cable
              doAfter: 0.5

    - node: wired
      entity: ParticleAcceleratorEmitterForeUnfinished
      actions:
      - !type:AppearanceChange
      edges:
        - to: completed
          conditions:
            - !type:EntityAnchored {}
          completed:
            - !type:SnapToGrid {}
          steps:
            - tool: Screwing
              doAfter: 0.5
        - to: start
          conditions:
            - !type:EntityAnchored {}
          completed:
            - !type:SpawnPrototype
              prototype: CableApcStack1
          steps:
            - tool: Cutting
              doAfter: 0.5

    - node: completed
      entity: ParticleAcceleratorEmitterFore
      edges:
        - to: wired
          conditions:
            - !type:EntityAnchored { }
          steps:
            - tool: Screwing
              doAfter: 0.5

- type: constructionGraph
  id: ParticleAcceleratorEmitterStarboard
  start: start
  graph:
    - node: start
      entity: ParticleAcceleratorEmitterStarboardUnfinished
      actions:
      - !type:AppearanceChange
      edges:
        - to: wired
          conditions:
            - !type:EntityAnchored {}
          steps:
            - material: Cable
              doAfter: 0.5

    - node: wired
      entity: ParticleAcceleratorEmitterStarboardUnfinished
      actions:
      - !type:AppearanceChange
      edges:
        - to: completed
          conditions:
            - !type:EntityAnchored {}
          completed:
            - !type:SnapToGrid {}
          steps:
            - tool: Screwing
              doAfter: 0.5
        - to: start
          conditions:
            - !type:EntityAnchored {}
          completed:
            - !type:SpawnPrototype
              prototype: CableApcStack1
          steps:
            - tool: Cutting
              doAfter: 0.5

    - node: completed
      entity: ParticleAcceleratorEmitterStarboard
      edges:
        - to: wired
          conditions:
            - !type:EntityAnchored { }
          steps:
            - tool: Screwing
              doAfter: 0.5