# SPDX-FileCopyrightText: 2021 Swept <sweptwastaken@protonmail.com>
# SPDX-FileCopyrightText: 2021 Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
# SPDX-FileCopyrightText: 2021 Vera Aguilera Puerto <gradientvera@outlook.com>
# SPDX-FileCopyrightText: 2022 Chris V <HoofedEar@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2023 Jeff <velcroboy333@hotmail.com>
# SPDX-FileCopyrightText: 2023 Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 brainfood1183 <113240905+brainfood1183@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Alekshhh <44923899+Alekshhh@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ed <96445749+TheShuEd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Emisse <99158783+Emisse@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ilya246 <57039557+Ilya246@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Southbridge <7013162+southbridge-fur@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Spanky <scott@wearejacob.com>
# SPDX-FileCopyrightText: 2024 Spessmann <156740760+Spessmann@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ubaser <134914314+UbaserB@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Weide <64257676+Lyacs@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Zadeon <loldude9000@gmail.com>
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 mubururu_ <139181059+muburu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 starch <starchpersonal@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  abstract: true
  parent: BaseItem
  id: OreBase
  description: A piece of unrefined ore.
  components:
  - type: Sprite
    sprite: Objects/Materials/ore.rsi
  - type: Item
    sprite: Objects/Materials/ore.rsi
    size: Normal
  - type: Tag
    tags:
    - Ore
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.2
        density: 20
        mask:
          - ItemMask
        restitution: 0.3
        friction: 0.2

- type: entity
  parent: OreBase
  id: GoldOre
  name: gold ore
  suffix: Full
  components:
  - type: Stack
    stackType: GoldOre
  - type: Sprite
    state: gold
  - type: Material
  - type: PhysicalComposition
    materialComposition:
      RawGold: 500 # Goobstation - was 100
  - type: Extractable
    grindableSolutionName: goldore
  - type: SolutionContainerManager
    solutions:
      goldore:
        reagents:
        - ReagentId: Gold
          Quantity: 10
  - type: Item
    heldPrefix: gold
  - type: Tag
    tags:
    - Ore
    - OreGold

- type: entity
  parent: GoldOre
  id: GoldOre1
  suffix: Single
  components:
  - type: Stack
    count: 1

- type: entity
  parent: OreBase
  id: DiamondOre
  name: diamond ore
  suffix: Full
  components:
  - type: Stack
    stackType: DiamondOre
  - type: Sprite
    state: diamond
  - type: Material
  - type: PhysicalComposition
    materialComposition:
      RawDiamond: 100
  - type: Extractable
    grindableSolutionName: diamondore
  - type: SolutionContainerManager
    solutions:
      diamondore:
        reagents:
        - ReagentId: Carbon
          Quantity: 20
  - type: Item
    heldPrefix: diamond

- type: entity
  parent: DiamondOre
  id: DiamondOre1
  suffix: Single
  components:
  - type: Stack
    count: 1

- type: entity
  parent: OreBase
  id: SteelOre
  name: iron ore
  suffix: Full
  components:
  - type: Stack
    stackType: SteelOre
  - type: Sprite
    state: iron
  - type: Material
  - type: PhysicalComposition
    materialComposition:
      RawIron: 300 # Goobstation - was 100
  - type: Extractable
    grindableSolutionName: ironore
  - type: SolutionContainerManager
    solutions:
      ironore:
        reagents:
        - ReagentId: Iron
          Quantity: 10
  - type: Item
    heldPrefix: iron

- type: entity
  id: SteelOre1
  parent: SteelOre
  suffix: Single
  components:
    - type: Stack
      count: 1

- type: entity
  parent: OreBase
  id: PlasmaOre
  name: plasma ore
  suffix: Full
  components:
  - type: Stack
    stackType: PlasmaOre
  - type: Sprite
    state: plasma
  - type: Material
  - type: PhysicalComposition
    materialComposition:
      RawPlasma: 500 # Goobstation - was 100
  - type: PointLight
    radius: 1.2
    energy: 0.6
    castShadows: false
    color: "#e592e7"
  - type: Extractable
    grindableSolutionName: plasmaore
  - type: SolutionContainerManager
    solutions:
      plasmaore:
        reagents:
        - ReagentId: Plasma
          Quantity: 10
  - type: Item
    heldPrefix: plasma
  - type: Tag
    tags:
    - Ore
    - OrePlasma

- type: entity
  parent: PlasmaOre
  id: PlasmaOre1
  suffix: Single
  components:
    - type: Stack
      count: 1

- type: entity
  parent: OreBase
  id: SilverOre
  name: silver ore
  suffix: Full
  components:
  - type: Stack
    stackType: SilverOre
  - type: Sprite
    state: silver
  - type: Material
  - type: PhysicalComposition
    materialComposition:
      RawSilver: 500 # Goobstation - was 100
  - type: Extractable
    grindableSolutionName: silverore
  - type: SolutionContainerManager
    solutions:
      silverore:
        reagents:
        - ReagentId: Silver
          Quantity: 10
  - type: Item
    heldPrefix: silver
  - type: Tag
    tags:
    - Ore
    - OreSilver

