# SPDX-FileCopyrightText: 2020 20kdc <asdd2808@gmail.com>
# SPDX-FileCopyrightText: 2020 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 Exp <theexp111@gmail.com>
# SPDX-FileCopyrightText: 2020 Metal Gear Sloth <metalgearsloth@gmail.com>
# SPDX-FileCopyrightText: 2020 Paul Ritter <ritter.paul1@googlemail.com>
# SPDX-FileCopyrightText: 2020 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2020 Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 Víctor Aguilera Puerto <zddm@outlook.es>
# SPDX-FileCopyrightText: 2020 a.rudenko <creadth@gmail.com>
# SPDX-FileCopyrightText: 2020 creadth <creadth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 peptron1 <57651027+peptron1@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 py01 <60152240+collinlunn@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 py01 <pyronetics01@gmail.com>
# SPDX-FileCopyrightText: 2021 Swept <sweptwastaken@protonmail.com>
# SPDX-FileCopyrightText: 2021 iczero <iczero4@gmail.com>
# SPDX-FileCopyrightText: 2022 EmoGarbage404 <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Fishfish458 <47410468+Fishfish458@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Flipp Syder <76629141+vulppine@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Julian Giebel <juliangiebel@live.de>
# SPDX-FileCopyrightText: 2022 Nairod <110078045+Nairodian@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Peptide90 <78795277+Peptide90@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Rane <60792108+Elijahrane@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 T-Stalker <43253663+DogZeroX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Veritius <veritiusgaming@gmail.com>
# SPDX-FileCopyrightText: 2022 ZeroDayDaemon <60460608+ZeroDayDaemon@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 fishfish458 <fishfish458>
# SPDX-FileCopyrightText: 2022 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2022 mirrorcult <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2023 0x6273 <0x40@keemail.me>
# SPDX-FileCopyrightText: 2023 Arendian <137322659+Arendian@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Dvir <39403717+dvir001@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Ed <96445749+TheShuEd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 ElectroJr <leonsfriedrich@gmail.com>
# SPDX-FileCopyrightText: 2023 Interrobang01 <113810873+Interrobang01@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 chromiumboy <50505512+chromiumboy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 faint <46868845+ficcialfaint@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 lapatison <100279397+lapatison@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 potato1234_x <79580518+potato1234x@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 root <root@DESKTOP-HJPF29C>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Debug <49997488+DebugOk@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 EmoGarbage404 <retron404@gmail.com>
# SPDX-FileCopyrightText: 2024 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Jessica M <jessica@jessicamaybe.com>
# SPDX-FileCopyrightText: 2024 Jessica M <jessica@maybe.sh>
# SPDX-FileCopyrightText: 2024 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2024 Lamrr <96937466+Lamrr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 themias <89101928+themias@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 wafehling <wafehling@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Southbridge <7013162+southbridge-fur@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Velken <8467292+Velken@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 yavuz <58685802+yahay505@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  name: cardboard box
  parent: BoxBase
  id: BoxCardboard
  description: A cardboard box for storing things.
  components:
  # Goobstation edit start
  - type: EmitSoundOnPickup
    sound:
      path: /Audio/_Goobstation/Items/handling/cardboardbox_pickup.ogg
      params:
        volume: -3
  - type: EmitSoundOnDrop
    sound:
      path: /Audio/_Goobstation/Items/handling/cardboardbox_drop.ogg
      params:
        volume: -3
  - type: EmitSoundOnLand
    sound:
      path: /Audio/_Goobstation/Items/handling/cardboardbox_drop.ogg
      params:
        volume: -3
  # Goobstation edit end
  - type: Item
    size: Large
    shape:
    - 0,0,2,2
  - type: Storage
    maxItemSize: Small
    grid:
    - 0,0,2,2
  - type: Sprite
    state: box
  - type: Tag
    tags:
    - BoxCardboard

- type: entity
  name: mousetrap box
  parent: BoxCardboard
  id: BoxMousetrap
  description: This box is filled with mousetraps. Try not to get your hand stuck in one.
  components:
    - type: StorageFill
      contents:
        - id: Mousetrap
          amount: 4
    - type: Sprite
      layers:
        - state: box
        - state: mousetraps

- type: entity
  name: lightbulb box
  parent: BoxCardboard
  id: BoxLightbulb
  description: This box is shaped on the inside so that only light tubes and bulbs fit.
  components:
  - type: Sprite
    layers:
      - state: box
      - state: light
  - type: Storage
    grid:
    - 0,0,5,3
    whitelist:
      components:
      - LightBulb
  - type: StorageFill
    contents:
      - id: LightBulb
        amount: 12

- type: entity
  name: lightbulb box warm
  parent: BoxLightbulb
  id: BoxWarmLightbulb
  components:
  - type: StorageFill
    contents:
      - id: WarmLightBulb
        amount: 12

