- type: entity
  id: ConveyorBelt
  name: conveyor belt
  description: A conveyor belt, commonly used to transport large numbers of items elsewhere quite quickly.
  placement:
    mode: SnapgridCenter
  components:
  - type: Rotatable
    rotateWhileAnchored: true
  - type: Clickable
  - type: InteractionOutline
  - type: Transform
    anchored: true
  - type: Sprite
    netsync: false
    sprite: Structures/conveyor.rsi
    state: conveyor_started_cw
    drawdepth: FloorObjects
  - type: SignalReceiver
    inputs:
      - name: state
        type: Content.Shared.MachineLinking.TwoWayLeverSignal
        maxConnections: 1
  - type: ApcPowerReceiver
  - type: ExtensionCableReceiver
  - type: Conveyor
  - type: Appearance
    visuals:
    - type: ConveyorVisualizer
      state_running: conveyor_started_cw
      state_stopped: conveyor_stopped_cw
      state_reversed: conveyor_started_cw_r
  - type: Construction
    graph: ConveyorGraph
    node: entity
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 200
      behaviors:
      # if ConveyorBeltAssembly becomes craftable, maybe spawn some of the ingredients?
      - !type:DoActsBehavior
        acts: [ "Destruction" ]

- type: entity
  id: ConveyorBeltAssembly
  parent: BaseItem
  name: conveyor belt
  suffix: assembly
  description: A conveyor belt assembly. Used to construct a conveyor belt.
  components:
  - type: Tag
    tags:
    - ConveyorAssembly
  - type: Sprite
    netsync: false
    sprite: Structures/conveyor.rsi
    state: conveyor_loose
  - type: Construction
    graph: ConveyorGraph
    node: item

- type: entity
  id: TwoWayLever
  name: two way lever
  description: A two way lever.
  placement:
    mode: SnapgridCenter
  components:
    - type: Clickable
    - type: InteractionOutline
    - type: Sprite
      netsync: false
      sprite: Structures/conveyor.rsi
      state: switch-off
    - type: TwoWayLever
    - type: SignalTransmitter
      outputs:
        - name: state
          type: Content.Shared.MachineLinking.TwoWayLeverSignal
    - type: Appearance
      visuals:
        - type: TwoWayLeverVisualizer
          state_forward: switch-fwd
          state_off: switch-off
          state_reversed: switch-rev
    - type: Construction
      graph: LeverGraph
      node: lever
    - type: Destructible
      thresholds:
      - trigger:
          !type:DamageTrigger
          damage: 100
        behaviors:
        - !type:DoActsBehavior
          acts: [ "Destruction" ]