- type: entity
  name: "Gravitational Singularity"
  description: "A mesmerizing swirl of darkness that sucks in everything.\nIf it's moving towards you, run."
  id: Singularity
  components:
  - type: Clickable
  - type: Physics
    anchored: false
    shapes:
    - !type:PhysShapeCircle
      radius: 0.5
      layer: [Impassable]
      mask:
      - AllMask
    mass: 5
  - type: Singularity
  - type: RadiationPulse
    range: 15
    decay: false
  - type: Sprite
    sprite: Effects/Singularity/singularity_1.rsi
    state: singularity_1
  - type: Icon
    sprite: Effects/Singularity/singularity_1.rsi
    state: singularity_1
    drawdepth: Items

- type: entity
  id: RadiationCollector
  name: Radiation Collector
  description: A machine that collects Radiation and turns it into power.
  placement:
    mode: SnapgridCenter
  components:
  - type: Clickable
  - type: InteractionOutline
  - type: Physics
    anchored: true
    shapes:
    - !type:PhysShapeAabb
      bounds: "-0.5, -0.5, 0.5, 0.5"
      layer: [MobMask, Opaque]
  - type: SnapGrid
    offset: Center
  - type: Sprite
    sprite: Constructible/Power/radiation_collector.rsi
    layers:
      - state: ca_on
        map: ["enum.RadiationCollectorVisualLayers.Main"]
  - type: Appearance
    visuals:
      - type: RadiationCollectorVisualizer
  - type: NodeContainer
    examinable: true
    nodes:
    - !type:AdjacentNode
      nodeGroupID: HVPower
  - type: RadiationCollector
  - type: Anchorable
  - type: Pullable

- type: entity
  name: Containment Field Generator
  description: "A machine that generates a containment field when powered by an emitter.\nKeeps the Singularity docile."
  id: ContainmentFieldGenerator
  placement:
    mode: SnapgridCenter
  components:
  - type: InteractionOutline
  - type: Clickable
  - type: Physics
    anchored: true
    shapes:
    - !type:PhysShapeAabb
      bounds: "-0.5, -0.5, 0.5, 0.5"
      layer: [MobMask, Opaque]
  - type: SnapGrid
    offset: Center
  - type: Sprite
    sprite: Constructible/Power/field_generator.rsi
    state: Field_Gen
  - type: Icon
    sprite: Constructible/Power/field_generator.rsi
    state: Field_Gen
  - type: ContainmentFieldGenerator
  - type: Anchorable
  - type: Pullable
  - type: PointLight
    enabled: false
    color: "#4080FF"
    radius: 32
    energy: 2.0
    softness: 32.0

- type: entity
  name: Containment Field
  description: "A containment field that repels gravitational singularities."
  id: ContainmentField
  placement:
    mode: SnapgridCenter
  components:
  - type: InteractionOutline
  - type: Clickable
  - type: Physics
    anchored: true
    shapes:
    - !type:PhysShapeAabb
      bounds: "-0.5, -0.5, 0.5, 0.5"
      layer: [MobMask, Opaque]
  - type: SnapGrid
    offset: Center
  - type: Sprite
    sprite: Effects/contain_f.rsi
    state: Contain_F
  - type: Icon
    sprite: Effects/contain_f.rsi
    state: Contain_F
  - type: ContainmentField

- type: entity
  name: Gravitational Singularity Generator
  description: An Odd Device which produces a Gravitational Singularity when set up.
  id: SinguloGenerator
  components:
    - type: Sprite
      sprite: Effects/Singularity/singulo_gen.rsi
      state: singulo_gen
    - type: SingularityGenerator
    - type: InteractionOutline
    - type: Clickable
    - type: Physics
      anchored: true
      shapes:
        - !type:PhysShapeAabb
          bounds: "-0.5, -0.5, 0.5, 0.5"
          layer: [ MobMask ]
    - type: SnapGrid
      offset: Center
    - type: Anchorable
    - type: Pullable
