- type: entity
  abstract: true
  id: PipeBase
  name: pipe
  description: Holds gas.
  placement:
    mode: SnapgridCenter
  components:
  - type: Clickable
  - type: InteractionOutline
  - type: Physics
  - type: SnapGrid
  - type: Damageable
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 100
      behaviors:
      - !type:DoActsBehavior
        acts: ["Destruction"]
  - type: Sprite
    netsync: false
  - type: Appearance
    visuals:
    - type: PipeVisualizer
    - type: PipeConnectorVisualizer
  - type: Icon
    sprite: Constructible/Atmos/pipe.rsi

#Note: The PipeDirection of the PipeNode should be the south-facing version, because the entity starts at an angle of 0 (east)

- type: entity
  parent: PipeBase
  id: PipeHalf
  suffix: Half
  components:
  - type: NodeContainer
    nodes:
      pipe:
        !type:PipeNode
        nodeGroupID: Pipe
        pipeDirection: South
  - type: Icon
    state: pipeHalf

- type: entity
  parent: PipeBase
  id: PipeStraight
  suffix: Straight
  components:
  - type: NodeContainer
    nodes:
      pipe:
        !type:PipeNode
        nodeGroupID: Pipe
        pipeDirection: Longitudinal
  - type: Icon
    state: pipeStraight

- type: entity
  parent: PipeBase
  id: PipeBend
  suffix: Bend
  components:
  - type: NodeContainer
    nodes:
      pipe:
        !type:PipeNode
        nodeGroupID: Pipe
        pipeDirection: SWBend
  - type: Icon
    state: pipeBend

- type: entity
  parent: PipeBase
  id: PipeTJunction
  suffix: TJunction
  components:
  - type: NodeContainer
    nodes:
      pipe:
        !type:PipeNode
        nodeGroupID: Pipe
        pipeDirection: TSouth
  - type: Icon
    state: pipeTJunction

- type: entity
  parent: PipeBase
  id: PipeFourway
  suffix: Fourway
  components:
  - type: NodeContainer
    nodes:
      pipe:
        !type:PipeNode
        nodeGroupID: Pipe
        pipeDirection: Fourway
  - type: Icon
    state: pipeFourway