- type: entity
  parent: SilverOre
  id: SilverOre1
  suffix: Single
  components:
  - type: Stack
    count: 1

- type: entity
  parent: OreBase
  id: SpaceQuartz
  name: space quartz
  suffix: Full
  components:
  - type: Stack
    stackType: SpaceQuartz
  - type: Sprite
    state: spacequartz
  - type: Material
  - type: PhysicalComposition
    materialComposition:
      RawQuartz: 300 # Goobstation - was 100
  - type: Extractable
    grindableSolutionName: quartzore
  - type: SolutionContainerManager
    solutions:
      quartzaore:
        reagents:
        - ReagentId: Silicon
          Quantity: 10
  - type: Item
    heldPrefix: spacequartz

- type: entity
  parent: SpaceQuartz
  id: SpaceQuartz1
  suffix: Single
  components:
  - type: Stack
    count: 1

- type: entity
  parent: OreBase
  id: UraniumOre
  name: uranium ore
  suffix: Full
  components:
  - type: Stack
    stackType: UraniumOre
  - type: Sprite
    state: uranium
  - type: Material
  - type: PhysicalComposition
    materialComposition:
      RawUranium: 500 # Goobstation - was 100
  - type: PointLight
    radius: 1.2
    energy: 0.8
    castShadows: false
    color: "#9be792"
  - type: Extractable
    grindableSolutionName: uraniumore
  - type: SolutionContainerManager
    solutions:
      uraniumore:
        reagents:
        - ReagentId: Uranium
          Quantity: 8
        - ReagentId: Radium
          Quantity: 2
        canReact: false
  - type: Item
    heldPrefix: uranium
  - type: Tag
    tags:
    - Ore
    - OreUranium

- type: entity
  parent: UraniumOre
  id: UraniumOre1
  suffix: Single
  components:
  - type: Stack
    count: 1

- type: entity
  parent: OreBase
  id: BananiumOre
  name: bananium ore
  suffix: Full
  components:
  - type: Stack
    stackType: BananiumOre
  - type: Sprite
    state: bananium
  - type: Material
  - type: PhysicalComposition
    materialComposition:
      RawBananium: 300 # Goobstation - was 100
  - type: PointLight
    radius: 1.2
    energy: 1
    castShadows: false
    color: "#eef066"
  - type: Extractable
    grindableSolutionName: bananiumore
  - type: SolutionContainerManager
    solutions:
      bananiumore:
        reagents:
        - ReagentId: Nutriment
          Quantity: 4
        - ReagentId: Vitamin
          Quantity: 2
        - ReagentId: Honk
          Quantity: 5
  - type: Item
    heldPrefix: bananium
  - type: Tag
    tags:
    - Ore
    - OreBananium

- type: entity
  parent: BananiumOre
  id: BananiumOre1
  suffix: Single
  components:
  - type: Stack
    count: 1

- type: entity
  parent: OreBase
  id: Coal
  name: coal
  suffix: Full
  components:
  - type: Stack
    stackType: Coal
  - type: Sprite
    state: coal
  - type: Material
  - type: Extractable
    grindableSolutionName: coal
  - type: SolutionContainerManager
    solutions:
      coal:
        reagents:
        - ReagentId: Carbon
          Quantity: 8.4
        - ReagentId: Ammonia
          Quantity: 0.8
        - ReagentId: Hydrogen
          Quantity: 0.5
        - ReagentId: Sulfur
          Quantity: 0.2
        - ReagentId: Mercury
          Quantity: 0.1
  - type: PhysicalComposition
    materialComposition:
      Coal: 300 # Goobstation - was 100
  - type: Item
    heldPrefix: coal

- type: entity
  parent: Coal
  id: Coal1
  suffix: Single
  components:
  - type: Stack
    count: 1

- type: entity
  parent: Coal
  id: Coal5
  suffix: Five
  components:
  - type: Stack
    count: 5

- type: entity
  parent: Coal
  id: Coal10
  suffix: Ten
  components:
  - type: Stack
    count: 10

- type: entity
  parent: Coal
  id: Coal15
  suffix: Fifteen
  components:
  - type: Stack
    count: 15

- type: entity
  parent: OreBase
  id: SaltOre
  name: salt
  suffix: Full
  components:
  - type: Stack
    stackType: SaltOre
  - type: Sprite
    state: salt
  - type: Material
  - type: PhysicalComposition
    materialComposition:
      RawSalt: 300 # Goobstation - was 100
  - type: Extractable
    grindableSolutionName: saltore
  - type: SolutionContainerManager
    solutions:
      saltore:
        reagents:
        - ReagentId: TableSalt
          Quantity: 10
        - ReagentId: Iodine
          Quantity: 5
  - type: Item
    heldPrefix: salt
  - type: StatusEffectOnCollideGhost # Goobstation
    whitelist:
      tags:
      - WeakToSalt
    statusEffect: Corporeal
    duration: 15

- type: entity
  parent: SaltOre
  id: Salt1
  suffix: Single
  components:
  - type: Stack
    count: 1

