- type: entity
  parent: [AirSensorBase, GasBinaryBase]
  id: !type:CreateVariants
    values: [ GasPipeSensor, GasPipeSensorAlt1, GasPipeSensorAlt2 ]
  name: gas pipe sensor
  description: Reports on the status of the gas in the attached pipe network.
  categories: !type:CreateVariants
    sequences: [ [ ], [ HideSpawnMenu ], [ HideSpawnMenu ] ]
  placement:
    mode: AlignAtmosPipeLayers
  components:
  - type: Sprite
    sprite: !type:CreateVariants
       values: 
       - Structures/Piping/Atmospherics/gas_pipe_sensor.rsi
       - Structures/Piping/Atmospherics/gas_pipe_sensor_alt1.rsi
       - Structures/Piping/Atmospherics/gas_pipe_sensor_alt2.rsi
    drawdepth: BelowFloor
    layers:
    - sprite: !type:CreateVariants
        values: [ Structures/Piping/Atmospherics/pipe.rsi, Structures/Piping/Atmospherics/pipe_alt1.rsi, Structures/Piping/Atmospherics/pipe_alt2.rsi ]
      map: [ "enum.PipeVisualLayers.Pipe" ]
      state: pipeStraight
    - map: ["base"]
      state: base
    - map: [ "enum.PowerDeviceVisualLayers.Powered" ]
      state: lights
      shader: unshaded
  - type: AtmosPipeLayers
    pipeLayer: !type:CreateVariants
      values: [ 0, 1, 2 ]
    spriteRsiPaths:
      Primary: Structures/Piping/Atmospherics/gas_pipe_sensor.rsi
      Secondary: Structures/Piping/Atmospherics/gas_pipe_sensor_alt1.rsi
      Tertiary: Structures/Piping/Atmospherics/gas_pipe_sensor_alt2.rsi
  - type: Appearance
  - type: GenericVisualizer
    visuals:
      enum.PowerDeviceVisuals.Powered:
        enum.PowerDeviceVisualLayers.Powered:
          False: { state: blank }
          True: { state: lights }
  - type: AtmosMonitor
    monitorsPipeNet: true
  - type: GasPipeSensor
  - type: AtmosMonitoringConsoleDevice
    navMapBlip: GasPipeSensor
  - type: ApcPowerReceiver
  - type: ExtensionCableReceiver
  - type: Construction
    graph: !type:CreateVariants
      values: [ GasPipeSensor, GasPipeSensorAlt1, GasPipeSensorAlt2 ]
    node: sensor
  - type: NodeContainer
    nodes:
      monitored:
        !type:PipeNode
        nodeGroupID: Pipe
        pipeDirection: Longitudinal
  - type: Tag
    tags:
    - AirSensor
    - Unstackable
  - type: GuideHelp
    guides:
    - AtmosphericNetworkMonitor
    - DeviceMonitoringAndControl

- type: entity
  parent: !type:CreateVariants
    values: [ GasPipeSensor, GasPipeSensorAlt1, GasPipeSensorAlt2 ]
  id: !type:CreateVariants
    values: [ GasPipeSensorDistribution, GasPipeSensorDistributionAlt1, GasPipeSensorDistributionAlt2 ]
  suffix: Distribution
  categories: !type:CreateVariants
    sequences: [ [ ], [ HideSpawnMenu ], [ HideSpawnMenu ] ]
  placement:
    mode: AlignAtmosPipeLayers
  components:
  - type: Label
    localizedLabel: gas-pipe-sensor-distribution-loop

- type: entity
  parent: !type:CreateVariants
    values: [ GasPipeSensor, GasPipeSensorAlt1, GasPipeSensorAlt2 ]
  id: !type:CreateVariants
    values: [ GasPipeSensorWaste, GasPipeSensorWasteAlt1, GasPipeSensorWasteAlt2 ]
  suffix: Waste
  categories: !type:CreateVariants
    sequences: [ [ ], [ HideSpawnMenu ], [ HideSpawnMenu ] ]
  components:
  - type: Label
    localizedLabel: gas-pipe-sensor-waste-loop

- type: entity
  parent: !type:CreateVariants
    values: [ GasPipeSensor, GasPipeSensorAlt1, GasPipeSensorAlt2 ]
  id: !type:CreateVariants
    values: [ GasPipeSensorMixedAir, GasPipeSensorMixedAirAlt1, GasPipeSensorMixedAirAlt2 ]
  suffix: Mixed air
  categories: !type:CreateVariants
    sequences: [ [ ], [ HideSpawnMenu ], [ HideSpawnMenu ] ]
  components:
  - type: Label
    localizedLabel: gas-pipe-sensor-mixed-air

- type: entity
  parent: !type:CreateVariants
    values: [ GasPipeSensor, GasPipeSensorAlt1, GasPipeSensorAlt2 ]
  id: !type:CreateVariants
    values: [ GasPipeSensorTEGHot, GasPipeSensorTEGHotAlt1, GasPipeSensorTEGHotAlt2 ]
  suffix: TEG hot
  categories: !type:CreateVariants
    sequences: [ [ ], [ HideSpawnMenu ], [ HideSpawnMenu ] ]
  components:
  - type: Label
    localizedLabel: gas-pipe-sensor-teg-hot-loop

- type: entity
  parent: !type:CreateVariants
    values: [ GasPipeSensor, GasPipeSensorAlt1, GasPipeSensorAlt2 ]
  id: !type:CreateVariants
    values: [ GasPipeSensorTEGCold, GasPipeSensorTEGColdAlt1, GasPipeSensorTEGColdAlt2 ]
  suffix: TEG cold
  categories: !type:CreateVariants
    sequences: [ [ ], [ HideSpawnMenu ], [ HideSpawnMenu ] ]
  components:
  - type: Label
    localizedLabel: gas-pipe-sensor-teg-cold-loop
