From: deltanedas <39013340+deltanedas@users.noreply.github.com>
Date: Sat, 7 Oct 2023 00:35:32 +0000 (+0100)
Subject: make tinned foods use openable (#19884)
X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=6af7c90b730aa7b37c18f1d9960c55af9d69bca1;p=space-station-14.git
make tinned foods use openable (#19884)
Co-authored-by: deltanedas <@deltanedas:kde.org>
---
diff --git a/Content.Server/Destructible/Thresholds/Behaviors/OpenBehavior.cs b/Content.Server/Destructible/Thresholds/Behaviors/OpenBehavior.cs
new file mode 100644
index 0000000000..f01e4f7048
--- /dev/null
+++ b/Content.Server/Destructible/Thresholds/Behaviors/OpenBehavior.cs
@@ -0,0 +1,17 @@
+using Content.Server.Nutrition.EntitySystems;
+
+namespace Content.Server.Destructible.Thresholds.Behaviors;
+
+///
+/// Causes the drink/food to open when the destruction threshold is reached.
+/// If it is already open nothing happens.
+///
+[DataDefinition]
+public sealed partial class OpenBehavior : IThresholdBehavior
+{
+ public void Execute(EntityUid uid, DestructibleSystem system, EntityUid? cause = null)
+ {
+ var openable = EntitySystem.Get();
+ openable.TryOpen(uid);
+ }
+}
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/tin.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/tin.yml
index d7de1d234b..764356ad68 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/tin.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/tin.yml
@@ -1,8 +1,10 @@
# Base
+# uses "icon" and "icon-open" states for the main item.
+# trash prototypes use "trash" state
- type: entity
abstract: true
- parent: BaseItem
+ parent: [FoodBase, FoodOpenableBase]
id: FoodTinBase
name: tin
description: A tin of something, sealed tight.
@@ -11,8 +13,27 @@
solutions:
food:
maxVol: 20
- - type: Sprite
- sprite: Objects/Consumable/Food/snacks.rsi
+ reagents:
+ - ReagentId: Nutriment
+ Quantity: 15
+ - type: Openable
+ openableByHand: false
+ sound:
+ path: /Audio/Items/can_open3.ogg
+ - type: Destructible
+ thresholds:
+ # if tinned food is nuked just delete it, no sound
+ - trigger:
+ !type:DamageTrigger
+ damage: 50
+ behaviors:
+ - !type:DoActsBehavior
+ acts: [ "Destruction" ]
+ - trigger:
+ !type:DamageTrigger
+ damage: 6
+ behaviors:
+ - !type:OpenBehavior
- type: Item
sprite: Objects/Consumable/Food/snacks.rsi
heldPrefix: packet
@@ -27,9 +48,8 @@
Blunt: 3
- type: Damageable
damageContainer: Inorganic
- - type: PhysicalComposition
- materialComposition:
- Steel: 100
+ - type: StaticPrice
+ price: 50
- type: entity
abstract: true
@@ -39,17 +59,18 @@
description: An empty tin. Could get a bit of metal from this.
components:
- type: Sprite
- sprite: Objects/Consumable/Food/snacks.rsi
+ state: trash
- type: Item
sprite: Objects/Consumable/Food/snacks.rsi
heldPrefix: packet
size: 3
- - type: Tag
- tags:
- - Trash
- type: PhysicalComposition
materialComposition:
Steel: 100
+ - type: Tag
+ tags:
+ - Trash
+
# Tins
# Need something that you can open these tins with. I suggest a prying or cutting tool.
@@ -61,45 +82,11 @@
description: Just a nice can of ripe peaches swimming in their own juices.
components:
- type: Sprite
- state: peachtin
- - type: Destructible
- thresholds:
- - trigger:
- !type:DamageTrigger
- damage: 6
- behaviors:
- - !type:PlaySoundBehavior
- sound:
- path: /Audio/Items/can_open3.ogg
- - !type:SpawnEntitiesBehavior
- spawn:
- FoodTinPeachesOpen:
- min: 1
- max: 1
- - !type:DoActsBehavior
- acts: [ "Destruction" ]
- - type: StaticPrice
- price: 50
-
-- type: entity
- parent: FoodTinBase
- id: FoodTinPeachesOpen
- name: tinned peaches
- description: Just a nice can of ripe peaches swimming in their own juices.
- components:
- - type: Sprite
- state: peachtin-open
- - type: SolutionContainerManager
- solutions:
- food:
- maxVol: 20
- reagents:
- - ReagentId: Nutriment
- Quantity: 15
+ sprite: Objects/Consumable/Food/Tins/peaches.rsi
- type: FlavorProfile
flavors:
- - sweet
- - funny
+ - sweet
+ - funny
- type: Food
trash: FoodTinPeachesTrash
@@ -109,51 +96,31 @@
name: tinned peaches
components:
- type: Sprite
- state: peachtin-empty
+ sprite: Objects/Consumable/Food/Tins/peaches.rsi
+# slightly run down texture and different name
- type: entity
- parent: FoodTinBase
+ parent: FoodTinPeaches
id: FoodTinPeachesMaint
name: Maintenance Peaches
- description: Just a nice can of ripe peaches swimming in their own juices.
components:
- type: Sprite
- state: peachtinmaint
- - type: Destructible
- thresholds:
- - trigger:
- !type:DamageTrigger
- damage: 6
- behaviors:
- - !type:PlaySoundBehavior
- sound:
- path: /Audio/Items/can_open3.ogg
- - !type:SpawnEntitiesBehavior
- spawn:
- FoodTinPeachesMaintOpen:
- min: 1
- max: 1
- - !type:DoActsBehavior
- acts: [ "Destruction" ]
- - type: StaticPrice
- price: 50
+ sprite: Objects/Consumable/Food/Tins/maint_peaches.rsi
+ - type: Food
+ trash: FoodTinPeachesMaintTrash
+# only exists for backwards compatibility with a few maps, nothing else uses it
- type: entity
- parent: FoodTinBase
+ parent: FoodTinPeachesMaint
id: FoodTinPeachesMaintOpen
- name: Maintenance Peaches
- description: Just a nice can of ripe peaches swimming in their own juices.
+ suffix: Open
components:
- type: Sprite
- state: peachtinmaint-open
- - type: SolutionContainerManager
- solutions:
- food:
- reagents:
- - ReagentId: Nutriment
- Quantity: 15
- - type: Food
- trash: FoodTinPeachesMaintTrash
+ layers:
+ - state: icon-open
+ map: ["icon"]
+ - type: Openable
+ opened: true
- type: entity
parent: FoodTinBaseTrash
@@ -161,7 +128,7 @@
name: Maintenance Peaches
components:
- type: Sprite
- state: peachtinmaint-empty
+ sprite: Objects/Consumable/Food/Tins/maint_peaches.rsi
- type: entity
parent: FoodTinBase
@@ -170,45 +137,12 @@
description: Musical fruit in a slightly less musical container.
components:
- type: Sprite
- state: beans
- - type: Destructible
- thresholds:
- - trigger:
- !type:DamageTrigger
- damage: 6
- behaviors:
- - !type:PlaySoundBehavior
- sound:
- path: /Audio/Items/can_open3.ogg
- - !type:SpawnEntitiesBehavior
- spawn:
- FoodTinBeansOpen:
- min: 1
- max: 1
- - !type:DoActsBehavior
- acts: [ "Destruction" ]
- - type: StaticPrice
- price: 50
-
-- type: entity
- parent: FoodTinBase
- id: FoodTinBeansOpen
- name: tin of beans
- description: Musical fruit in a slightly less musical container.
- components:
- - type: Sprite
- state: beans-open
- - type: SolutionContainerManager
- solutions:
- food:
- reagents:
- - ReagentId: Nutriment
- Quantity: 15
+ sprite: Objects/Consumable/Food/Tins/beans.rsi
- type: FlavorProfile
flavors:
- - savory
- - salty
- - cheap
+ - savory
+ - salty
+ - cheap
- type: Food
trash: FoodTinBeansTrash
@@ -218,7 +152,8 @@
name: tin of beans
components:
- type: Sprite
- state: beans-empty
+ sprite: Objects/Consumable/Food/Tins/beans.rsi
+
# MRE can
- type: entity
@@ -228,51 +163,15 @@
description: A standard issue tin of meat with a convenient pull tab.
components:
- type: Sprite
- sprite: Objects/Consumable/Food/mre.rsi
- state: tin-closed
- - type: Destructible
- thresholds:
- - trigger:
- !type:DamageTrigger
- damage: 6
- behaviors:
- - !type:PlaySoundBehavior
- sound:
- path: /Audio/Items/can_open3.ogg
- - !type:SpawnEntitiesBehavior
- spawn:
- FoodTinMREOpen:
- min: 1
- max: 1
- - !type:DoActsBehavior
- acts: [ "Destruction" ]
- - type: SpawnItemsOnUse
- items:
- - id: FoodTinMREOpen
- sound:
- path: /Audio/Items/can_open3.ogg
-
-
-- type: entity
- parent: FoodTinBase
- id: FoodTinMREOpen
- name: tinned meat
- description: A standard issue tin of meat.
- components:
- - type: Sprite
- sprite: Objects/Consumable/Food/mre.rsi
- state: tin-open
- - type: SolutionContainerManager
- solutions:
- food:
- reagents:
- - ReagentId: Nutriment
- Quantity: 15
+ sprite: Objects/Consumable/Food/Tins/meat.rsi
+ # the convenient pull tab
+ - type: Openable
+ openableByHand: true
- type: FlavorProfile
flavors:
- - meaty
- - salty
- - cheap
+ - meaty
+ - salty
+ - cheap
- type: Food
trash: FoodTinMRETrash
@@ -282,5 +181,4 @@
name: tinned meat
components:
- type: Sprite
- sprite: Objects/Consumable/Food/mre.rsi
- state: tin-trash
+ sprite: Objects/Consumable/Food/Tins/meat.rsi
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/food_base.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/food_base.yml
index be65bc29b0..0d942ebf96 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/food_base.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/food_base.yml
@@ -28,3 +28,22 @@
solution: food
- type: RefillableSolution
solution: food
+
+# usable by any food that can be opened
+# handles appearance with states "icon" and "icon-open"
+- type: entity
+ id: FoodOpenableBase
+ abstract: true
+ components:
+ - type: Appearance
+ - type: Sprite
+ layers:
+ - state: icon
+ map: ["icon"]
+ - type: GenericVisualizer
+ visuals:
+ enum.OpenableVisuals.Opened:
+ icon:
+ True: {state: "icon-open"}
+ False: {state: "icon"}
+ - type: Openable
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml
index 30306ddff3..21a100841d 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml
@@ -8,7 +8,6 @@
- type: FlavorProfile
flavors:
- meaty
- - type: Food
- type: Sprite
sprite: Objects/Consumable/Food/meat.rsi
- type: Extractable
@@ -524,6 +523,7 @@
- type: Tag
tags:
- Raw
+ - Meat
- type: Sprite
state: rouny
- type: SolutionContainerManager
@@ -615,12 +615,11 @@
# Cooked
- type: entity
- parent: BaseItem
+ parent: FoodBase
id: MaterialSmileExtract
name: smile extract
description: It's a real panacea. But at what cost?
components:
- - type: Food
- type: Extractable
grindableSolutionName: food
- type: FlavorProfile
@@ -641,8 +640,6 @@
Quantity: 10
- ReagentId: Iron
Quantity: 10
- - type: Item
- size: 5
- type: StaticPrice
price: 3000 #It has so much Omnizin in it
- type: Tag
@@ -687,7 +684,6 @@
tags:
- Cooked
- Meat
- - type: Food
- type: Sprite
layers:
- state: bacon-cooked
@@ -720,7 +716,6 @@
tags:
- Cooked
- Meat
- - type: Food
- type: Sprite
layers:
- state: product-cooked
@@ -749,7 +744,6 @@
tags:
- Cooked
- Meat
- - type: Food
- type: Sprite
layers:
- state: bird-cooked
@@ -778,7 +772,6 @@
tags:
- Cooked
- Meat
- - type: Food
- type: Sprite
layers:
- state: bird-cooked
@@ -836,7 +829,6 @@
tags:
- Cooked
- Meat
- - type: Food
- type: Sprite
layers:
- state: bird-cooked
@@ -868,7 +860,6 @@
tags:
- Cooked
- Meat
- - type: Food
- type: Sprite
layers:
- state: crab-cooked
@@ -894,7 +885,6 @@
tags:
- Cooked
- Meat
- - type: Food
- type: Sprite
layers:
- state: goliath-cooked
@@ -923,6 +913,7 @@
- type: Tag
tags:
- Cooked
+ - Meat
- type: Sprite
layers:
- state: rouny-cooked
@@ -948,7 +939,6 @@
tags:
- Cooked
- Meat
- - type: Food
- type: Sprite
layers:
- state: lizard-cooked
@@ -977,7 +967,6 @@
tags:
- Cooked
- Meat
- - type: Food
- type: Sprite
layers:
- state: spiderleg-cooked
diff --git a/Resources/Textures/Objects/Consumable/Food/snacks.rsi/beans-open.png b/Resources/Textures/Objects/Consumable/Food/Tins/beans.rsi/icon-open.png
similarity index 100%
rename from Resources/Textures/Objects/Consumable/Food/snacks.rsi/beans-open.png
rename to Resources/Textures/Objects/Consumable/Food/Tins/beans.rsi/icon-open.png
diff --git a/Resources/Textures/Objects/Consumable/Food/snacks.rsi/beans.png b/Resources/Textures/Objects/Consumable/Food/Tins/beans.rsi/icon.png
similarity index 100%
rename from Resources/Textures/Objects/Consumable/Food/snacks.rsi/beans.png
rename to Resources/Textures/Objects/Consumable/Food/Tins/beans.rsi/icon.png
diff --git a/Resources/Textures/Objects/Consumable/Food/Tins/beans.rsi/meta.json b/Resources/Textures/Objects/Consumable/Food/Tins/beans.rsi/meta.json
new file mode 100644
index 0000000000..fbd32195c4
--- /dev/null
+++ b/Resources/Textures/Objects/Consumable/Food/Tins/beans.rsi/meta.json
@@ -0,0 +1,20 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c6e3401f2e7e1e55c57060cdf956a98ef1fefc24",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "icon"
+ },
+ {
+ "name": "icon-open"
+ },
+ {
+ "name": "trash"
+ }
+ ]
+}
diff --git a/Resources/Textures/Objects/Consumable/Food/snacks.rsi/beans-empty.png b/Resources/Textures/Objects/Consumable/Food/Tins/beans.rsi/trash.png
similarity index 100%
rename from Resources/Textures/Objects/Consumable/Food/snacks.rsi/beans-empty.png
rename to Resources/Textures/Objects/Consumable/Food/Tins/beans.rsi/trash.png
diff --git a/Resources/Textures/Objects/Consumable/Food/snacks.rsi/peachtinmaint-open.png b/Resources/Textures/Objects/Consumable/Food/Tins/maint_peaches.rsi/icon-open.png
similarity index 100%
rename from Resources/Textures/Objects/Consumable/Food/snacks.rsi/peachtinmaint-open.png
rename to Resources/Textures/Objects/Consumable/Food/Tins/maint_peaches.rsi/icon-open.png
diff --git a/Resources/Textures/Objects/Consumable/Food/snacks.rsi/peachtinmaint.png b/Resources/Textures/Objects/Consumable/Food/Tins/maint_peaches.rsi/icon.png
similarity index 100%
rename from Resources/Textures/Objects/Consumable/Food/snacks.rsi/peachtinmaint.png
rename to Resources/Textures/Objects/Consumable/Food/Tins/maint_peaches.rsi/icon.png
diff --git a/Resources/Textures/Objects/Consumable/Food/Tins/maint_peaches.rsi/meta.json b/Resources/Textures/Objects/Consumable/Food/Tins/maint_peaches.rsi/meta.json
new file mode 100644
index 0000000000..fbd32195c4
--- /dev/null
+++ b/Resources/Textures/Objects/Consumable/Food/Tins/maint_peaches.rsi/meta.json
@@ -0,0 +1,20 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c6e3401f2e7e1e55c57060cdf956a98ef1fefc24",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "icon"
+ },
+ {
+ "name": "icon-open"
+ },
+ {
+ "name": "trash"
+ }
+ ]
+}
diff --git a/Resources/Textures/Objects/Consumable/Food/snacks.rsi/peachtinmaint-empty.png b/Resources/Textures/Objects/Consumable/Food/Tins/maint_peaches.rsi/trash.png
similarity index 100%
rename from Resources/Textures/Objects/Consumable/Food/snacks.rsi/peachtinmaint-empty.png
rename to Resources/Textures/Objects/Consumable/Food/Tins/maint_peaches.rsi/trash.png
diff --git a/Resources/Textures/Objects/Consumable/Food/mre.rsi/tin-hot.png b/Resources/Textures/Objects/Consumable/Food/Tins/meat.rsi/icon-hot.png
similarity index 100%
rename from Resources/Textures/Objects/Consumable/Food/mre.rsi/tin-hot.png
rename to Resources/Textures/Objects/Consumable/Food/Tins/meat.rsi/icon-hot.png
diff --git a/Resources/Textures/Objects/Consumable/Food/mre.rsi/tin-open.png b/Resources/Textures/Objects/Consumable/Food/Tins/meat.rsi/icon-open.png
similarity index 100%
rename from Resources/Textures/Objects/Consumable/Food/mre.rsi/tin-open.png
rename to Resources/Textures/Objects/Consumable/Food/Tins/meat.rsi/icon-open.png
diff --git a/Resources/Textures/Objects/Consumable/Food/mre.rsi/tin-closed.png b/Resources/Textures/Objects/Consumable/Food/Tins/meat.rsi/icon.png
similarity index 100%
rename from Resources/Textures/Objects/Consumable/Food/mre.rsi/tin-closed.png
rename to Resources/Textures/Objects/Consumable/Food/Tins/meat.rsi/icon.png
diff --git a/Resources/Textures/Objects/Consumable/Food/Tins/meat.rsi/meta.json b/Resources/Textures/Objects/Consumable/Food/Tins/meat.rsi/meta.json
new file mode 100644
index 0000000000..0f14d21a7b
--- /dev/null
+++ b/Resources/Textures/Objects/Consumable/Food/Tins/meat.rsi/meta.json
@@ -0,0 +1,31 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Taken from cev-eris at https://github.com/discordia-space/CEV-Eris/raw/9c980cb9bc84d07b1c210c5447798af525185f80/icons/obj/food.dmi",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "icon"
+ },
+ {
+ "name": "icon-hot",
+ "delays": [
+ [
+ 0.5,
+ 0.5,
+ 0.5,
+ 0.5
+ ]
+ ]
+ },
+ {
+ "name": "icon-open"
+ },
+ {
+ "name": "trash"
+ }
+ ]
+}
diff --git a/Resources/Textures/Objects/Consumable/Food/mre.rsi/tin-trash.png b/Resources/Textures/Objects/Consumable/Food/Tins/meat.rsi/trash.png
similarity index 100%
rename from Resources/Textures/Objects/Consumable/Food/mre.rsi/tin-trash.png
rename to Resources/Textures/Objects/Consumable/Food/Tins/meat.rsi/trash.png
diff --git a/Resources/Textures/Objects/Consumable/Food/snacks.rsi/peachtin-open.png b/Resources/Textures/Objects/Consumable/Food/Tins/peaches.rsi/icon-open.png
similarity index 100%
rename from Resources/Textures/Objects/Consumable/Food/snacks.rsi/peachtin-open.png
rename to Resources/Textures/Objects/Consumable/Food/Tins/peaches.rsi/icon-open.png
diff --git a/Resources/Textures/Objects/Consumable/Food/snacks.rsi/peachtin.png b/Resources/Textures/Objects/Consumable/Food/Tins/peaches.rsi/icon.png
similarity index 100%
rename from Resources/Textures/Objects/Consumable/Food/snacks.rsi/peachtin.png
rename to Resources/Textures/Objects/Consumable/Food/Tins/peaches.rsi/icon.png
diff --git a/Resources/Textures/Objects/Consumable/Food/Tins/peaches.rsi/meta.json b/Resources/Textures/Objects/Consumable/Food/Tins/peaches.rsi/meta.json
new file mode 100644
index 0000000000..fbd32195c4
--- /dev/null
+++ b/Resources/Textures/Objects/Consumable/Food/Tins/peaches.rsi/meta.json
@@ -0,0 +1,20 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c6e3401f2e7e1e55c57060cdf956a98ef1fefc24",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "icon"
+ },
+ {
+ "name": "icon-open"
+ },
+ {
+ "name": "trash"
+ }
+ ]
+}
diff --git a/Resources/Textures/Objects/Consumable/Food/snacks.rsi/peachtin-empty.png b/Resources/Textures/Objects/Consumable/Food/Tins/peaches.rsi/trash.png
similarity index 100%
rename from Resources/Textures/Objects/Consumable/Food/snacks.rsi/peachtin-empty.png
rename to Resources/Textures/Objects/Consumable/Food/Tins/peaches.rsi/trash.png
diff --git a/Resources/Textures/Objects/Consumable/Food/mre.rsi/meta.json b/Resources/Textures/Objects/Consumable/Food/mre.rsi/meta.json
index 5aca929f98..d4669293cd 100644
--- a/Resources/Textures/Objects/Consumable/Food/mre.rsi/meta.json
+++ b/Resources/Textures/Objects/Consumable/Food/mre.rsi/meta.json
@@ -28,26 +28,6 @@
{
"name": "box-closed"
},
- {
- "name": "tin-closed"
- },
- {
- "name": "tin-hot",
- "delays": [
- [
- 0.5,
- 0.5,
- 0.5,
- 0.5
- ]
- ]
- },
- {
- "name": "tin-open"
- },
- {
- "name": "tin-trash"
- },
{
"name": "candy"
},
diff --git a/Resources/Textures/Objects/Consumable/Food/snacks.rsi/meta.json b/Resources/Textures/Objects/Consumable/Food/snacks.rsi/meta.json
index 116e05d18f..6f69910384 100644
--- a/Resources/Textures/Objects/Consumable/Food/snacks.rsi/meta.json
+++ b/Resources/Textures/Objects/Consumable/Food/snacks.rsi/meta.json
@@ -7,15 +7,6 @@
"y": 32
},
"states": [
- {
- "name": "beans"
- },
- {
- "name": "beans-empty"
- },
- {
- "name": "beans-open"
- },
{
"name": "boritos"
},
@@ -104,24 +95,6 @@
"name": "packet-inhand-left",
"directions": 4
},
- {
- "name": "peachtin"
- },
- {
- "name": "peachtin-empty"
- },
- {
- "name": "peachtin-open"
- },
- {
- "name": "peachtinmaint"
- },
- {
- "name": "peachtinmaint-empty"
- },
- {
- "name": "peachtinmaint-open"
- },
{
"name": "pistachio"
},