# SPDX-FileCopyrightText: 2020 Peter Wedder <burneddi@gmail.com>
# SPDX-FileCopyrightText: 2020 namespace-Memory <66768086+namespace-Memory@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 scuffedjays <yetanotherscuffed@gmail.com>
# SPDX-FileCopyrightText: 2021 20kdc <asdd2808@gmail.com>
# SPDX-FileCopyrightText: 2021 Acruid <shatter66@gmail.com>
# SPDX-FileCopyrightText: 2021 Metal Gear Sloth <metalgearsloth@gmail.com>
# SPDX-FileCopyrightText: 2021 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2021 Swept <sweptwastaken@protonmail.com>
# SPDX-FileCopyrightText: 2021 SweptWasTaken <sweptwastaken@protonmail.com>
# SPDX-FileCopyrightText: 2021 Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
# SPDX-FileCopyrightText: 2021 Vera Aguilera Puerto <zddm@outlook.es>
# SPDX-FileCopyrightText: 2021 Visne <39844191+Visne@users.noreply.github.com>
# SPDX-FileCopyrightText: 2021 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2022 Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Peptide90 <78795277+Peptide90@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2023 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 0x6273 <0x40@keemail.me>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# heats an entity or solution placed on it
- type: entity
  abstract: true
  parent: [ BaseMachinePowered, SmallConstructibleMachine ]
  id: BaseHeaterMachine
  components:
  - type: ItemPlacer
  - type: Fixtures
    fixtures:
      itemcollide:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.14,-0.05,0.15,0.25"
        layer:
        - HighImpassable
        hard: false
      fix1:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.14,-0.05,0.15,0.25"
        mask:
        - TabletopMachineMask
        layer:
        - TabletopMachineLayer
  - type: ApcPowerReceiver
    powerLoad: 300

- type: entity
  parent: BaseHeaterMachine
  id: ChemistryHotplate
  name: hotplate
  description: "The descendent of the microwaves, our newest invention in beaker heating technology: the hotplate!"
  components:
  - type: Sprite
    sprite: Structures/Machines/hotplate.rsi
    drawdepth: SmallObjects
    snapCardinals: true
    layers:
    - state: icon
    - state: on
      map: ["enum.SolutionHeaterVisuals.IsOn"]
      shader: unshaded
  - type: SolutionHeater
    heatPerSecond: 160
  - type: ItemPlacer
    whitelist:
      components:
      - FitsInDispenser
  - type: PlaceableSurface
    placeCentered: true
    positionOffset: 0, 0.25
  - type: Machine
    board: HotplateMachineCircuitboard
  - type: Appearance
  - type: GenericVisualizer
    visuals:
      enum.SolutionHeaterVisuals.IsOn:
        enum.SolutionHeaterVisuals.IsOn:
          True: { visible: true }
          False: { visible: false }