- type: entity
  parent: BaseItem
  id: UtensilBase
  abstract: true
  components:
  - type: Sprite
    sprite: Objects/Misc/utensils.rsi
  - type: Item # TODO add inhand sprites for all utensils
    sprite: Objects/Misc/utensils.rsi
  - type: SpaceGarbage

- type: entity
  parent: UtensilBase
  id: UtensilBasePlastic
  abstract: true
  components:
  - type: Utensil
    breakChance: 0.20
  - type: StaticPrice
    price: 0
  - type: Tag
    tags:
    - Plastic
    - Trash
  - type: MeleeWeapon
    wideAnimationRotation: 180
    attackRate: 1.5
    damage:
      types:
        Blunt: 0

- type: entity
  parent: UtensilBase
  id: Fork
  name: fork
  description: An eating utensil, perfect for stabbing.
  components:
  - type: Tag
    tags:
    - Hoe
    - Metal
  - type: Sprite
    state: fork
  - type: Utensil
    types:
    - Fork
  - type: MeleeWeapon
    wideAnimationRotation: 180
    attackRate: 1.5
    damage:
      types:
        Piercing: 5

- type: entity
  parent: UtensilBasePlastic
  id: ForkPlastic
  name: plastic fork
  description: An eating utensil, perfect for stabbing.
  components:
  - type: Sprite
    state: plastic_fork
  - type: Utensil
    types:
    - Fork

- type: entity
  parent: UtensilBase
  id: Spoon
  name: spoon
  description: There is no spoon.
  components:
  - type: Tag
    tags:
    - Metal
  - type: Sprite
    state: spoon
  - type: Item
    heldPrefix: spoon
  - type: Utensil
    types:
    - Spoon
  - type: MeleeWeapon
    wideAnimationRotation: 180
    attackRate: 1.5
    damage:
      types:
        Blunt: 1
  - type: Shovel
    speedModifier: 0.1 # you can try
  - type: ReactionMixer
    mixMessage: "spoon-mixing-success"
    timeToMix: 0.5
    reactionTypes:
    - Stir

- type: entity
  parent: UtensilBasePlastic
  id: SpoonPlastic
  name: plastic spoon
  description: There is no spoon.
  components:
  - type: Sprite
    state: plastic_spoon
  - type: Item
    heldPrefix: spoon
  - type: Utensil
    types:
    - Spoon
  - type: Shovel
    speedModifier: 0.1 # you can try
  - type: ReactionMixer
    mixMessage: "spoon-mixing-success"
    timeToMix: 0.5
    reactionTypes:
    - Stir

- type: entity
  parent: UtensilBasePlastic
  id: KnifePlastic
  name: plastic knife
  description: That's not a knife. This is a knife.
  components:
  - type: Sprite
    state: plastic_knife
  - type: Utensil
    types:
    - Knife
  - type: Tag
    tags:
    - Plastic
    - Trash
    - Knife
  - type: Fixtures
    fixtures:
      fix1:
        shape: !type:PhysShapeAabb
          bounds: "-0.1,-0.375,0.1,0.375"
        density: 20 # derived from base_item
        mask:
        - ItemMask
        restitution: 0.3
        friction: 0.2


- type: entity
  parent: UtensilBase
  id: BarSpoon
  name: bar spoon
  description: Your personal helper to mix drinks and changes lives.
  components:
  - type: Tag
    tags:
    - Metal
  - type: Sprite
    state: bar_spoon
  - type: Item
    heldPrefix: spoon
  - type: Utensil
    types:
    - Spoon
  - type: ReactionMixer
    mixMessage: "spoon-mixing-success"
    timeToMix: 0.5
    reactionTypes:
    - Stir
  - type: MeleeWeapon
    wideAnimationRotation: 180
    attackRate: 2
    damage:
      types:
        Blunt: 2
  - type: Shovel
    speedModifier: 0.05 # nah
