- type: entity
  id: DebugGenerator
  name: Debug Generator
  placement:
    mode: SnapgridCenter
  components:
  - type: Clickable
  - type: InteractionOutline
  - type: Collidable
    shapes:
    - !type:PhysShapeAabb
      bounds: "-0.5, -0.5, 0.3, 0.5"
      layer: [MobMask, Opaque]
  - type: SnapGrid
    offset: Center
  - type: Sprite
    texture: Constructible/Power/generator.png
  - type: Icon
    texture: Constructible/Power/generator.png
  - type: NodeContainer
    nodes:
    - !type:AdjacentNode
      nodeGroupID: HVPower
  - type: PowerSupplier
    supplyRate: 3000
  - type: Anchorable

- type: entity
  id: DebugConsumer
  name: Debug Consumer
  placement:
    mode: SnapgridCenter
  components:
  - type: Clickable
  - type: InteractionOutline
  - type: Collidable
    shapes:
    - !type:PhysShapeAabb
      bounds: "-0.5, -0.5, 0.5, 0.5"
      layer: [MobMask, Opaque]
  - type: SnapGrid
    offset: Center
  - type: Sprite
    texture: Constructible/Power/wiredmachine.png
  - type: Icon
    texture: Constructible/Power/wiredmachine.png
  - type: NodeContainer
    nodes:
    - !type:AdjacentNode
      nodeGroupID: HVPower
  - type: PowerConsumer
    drawRate: 50
  - type: Damageable
  - type: Breakable
    thresholdvalue: 100
  - type: Anchorable

- type: entity
  id: DebugBatteryStorage
  name: Debug Battery Storage
  placement:
    mode: SnapgridCenter
  components:
  - type: Clickable
  - type: InteractionOutline
  - type: Collidable
    shapes:
    - !type:PhysShapeAabb
      bounds: "-0.5, -0.5, 0.5, 0.5"
      layer: [MobMask, Opaque]
  - type: SnapGrid
    offset: Center
  - type: Sprite
    texture: Constructible/Power/provider.png
  - type: Icon
    texture: Constructible/Power/provider.png
  - type: Battery
  - type: NodeContainer
    nodes:
    - !type:AdjacentNode
      nodeGroupID: HVPower
  - type: PowerConsumer
  - type: BatteryStorage
  - type: Anchorable

- type: entity
  id: DebugBatteryDischarger
  name: Debug Battery Discharger
  placement:
    mode: SnapgridCenter
  components:
  - type: Clickable
  - type: InteractionOutline
  - type: Collidable
    shapes:
    - !type:PhysShapeAabb
      bounds: "-0.5, -0.5, 0.5, 0.5"
      layer: [MobMask, Opaque]
  - type: SnapGrid
    offset: Center
  - type: Sprite
    texture: Constructible/Power/provider.png
  - type: Icon
    texture: Constructible/Power/provider.png
  - type: Battery
  - type: NodeContainer
    nodes:
    - !type:AdjacentNode
      nodeGroupID: HVPower
  - type: PowerSupplier
  - type: BatteryDischarger
  - type: Anchorable

- type: entity
  id: DebugSmes
  name: Debug Smes
  placement:
    mode: SnapgridCenter
  components:
  - type: Clickable
  - type: InteractionOutline
  - type: Collidable
    shapes:
    - !type:PhysShapeAabb
      bounds: "-0.5, -0.5, 0.5, 0.5"
      layer: [MobMask, Opaque]
  - type: SnapGrid
    offset: Center
  - type: Sprite
    netsync: false
    sprite: Constructible/Power/smes.rsi
    state: smes
    layers:
    - state: smes-display
      shader: unshaded
  - type: Icon
    sprite: Constructible/Power/smes.rsi
    state: smes
  - type: Smes
  - type: Appearance
    visuals:
    - type: SmesVisualizer
  - type: Battery
    maxCharge: 1000
    startingCharge: 1000
  - type: NodeContainer
    nodes:
    - !type:AdjacentNode
      nodeGroupID: HVPower
  - type: PowerConsumer
  - type: BatteryStorage
    activeDrawRate: 1500
  - type: PowerSupplier
  - type: BatteryDischarger
    activeSupplyRate: 1000
  - type: Anchorable