- type: entity
  name: lighttube box
  parent: BoxLightbulb
  id: BoxLighttube
  components:
  - type: Sprite
    layers:
      - state: box
      - state: lighttube
  - type: StorageFill
    contents:
      - id: LightTube
        amount: 12

- type: entity
  name: mixed lights box
  parent: BoxLightbulb
  id: BoxLightMixed
  components:
  - type: Sprite
    layers:
      - state: box
      - state: lightmixed
  - type: StorageFill
    contents:
      - id: LightTube
        amount: 6
      - id: LightBulb
        amount: 6

- type: entity
  name: holiday lighttube box
  parent: BoxLightbulb
  id: BoxLighttubeHoliday
  components:
  - type: StorageFill
    contents:
      - id: LightTubeCrystalRed # Its alternating on purpose for the light replacer.
      - id: LightTubeCrystalGreen
      - id: LightTubeCrystalRed
      - id: LightTubeCrystalGreen
      - id: LightTubeCrystalRed
      - id: LightTubeCrystalGreen
      - id: LightTubeCrystalRed
      - id: LightTubeCrystalGreen
      - id: LightTubeCrystalRed
      - id: LightTubeCrystalGreen
      - id: LightTubeCrystalRed
      - id: LightTubeCrystalGreen

- type: entity
  name: PDA box
  parent: BoxCardboard
  id: BoxPDA
  description: A box of spare PDA microcomputers.
  components:
  - type: StorageFill
    contents:
      - id: PassengerPDA
        amount: 4
  - type: Sprite
    layers:
      - state: box
      - state: pda

- type: entity
  name: ID card box
  parent: BoxCardboard
  id: BoxID
  description: A box of spare blank ID cards.
  components:
  - type: StorageFill
    contents:
      - id: PassengerIDCard
        amount: 4
  - type: Sprite
    layers:
      - state: box
      - state: pda

- type: entity
  name: headset box
  parent: BoxCardboard
  id: BoxHeadset
  description: A box of spare passenger headsets.
  components:
  - type: StorageFill
    contents:
      - id: ClothingHeadsetGrey
        amount: 4
  - type: Sprite
    layers:
      - state: box
      - state: headset

- type: entity
  name: meson box
  parent: BoxCardboard
  id: BoxMesonScanners
  description: A box of spare meson goggles.
  components:
  - type: StorageFill
    contents:
      - id: ClothingEyesGlassesMeson
        amount: 4
  - type: Sprite
    layers:
      - state: box
      - state: meson

- type: entity
  name: M.R.E.
  parent: BoxCardboard
  id: BoxMRE
  description: A box of decades old military surplus rations. It is surprisingly not rotten.
  components:
  - type: StorageFill
    contents:
      - id: DrinkMREFlask
      - id: FoodSnackNutribrick
      - id: FoodSnackMREBrownie
      - id: FoodCondimentPacketKetchup
  - type: Sprite
    layers:
      - state: box_olive
      - state: writing

- type: entity
  parent: BoxHug
  id: BoxHugHealing
  suffix: Medical
  components:
  - type: StorageFill
    contents:
      - id: Brutepack
        amount: 3

- type: entity
  name: inflatable wall box
  parent: BoxCardboard
  id: BoxInflatable
  description: Inflatable walls are not to be used as floatation devices.
  components:
  - type: StorageFill
    contents:
        - id: InflatableWallStack
          amount: 2
        - id: InflatableDoorStack
          amount: 2
  - type: Sprite
    layers:
      - state: box
      - state: inflatable


- type: entity
  name: hatsune miku day bag
  parent: ClothingBackpackDuffel
  id: BoxPerformer
  description: Happy Hatsune Miku Day!
  components:
  - type: StorageFill
    contents:
      - id: ClothingShoesBootsPerformer
      - id: ClothingUniformJumpskirtPerformer
      - id: ClothingHeadPerformerWig
      - id: FoodMealMemoryleek
        amount: 2
  - type: Tag
    tags: [] # ignore "WhitelistChameleon" tag

- type: entity
  name: flare box
  parent: BoxCardboard
  id: BoxFlare
  description: A box of flares. Party time.
  components:
  - type: StorageFill
    contents:
      - id: Flare
        amount: 6
  - type: Sprite
    layers:
      - state: box
      - state: flare

- type: entity
  name: trashbag box
  parent: BoxCardboard
  id: BoxTrashbag
  description: A box of trashbags. Happy janitor noises.
  components:
  - type: StorageFill
    contents:
      - id: TrashBag
        amount: 6
  - type: Storage
    grid:
    - 0,0,5,3
    maxItemSize: Large
    whitelist:
      tags:
        - TrashBag
  - type: Sprite
    layers:
      - state: box
      - state: trashbag

