- type: entity
  abstract: true
  parent: BaseItem
  id: Clothing
  components:
  - type: Clothing
    equipSound:
      collection: EquipSounds
      params:
        maxDistance: 3
  - type: Item
    size: Normal
  - type: Sprite
  - type: Tag
    tags:
      - WhitelistChameleon
  - type: StaticPrice
    price: 10
  - type: FlavorProfile #yes not every peice of clothing is edible, but this way every edible piece of clothing should have the flavor without me having to track down what specific clothing can and cannot be eaten.
    flavors:
    - fiber

- type: entity
  abstract: true
  id: GeigerCounterClothing
  components:
    - type: Geiger
      attachedToSuit: true

- type: entity
  abstract: true
  id: AllowSuitStorageClothing
  components:
  - type: AllowSuitStorage

- type: entity
  abstract: true
  id: AllowSuitStorageClothingGasTanks
  components:
  - type: AllowSuitStorage
    whitelist:
      components:
      - GasTank

# for clothing that has a single item slot to insert and alt click out.
# inheritors add a whitelisted slot named item
- type: entity
  abstract: true
  id: ClothingSlotBase
  components:
  - type: ItemSlots
  - type: ContainerContainer
    containers:
      item: !type:ContainerSlot

# a piece of clothing that has explosion resistance *for its contents*, not the wearer
- type: entity
  abstract: true
  id: ContentsExplosionResistanceBase
  components:
  - type: ExplosionResistance
    worn: false # only apply to the clothing itself and items inside, not the wearer
    examine: explosion-resistance-contents-coefficient-value
  # to show explosion resistance examine
  - type: GroupExamine
  - type: Armor
    modifiers: {}

# for clothing that can be toggled, like magboots
- type: entity
  abstract: true
  id: BaseToggleClothing
  components:
  - type: ItemToggle
    onUse: false # can't really wear it like that
  - type: ToggleClothing