- type: entity
  id: DebugSubstation
  name: Debug Substation
  placement:
    mode: SnapgridCenter
  components:
  - type: Clickable
  - type: InteractionOutline
  - type: Collidable
    shapes:
    - !type:PhysShapeAabb
      bounds: "-0.5, -0.5, 0.5, 0.5"
      layer: [MobMask, Opaque]
  - type: SnapGrid
    offset: Center
  - type: Sprite
    texture: Constructible/Power/storage.png
  - type: Icon
    texture: Constructible/Power/storage.png
    state: smes
  - type: Battery
    maxCharge: 1000
    startingCharge: 1000
  - type: NodeContainer
    nodes:
    - !type:AdjacentNode
      nodeGroupID: HVPower
    - !type:AdjacentNode
      nodeGroupID: MVPower
  - type: PowerConsumer
  - type: BatteryStorage
    activeDrawRate: 1500
  - type: PowerSupplier
    voltage: Medium
  - type: BatteryDischarger
    activeSupplyRate: 1000
  - type: Anchorable

- type: entity
  id: DebugApc
  name: Debug Apc
  placement:
    mode: SnapgridCenter
  components:
  - type: Clickable
  - type: InteractionOutline
  - type: Collidable
    shapes:
    - !type:PhysShapeAabb
      bounds: "-0.25, -0.25, 0.25, 0.3"
  - type: SnapGrid
    offset: Center
  - type: Sprite
    drawdepth: WallMountedItems
    netsync: false
    texture: ""
    sprite: "Constructible/Power/apc.rsi"
    state: apc0
  - type: Icon
    texture: Constructible/Power/apc.rsi/apc0.png
  - type: Appearance
    visuals:
    - type: ApcVisualizer
  - type: Battery
    maxCharge: 10000
    startingCharge: 10000
  - type: NodeContainer
    nodes:
    - !type:AdjacentNode
      nodeGroupID: MVPower
    - !type:AdjacentNode
      nodeGroupID: Apc
  - type: PowerConsumer
    voltage: Medium
  - type: BatteryStorage
    activeDrawRate: 1000
  - type: PowerProvider
    voltage: Apc
  - type: Apc
    voltage: Apc
  - type: UserInterface
    interfaces:
    - key: enum.ApcUiKey.Key
      type: ApcBoundUserInterface

- type: entity
  id: DebugPowerReceiver
  name: Debug Power Receiver
  placement:
    mode: SnapgridCenter
  components:
  - type: Clickable
  - type: InteractionOutline
  - type: Collidable
    shapes:
    - !type:PhysShapeAabb
      bounds: "-0.5, -0.5, 0.5, 0.5"
      layer: [MobMask, Opaque]
  - type: SnapGrid
    offset: Center
  - type: Sprite
    texture: Constructible/Power/wirelessmachine.png
  - type: Icon
    texture: Constructible/Power/wirelessmachine.png
  - type: PowerReceiver
  - type: Anchorable

- type: entity
  id: SolarPanel
  name: solar panel
  description: Generates power from sunlight. Usually used to power replacements for sunlight. Fragile.
  placement:
    mode: SnapgridCenter
  components:
  - type: Clickable
  - type: InteractionOutline
  - type: Collidable
    shapes:
    - !type:PhysShapeAabb
      layer: [MobMask, Opaque]
  - type: Sprite
    sprite: Constructible/Power/solar_panel.rsi
    state: normal
  - type: Icon
    sprite: Constructible/Power/solar_panel.rsi
    state: normal
  - type: NodeContainer
    nodes:
    - !type:AdjacentNode
      nodeGroupID: HVPower
  - type: PowerSupplier
  - type: SolarPanel
    supply: 1500
  - type: SnapGrid
    offset: Center
  - type: Damageable
  - type: Breakable
    thresholdvalue: 100

#Depriciated, to be removed from maps

- type: entity
  id: Generator
  name: Depriciated Generator
  parent: DebugGenerator
  components:
  - type: PowerSupplier
    voltage: High
    supplyRate: 100000

- type: entity
  id: APC
  name: Depriciated Apc
  parent: DebugApc
  components:
  - type: NodeContainer
    nodes:
    - !type:AdjacentNode
      nodeGroupID: HVPower
    - !type:AdjacentNode
      nodeGroupID: Apc
  - type: PowerConsumer
    voltage: High
  - type: BatteryStorage
    activeDrawRate: 10000

- type: entity
  id: SMES
  name: Depriciated Smes
  parent: DebugSmes

- type: entity
  id: SmesDry
  name: Depriciated Smes
  parent: DebugSmes

- type: entity
  id: WiredMachine
  name: Depriciated WiredMachine
  parent: DebugConsumer

- type: entity
  id: WirelessMachine
  name: Depriciated WirelessMachine
  parent: DebugPowerReceiver