- type: entity
  name: passenger encryption key box
  parent: BoxCardboard
  id: BoxEncryptionKeyPassenger
  description: A box of spare encryption keys.
  components:
  - type: StorageFill
    contents:
      - id: EncryptionKeyCommon
        amount: 4
  - type: Sprite
    layers:
      - state: box
      - state: encryptokey
  - type: Storage
    whitelist:
      components:
      - EncryptionKey

- type: entity
  name: cargo encryption key box
  parent: BoxEncryptionKeyPassenger
  id: BoxEncryptionKeyCargo
  components:
  - type: StorageFill
    contents:
      - id: EncryptionKeyCargo
        amount: 4

- type: entity
  name: engineering encryption key box
  parent: BoxEncryptionKeyPassenger
  id: BoxEncryptionKeyEngineering
  components:
  - type: StorageFill
    contents:
      - id: EncryptionKeyEngineering
        amount: 4

- type: entity
  name: med-sci encryption key box
  parent: BoxEncryptionKeyPassenger
  id: BoxEncryptionKeyMedicalScience
  components:
  - type: StorageFill
    contents:
      - id: EncryptionKeyMedicalScience
        amount: 4

- type: entity
  name: medical encryption key box
  parent: BoxEncryptionKeyPassenger
  id: BoxEncryptionKeyMedical
  components:
  - type: StorageFill
    contents:
      - id: EncryptionKeyMedical
        amount: 4

- type: entity
  name: robotech encryption key box
  parent: BoxEncryptionKeyPassenger
  id: BoxEncryptionKeyRobo
  components:
  - type: StorageFill
    contents:
      - id: EncryptionKeyRobo
        amount: 4

- type: entity
  name: science encryption key box
  parent: BoxEncryptionKeyPassenger
  id: BoxEncryptionKeyScience
  components:
  - type: StorageFill
    contents:
      - id: EncryptionKeyScience
        amount: 4

- type: entity
  name: security encryption key box
  parent: BoxEncryptionKeyPassenger
  id: BoxEncryptionKeySecurity
  components:
  - type: StorageFill
    contents:
      - id: EncryptionKeySecurity
        amount: 4

- type: entity
  name: service encryption key box
  parent: BoxEncryptionKeyPassenger
  id: BoxEncryptionKeyService
  components:
  - type: StorageFill
    contents:
      - id: EncryptionKeyService
        amount: 4

- type: entity
  name: syndicate encryption key box
  parent: [BoxEncryptionKeyPassenger, BaseSyndicateContraband]
  id: BoxEncryptionKeySyndie
  description: Two syndicate encryption keys for the price of one. Miniaturized for ease of use.
  components:
  - type: Item
    size: Normal
  - type: StorageFill
    contents:
      - id: EncryptionKeySyndie
        amount: 2
  - type: Storage

- type: entity
  name: lead-lined box
  parent: BoxCardboard
  suffix: DEBUG
  id: BoxLeadLined
  description: This box stymies the transmission of harmful radiation.
  components:
  - type: Sprite
    state: box


- type: entity
  name: candle box
  parent: BoxCardboard
  id: BoxCandle
  description: This box is specifically moulded to only carry candles.
  components:
  - type: Sprite
    layers:
      - state: box
      - state: candle
  - type: Storage
    grid:
    - 0,0,5,3
    whitelist:
      tags:
      - Candle
  - type: StorageFill
    contents:
      - id: Candle
        amount: 4
      - id: CandleBlue
        amount: 2
      - id: CandleRed
        amount: 2
      - id: CandleGreen
        amount: 2
      - id: CandlePurple
        amount: 2

- type: entity
  name: small candle box
  parent: BoxCandle
  id: BoxCandleSmall
  components:
  - type: StorageFill
    contents:
      - id: CandleSmall
        amount: 8
      - id: CandleBlueSmall
        amount: 4
      - id: CandleRedSmall
        amount: 4
      - id: CandleGreenSmall
        amount: 4
      - id: CandlePurpleSmall
        amount: 4

- type: entity
  name: darts box
  parent: BoxCardboard
  id: BoxDarts
  description: A box filled with colorful darts.
  components:
  - type: Sprite
    layers:
      - state: box
      - state: darts
  - type: StorageFill
    contents:
      - id: Dart
        amount: 2
      - id: DartBlue
        amount: 2
      - id: DartPurple
        amount: 2
      - id: DartYellow
        amount: 2

- type: entity
  name: envelope box
  parent: BoxCardboard
  id: BoxEnvelope
  description: A box filled with envelopes.
  components:
  - type: Sprite
    layers:
      - state: box
      - state: envelope
  - type: StorageFill
    contents:
      - id: Envelope
        amount: 9

- type: entity
  name: utensil box
  parent: BoxCardboard
  id: BoxUtensil
  description: A box filled with forks and spoons.
  components:
  - type: Sprite
    layers:
      - state: box
      - state: utensils
  - type: StorageFill
    contents:
      - id: Fork
        amount: 2
      - id: Spoon
        amount: 2
