{
    "format_version": "1.20.10",
    "minecraft:entity": {
        "description": {
            "identifier": "dds_camping:portable_stove",
            "is_spawnable": true,
            "is_summonable": true,
            "animations": {
                "general": "controller.animation.dds_camping.furniture",
                "center": "animation.dds_camping.furniture.center",
                "place": "animation.dds_camping.furniture.place",
                "cooking": "controller.animation.dds_camping.cook_item"
            },
            "scripts": {
                "animate": ["general", "cooking"]
            }
        },
        "component_groups": {
            "default": {
                "minecraft:variant": {
                    "value": 0
                },
                "minecraft:timer": {
                    "time": 0.6,
                    "looping": true,
                    "time_down_event": {
                        "event": "dds_camping:after_spawn",
                        "target": "self"
                    }
                }
            },
            "gravity": {
                "minecraft:physics": {
                    "has_collision": true,
                    "has_gravity": true
                }
            },
            "origin": {
                "minecraft:variant": {
                    "value": 1
                }
            },
            "dds_camping:item_scale": {
                "minecraft:variant": {
                    "value": 5
                },
                "minecraft:collision_box": {
                    "width": 0.235,
                    "height": 0.4
                },
                "minecraft:entity_sensor": {
                    "sensor_range": 0.4,
                    "event": "dds_camping:spawn_item",
                    "event_filters": {
                        "test": "is_family",
                        "subject": "other",
                        "operator": "==",
                        "value": "player"
                    }
                }
            },
            "dds_camping:available_item": {
                "minecraft:spawn_entity": {
                    "entities": [
                        {
                            "single_use": true,
                            "min_wait_time": 0,
                            "max_wait_time": 0,
                            "spawn_item": "dds_camping:portable_stove_spawn_egg"
                        }
                    ]
                },
                "minecraft:instant_despawn": {}
            },
            "dds_camping:default_item": {
                "minecraft:mark_variant": {
                    "value": 0
                }
            },
            "dds_camping:door": {
                "minecraft:is_sheared": {}
            },
            "dds_camping:is_cooked": {
                "minecraft:spawn_entity": {
                    "entities": [
                        {
                            "filters": {
                                "test": "is_mark_variant",
                                "subject": "self",
                                "value": 1
                            },
                            "min_wait_time": 0,
                            "max_wait_time": 0,
                            "single_use": true,
                            "spawn_item": "minecraft:cooked_chicken"
                        },
                        {
                            "filters": {
                                "test": "is_mark_variant",
                                "subject": "self",
                                "value": 2
                            },
                            "min_wait_time": 0,
                            "max_wait_time": 0,
                            "single_use": true,
                            "spawn_item": "minecraft:cooked_porkchop"
                        },
                        {
                            "filters": {
                                "test": "is_mark_variant",
                                "subject": "self",
                                "value": 3
                            },
                            "min_wait_time": 0,
                            "max_wait_time": 0,
                            "single_use": true,
                            "spawn_item": "minecraft:cooked_beef"
                        },
                        {
                            "filters": {
                                "test": "is_mark_variant",
                                "subject": "self",
                                "value": 4
                            },
                            "min_wait_time": 0,
                            "max_wait_time": 0,
                            "single_use": true,
                            "spawn_item": "minecraft:cooked_mutton"
                        },
                        {
                            "filters": {
                                "test": "is_mark_variant",
                                "subject": "self",
                                "value": 5
                            },
                            "min_wait_time": 0,
                            "max_wait_time": 0,
                            "single_use": true,
                            "spawn_item": "minecraft:cooked_rabbit"
                        },
                        {
                            "filters": {
                                "test": "is_mark_variant",
                                "subject": "self",
                                "value": 6
                            },
                            "min_wait_time": 0,
                            "max_wait_time": 0,
                            "single_use": true,
                            "spawn_item": "minecraft:cooked_cod"
                        },
                        {
                            "filters": {
                                "test": "is_mark_variant",
                                "subject": "self",
                                "value": 7
                            },
                            "min_wait_time": 0,
                            "max_wait_time": 0,
                            "single_use": true,
                            "spawn_item": "minecraft:cooked_salmon"
                        },
                        {
                            "filters": {
                                "test": "is_mark_variant",
                                "subject": "self",
                                "value": 8
                            },
                            "min_wait_time": 0,
                            "max_wait_time": 0,
                            "single_use": true,
                            "spawn_item": "dds_camping:cooked_marshmallow"
                        },
                        {
                            "filters": {
                                "test": "is_mark_variant",
                                "subject": "self",
                                "value": 9
                            },
                            "min_wait_time": 0,
                            "max_wait_time": 0,
                            "single_use": true,
                            "spawn_item": "dds_camping:bobcat_meat_cooked"
                        },
                        {
                            "filters": {
                                "test": "is_mark_variant",
                                "subject": "self",
                                "value": 10
                            },
                            "min_wait_time": 0,
                            "max_wait_time": 0,
                            "single_use": true,
                            "spawn_item": "minecraft:baked_potato"
                        },
                        {
                            "filters": {
                                "test": "is_mark_variant",
                                "subject": "self",
                                "value": 11
                            },
                            "min_wait_time": 0,
                            "max_wait_time": 0,
                            "single_use": true,
                            "spawn_item": "minecraft:dried_kelp"
                        }
                    ]
                },
                "minecraft:timer": {
                    "looping": false,
                    "time": 0.1,
                    "time_down_event": {
                        "event": "dds_camping:cook_time"
                    }
                }
            },
            "dds_camping:chicken": {
                "minecraft:mark_variant": {
                    "value": 1
                },
                "minecraft:timer": {
                    "looping": false,
                    "time": 1.5,
                    "time_down_event": {
                        "event": "dds_camping:cook_time"
                    }
                }
            },
            "dds_camping:beef": {
                "minecraft:mark_variant": {
                    "value": 3
                },
                "minecraft:timer": {
                    "looping": false,
                    "time": 1.5,
                    "time_down_event": {
                        "event": "dds_camping:cook_time"
                    }
                }
            },
            "dds_camping:porkchop": {
                "minecraft:mark_variant": {
                    "value": 2
                },
                "minecraft:timer": {
                    "looping": false,
                    "time": 1.5,
                    "time_down_event": {
                        "event": "dds_camping:cook_time"
                    }
                }
            },
            "dds_camping:mutton": {
                "minecraft:mark_variant": {
                    "value": 4
                },
                "minecraft:timer": {
                    "looping": false,
                    "time": 1.5,
                    "time_down_event": {
                        "event": "dds_camping:cook_time"
                    }
                }
            },
            "dds_camping:rabbit": {
                "minecraft:mark_variant": {
                    "value": 5
                },
                "minecraft:timer": {
                    "looping": false,
                    "time": 1.5,
                    "time_down_event": {
                        "event": "dds_camping:cook_time"
                    }
                }
            },
            "dds_camping:cod": {
                "minecraft:mark_variant": {
                    "value": 6
                },
                "minecraft:timer": {
                    "looping": false,
                    "time": 1.5,
                    "time_down_event": {
                        "event": "dds_camping:cook_time"
                    }
                }
            },
            "dds_camping:salmon": {
                "minecraft:mark_variant": {
                    "value": 7
                },
                "minecraft:timer": {
                    "looping": false,
                    "time": 1.5,
                    "time_down_event": {
                        "event": "dds_camping:cook_time"
                    }
                }
            },
            "dds_camping:marshmallow": {
                "minecraft:mark_variant": {
                    "value": 8
                },
                "minecraft:timer": {
                    "looping": false,
                    "time": 1.5,
                    "time_down_event": {
                        "event": "dds_camping:cook_time"
                    }
                }
            },
            "dds_camping:bobcat_meat": {
                "minecraft:mark_variant": {
                    "value": 9
                },
                "minecraft:timer": {
                    "looping": false,
                    "time": 1.5,
                    "time_down_event": {
                        "event": "dds_camping:cook_time"
                    }
                }
            },
            "dds_camping:potato": {
                "minecraft:mark_variant": {
                    "value": 10
                },
                "minecraft:timer": {
                    "looping": false,
                    "time": 1.5,
                    "time_down_event": {
                        "event": "dds_camping:cook_time"
                    }
                }
            },
            "dds_camping:kelp": {
                "minecraft:mark_variant": {
                    "value": 11
                },
                "minecraft:timer": {
                    "looping": false,
                    "time": 1.5,
                    "time_down_event": {
                        "event": "dds_camping:cook_time"
                    }
                }
            }
        },
        "components": {
            "minecraft:interact": {
                "interactions": [
                    {
                        "on_interact": {
                            "filters": [
                                {
                                    "all_of": [
                                        {
                                            "test": "is_sneaking",
                                            "subject": "other",
                                            "value": true
                                        },
                                        {
                                            "test": "is_mark_variant",
                                            "subject": "self",
                                            "value": 0
                                        }
                                    ]
                                }
                            ],
                            "event": "dds_camping:demolish_structure"
                        },
                        "cooldown": 0.6,
                        "use_item": false,
                        "interact_text": "action.interact.structure_demolish"
                    },
                    {
                        "on_interact": {
                            "filters": {
                                "all_of": [
                                    {
                                        "test": "has_component",
                                        "operator": "!=",
                                        "value": "minecraft:is_sheared"
                                    },
                                    {
                                        "test": "is_sneaking",
                                        "subject": "other",
                                        "value": false
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "operator": "!=",
                                        "value": "minecraft:chicken"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "operator": "!=",
                                        "value": "minecraft:beef"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "operator": "!=",
                                        "value": "minecraft:porkchop"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "operator": "!=",
                                        "value": "minecraft:rabbit"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "operator": "!=",
                                        "value": "minecraft:muttonRaw"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "operator": "!=",
                                        "value": "minecraft:cod"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "operator": "!=",
                                        "value": "minecraft:chicken"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "operator": "!=",
                                        "value": "minecraft:salmon"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "operator": "!=",
                                        "value": "dds_camping:marshmallow"
                                    }
                                ]
                            },
                            "event": "dds_camping:toggle_door"
                        },
                        "swing": true,
                        "interact_text": "action.interact.structure_open"
                    },
                    {
                        "on_interact": {
                            "filters": {
                                "all_of": [
                                    {
                                        "test": "has_component",
                                        "value": "minecraft:is_sheared"
                                    },
                                    {
                                        "test": "is_sneaking",
                                        "subject": "other",
                                        "value": false
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "operator": "!=",
                                        "value": "minecraft:chicken"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "operator": "!=",
                                        "value": "minecraft:beef"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "operator": "!=",
                                        "value": "minecraft:porkchop"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "operator": "!=",
                                        "value": "minecraft:rabbit"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "operator": "!=",
                                        "value": "minecraft:muttonRaw"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "operator": "!=",
                                        "value": "minecraft:cod"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "operator": "!=",
                                        "value": "minecraft:chicken"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "operator": "!=",
                                        "value": "minecraft:salmon"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "operator": "!=",
                                        "value": "dds_camping:marshmallow"
                                    },
									{
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "operator": "!=",
                                        "value": "dds_camping:bobcat_meat"
                                    },
									{
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "operator": "!=",
                                        "value": "minecraft:potato"
                                    },
									{
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "operator": "!=",
                                        "value": "minecraft:kelp"
                                    }
                                ]
                            },
                            "event": "dds_camping:toggle_door"
                        },
                        "swing": true,
                        "interact_text": "action.interact.structure_close"
                    },
                    {
                        "on_interact": {
                            "filters": {
                                "all_of": [
                                    {
                                        "test": "has_component",
                                        "subject": "self",
                                        "value": "minecraft:is_sheared"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "value": "minecraft:chicken"
                                    }
                                ]
                            },
                            "event": "dds_camping:cook_chicken"
                        },
                        "cooldown": 2,
                        "use_item": true,
                        "interact_text": "action.interact.cook_food"
                    },
                    {
                        "on_interact": {
                            "filters": {
                                "all_of": [
                                    {
                                        "test": "has_component",
                                        "subject": "self",
                                        "value": "minecraft:is_sheared"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "value": "minecraft:beef"
                                    }
                                ]
                            },
                            "event": "dds_camping:cook_beef"
                        },
                        "cooldown": 2,
                        "use_item": true,
                        "interact_text": "action.interact.cook_food"
                    },
                    {
                        "on_interact": {
                            "filters": {
                                "all_of": [
                                    {
                                        "test": "has_component",
                                        "subject": "self",
                                        "value": "minecraft:is_sheared"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "value": "minecraft:porkchop"
                                    }
                                ]
                            },
                            "event": "dds_camping:cook_porkchop"
                        },
                        "cooldown": 2,
                        "use_item": true,
                        "interact_text": "action.interact.cook_food"
                    },
                    {
                        "on_interact": {
                            "filters": {
                                "all_of": [
                                    {
                                        "test": "has_component",
                                        "subject": "self",
                                        "value": "minecraft:is_sheared"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "value": "minecraft:rabbit"
                                    }
                                ]
                            },
                            "event": "dds_camping:cook_rabbit"
                        },
                        "cooldown": 2,
                        "use_item": true,
                        "interact_text": "action.interact.cook_food"
                    },
                    {
                        "on_interact": {
                            "filters": {
                                "all_of": [
                                    {
                                        "test": "has_component",
                                        "subject": "self",
                                        "value": "minecraft:is_sheared"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "value": "minecraft:muttonRaw"
                                    }
                                ]
                            },
                            "event": "dds_camping:cook_mutton"
                        },
                        "cooldown": 2,
                        "use_item": true,
                        "interact_text": "action.interact.cook_food"
                    },
                    {
                        "on_interact": {
                            "filters": {
                                "all_of": [
                                    {
                                        "test": "has_component",
                                        "subject": "self",
                                        "value": "minecraft:is_sheared"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "value": "minecraft:cod"
                                    }
                                ]
                            },
                            "event": "dds_camping:cook_cod"
                        },
                        "cooldown": 2,
                        "use_item": true,
                        "interact_text": "action.interact.cook_food"
                    },
                    {
                        "on_interact": {
                            "filters": {
                                "all_of": [
                                    {
                                        "test": "has_component",
                                        "subject": "self",
                                        "value": "minecraft:is_sheared"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "value": "minecraft:salmon"
                                    }
                                ]
                            },
                            "event": "dds_camping:cook_salmon"
                        },
                        "cooldown": 2,
                        "use_item": true,
                        "interact_text": "action.interact.cook_food"
                    },
                    {
                        "on_interact": {
                            "filters": {
                                "all_of": [
                                    {
                                        "test": "has_component",
                                        "subject": "self",
                                        "value": "minecraft:is_sheared"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "value": "dds_camping:marshmallow"
                                    }
                                ]
                            },
                            "event": "dds_camping:cook_marshmallow"
                        },
                        "cooldown": 2,
                        "use_item": true,
                        "interact_text": "action.interact.cook_food"
                    },
                    {
                        "on_interact": {
                            "filters": {
                                "all_of": [
                                    {
                                        "test": "has_component",
                                        "subject": "self",
                                        "value": "minecraft:is_sheared"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "value": "dds_camping:bobcat_meat"
                                    }
                                ]
                            },
                            "event": "dds_camping:cook_bobcat_meat"
                        },
                        "cooldown": 2,
                        "use_item": true,
                        "interact_text": "action.interact.cook_food"
                    },
                    {
                        "on_interact": {
                            "filters": {
                                "all_of": [
                                    {
                                        "test": "has_component",
                                        "subject": "self",
                                        "value": "minecraft:is_sheared"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "value": "minecraft:potato"
                                    }
                                ]
                            },
                            "event": "dds_camping:cook_potato"
                        },
                        "cooldown": 2,
                        "use_item": true,
                        "interact_text": "action.interact.cook_food"
                    },
                    {
                        "on_interact": {
                            "filters": {
                                "all_of": [
                                    {
                                        "test": "has_component",
                                        "subject": "self",
                                        "value": "minecraft:is_sheared"
                                    },
                                    {
                                        "test": "has_equipment",
                                        "subject": "other",
                                        "value": "minecraft:kelp"
                                    }
                                ]
                            },
                            "event": "dds_camping:cook_kelp"
                        },
                        "cooldown": 2,
                        "use_item": true,
                        "interact_text": "action.interact.cook_food"
                    }
                ]
            },
            "minecraft:health": {
                "value": 1,
                "max": 1,
                "min": 1
            },
			"minecraft:type_family": {
				"family": [
					"campfire"
				]
			},
            "minecraft:nameable": {},
            "minecraft:collision_box": {
              "width": 0.01,
              "height": 0.01
            },
            "minecraft:custom_hit_test": {
              "hitboxes": [
                {
                  "width": 1,
                  "height": 1,
                  "pivot": [0,0.5,0]
                }
              ]
            },
            "minecraft:jump.static": {},
            "minecraft:physics": {
                "has_gravity": false,
                "has_collision": false
            },
            "minecraft:knockback_resistance": {
                "value": 100
            },
            "minecraft:pushable": {
                "is_pushable": false,
                "is_pushable_by_piston": false
            },
            "minecraft:damage_sensor": {
                "triggers": [
                    {
                        "cause": "all",
                        "deals_damage": false
                    }
                ]
            }
        },
        "events": {
            "minecraft:entity_spawned": {
                "add": {"component_groups": ["default"]}
            },
            "dds_camping:after_spawn": {
                "add": {
                    "component_groups": ["origin"]
                },
                "remove": {
                    "component_groups": ["default"]
                }
            },
            "dds_camping:demolish_structure": {
                "add": {"component_groups": ["dds_camping:item_scale","gravity"]}
            },
            "dds_camping:spawn_item": {
                "remove": {
                    "component_groups": ["dds_camping:item_scale"]
                },
                "add": {
                    "component_groups": ["dds_camping:available_item"]
                }
            },
            "dds_camping:toggle_door": {
                "sequence": [
                    {
                        "filters": {
                            "test": "has_component",
                            "operator": "!=",
                            "value": "minecraft:is_sheared"
                        },
                        "add": {
                            "component_groups": ["dds_camping:door"]
                        }
                    },
                    {
                        "filters": {
                            "test": "has_component",
                            "value": "minecraft:is_sheared"
                        },
                        "remove": {
                            "component_groups": ["dds_camping:door"]
                        }
                    }
                ]
            },
            "dds_camping:cook_chicken": {
                "add": {
                    "component_groups": ["dds_camping:chicken"]
                },
                "remove": {
                    "component_groups": ["dds_camping:door"]
                }
            },
            "dds_camping:cook_beef": {
                "add": {
                    "component_groups": ["dds_camping:beef"]
                },
                "remove": {
                    "component_groups": ["dds_camping:door"]
                }
            },
            "dds_camping:cook_porkchop": {
                "add": {
                    "component_groups": ["dds_camping:porkchop"]
                },
                "remove": {
                    "component_groups": ["dds_camping:door"]
                }
            },
            "dds_camping:cook_mutton": {
                "add": {
                    "component_groups": ["dds_camping:mutton"]
                },
                "remove": {
                    "component_groups": ["dds_camping:door"]
                }
            },
            "dds_camping:cook_rabbit": {
                "add": {
                    "component_groups": ["dds_camping:rabbit"]
                },
                "remove": {
                    "component_groups": ["dds_camping:door"]
                }
            },
            "dds_camping:cook_cod": {
                "add": {
                    "component_groups": ["dds_camping:cod"]
                },
                "remove": {
                    "component_groups": ["dds_camping:door"]
                }
            },
            "dds_camping:cook_salmon": {
                "add": {
                    "component_groups": ["dds_camping:salmon"]
                },
                "remove": {
                    "component_groups": ["dds_camping:door"]
                }
            },
            "dds_camping:cook_marshmallow": {
                "add": {
                    "component_groups": ["dds_camping:marshmallow"]
                },
                "remove": {
                    "component_groups": ["dds_camping:door"]
                }
            },
            "dds_camping:cook_bobcat_meat": {
                "add": {
                    "component_groups": [
                        "dds_camping:bobcat_meat"
                    ]
                },
                "remove": {
                    "component_groups": [
                        "dds_camping:door"
                    ]
                }
            },
            "dds_camping:cook_potato": {
                "add": {
                    "component_groups": [
                        "dds_camping:potato"
                    ]
                },
                "remove": {
                    "component_groups": [
                        "dds_camping:door"
                    ]
                }
            },
            "dds_camping:cook_kelp": {
                "add": {
                    "component_groups": [
                        "dds_camping:kelp"
                    ]
                },
                "remove": {
                    "component_groups": [
                        "dds_camping:door"
                    ]
                }
            },
            "dds_camping:cook_time": {
                "sequence": [
                    {
                        "filters": {
                            "test": "has_component",
                            "subject": "self",
                            "operator": "!=",
                            "value": "minecraft:is_sheared"
                        },
                        "add": {
                            "component_groups": ["dds_camping:is_cooked", "dds_camping:door"]
                        }
                    },
                    {
                        "filters": {
                            "test": "has_component",
                            "subject": "self",
                            "value": "minecraft:is_sheared"
                        },
                        "remove": {
                            "component_groups": ["dds_camping:is_cooked"]
                        },
                        "add": {
                            "component_groups": ["dds_camping:default_item"]
                        }
                    }
                ]
            },
            "dds_camping:origin": {
                "add": {"component_groups": ["origin"]}
            }
        }
    }
}