{
   "format_version":"1.21.0",
   "minecraft:entity":{
      "description":{
         "identifier":"true:german_shepherd",
         "spawn_category":"creature",
         "is_spawnable":true,
         "is_summonable":true
      },
      "component_groups":{
         "true:wild":{
            "minecraft:variant":{
               "value":0
            },
            "minecraft:type_family":{
               "family":[
                  "wild_dog",
                  "animal"
               ]
            },
            "minecraft:health":{
               "value":25,
               "max":25
            },
            "minecraft:scale":{
               "value":1.2
            },
            "minecraft:movement":{
               "value":0.32
            },
            "minecraft:despawn":{
               "filters":{
                  "test":"distance_to_nearest_player",
                  "subject":"self",
                  "operator":">",
                  "value":64
               }
            },
            "minecraft:tameable":{
               "tame_items":"true:meaty_bone",
               "probability":0.22,
               "tame_event":{
                  "event":"minecraft:on_tame",
                  "target":"self"
               }
            },
            "minecraft:damage_sensor":{
               "triggers":[
                  {
                     "on_damage":{
                        "filters":{
                           "all_of":[
                              {
                                 "test":"has_damage",
                                 "value":"fatal"
                              }
                           ]
                        },
                        "event":"true:death"
                     }
                  }
               ]
            }
         },
         "true:default":{
            "minecraft:variant":{
               "value":1
            },
            "minecraft:is_tamed":{
               
            },
            "minecraft:type_family":{
               "family":[
                  "tamed_dog"
               ]
            },
            "minecraft:behavior.nearest_attackable_target":{
               "priority":0,
               "must_see":true,
               "reselect_targets":true,
               "within_radius":16.0,
               "must_see_forget_duration":8.0,
               "entity_types":[
                  {
                     "filters":{
                        "any_of":[
                           {
                              "test":"is_family",
                              "subject":"other",
                              "value":"apocalypse"
                           }
                        ]
                     },
                     "max_dist":16
                  }
               ]
            },
            "minecraft:inventory":{
               "container_type":"container",
               "can_be_siphoned_from":true,
               "private":false,
               "restrict_to_owner":true,
               "inventory_size":27
            },
            "minecraft:healable":{
               "items":[
                  {
                     "item":"true:meaty_bone",
                     "heal_amount":10
                  }
               ]
            },
            "minecraft:breedable":{
               "require_tame":true,
               "inherit_tamed":true,
               "breeds_with":[
                  {
                     "mate_type":"true:german_shepherd",
                     "baby_type":"true:german_shepherd<true:to_baby>"
                  }
               ],
               "extra_baby_chance":0.2,
               "breed_items":[
                  "true:tin_of_dog_food"
               ]
            },
            "minecraft:behavior.breed":{
               "priority":3,
               "speed_multiplier":1.0
            },
            "minecraft:health":{
               "value":25,
               "max":25
            },
            "minecraft:scale":{
               "value":1.2
            },
            "minecraft:movement":{
               "value":0.32
            },
            "minecraft:interact":{
               "interactions":[
                  {
                     "on_interact":{
                        "filters":{
                           "all_of":[
                              {
                                 "test":"is_owner",
                                 "subject":"other",
                                 "operator":"equals",
                                 "value":true
                              },
                              {
                                 "test":"is_sneaking",
                                 "subject":"other",
                                 "operator":"equals",
                                 "value":true
                              }
                           ]
                        },
                        "event":"true:stay_put",
                        "target":"self"
                     },
                     "interact_text":"action.interact.stay"
                  }
               ]
            },
            "minecraft:behavior.follow_owner":{
               "priority":1,
               "speed_multiplier":1,
               "start_distance":10,
               "stop_distance":3
            },
            "minecraft:behavior.owner_hurt_by_target":{
               "priority":1
            },
            "minecraft:behavior.owner_hurt_target":{
               "priority":2
            },
            "minecraft:damage_sensor":{
               "triggers":[
                  {
                     "on_damage":{
                        "filters":{
                           "all_of":[
                              {
                                 "test":"has_damage",
                                 "value":"fatal"
                              }
                           ]
                        },
                        "event":"true:death"
                     }
                  }
               ]
            }
         },
         "true:idle":{
            "minecraft:variant":{
               "value":1
            },
            "minecraft:is_tamed":{
               
            },
            "minecraft:is_sheared":{
               
            },
            "minecraft:type_family":{
               "family":[
                  "tamed_dog"
               ]
            },
            "minecraft:inventory":{
               "container_type":"container",
               "can_be_siphoned_from":true,
               "private":false,
               "restrict_to_owner":true,
               "inventory_size":27
            },
            "minecraft:healable":{
               "items":[
                  {
                     "item":"true:meaty_bone",
                     "heal_amount":10
                  }
               ]
            },
            "minecraft:health":{
               "value":25,
               "max":25
            },
            "minecraft:scale":{
               "value":1.2
            },
            "minecraft:movement":{
               "value":0.0
            },
            "minecraft:interact":{
               "interactions":[
                  {
                     "on_interact":{
                        "filters":{
                           "all_of":[
                              {
                                 "test":"is_owner",
                                 "subject":"other",
                                 "operator":"equals",
                                 "value":true
                              },
                              {
                                 "test":"is_sneaking",
                                 "subject":"other",
                                 "operator":"equals",
                                 "value":true
                              }
                           ]
                        },
                        "event":"true:start_moving",
                        "target":"self"
                     },
                     "interact_text":"action.interact.follow"
                  }
               ]
            },
            "minecraft:damage_sensor":{
               "triggers":[
                  {
                     "on_damage":{
                        "filters":{
                           "all_of":[
                              {
                                 "test":"has_damage",
                                 "value":"fatal"
                              }
                           ]
                        },
                        "event":"true:death"
                     }
                  }
               ]
            }
         },
         "true:baby_default":{
            "minecraft:variant":{
               "value":1
            },
            "minecraft:type_family":{
               "family":[
                  "tamed_dog"
               ]
            },
            "minecraft:is_baby":{
               
            },
            "minecraft:is_tamed":{
               
            },
            "minecraft:health":{
               "value":15,
               "max":15
            },
            "minecraft:scale":{
               "value":0.6
            },
            "minecraft:movement":{
               "value":0.23
            },
            "minecraft:inventory":{
               "container_type":"hopper",
               "can_be_siphoned_from":true,
               "private":false,
               "restrict_to_owner":true,
               "inventory_size":5
            },
            "minecraft:interact":{
               "interactions":[
                  {
                     "on_interact":{
                        "filters":{
                           "all_of":[
                              {
                                 "test":"is_owner",
                                 "subject":"other",
                                 "operator":"equals",
                                 "value":true
                              },
                              {
                                 "test":"is_sneaking",
                                 "subject":"other",
                                 "operator":"equals",
                                 "value":true
                              }
                           ]
                        },
                        "event":"true:stay_put_baby",
                        "target":"self"
                     },
                     "interact_text":"action.interact.stay"
                  }
               ]
            },
            "minecraft:behavior.follow_owner":{
               "priority":1,
               "speed_multiplier":1,
               "start_distance":10,
               "stop_distance":3
            },
            "minecraft:ageable":{
               "duration":7200,
               "feed_items":[
                  "true:meaty_bone"
               ],
               "grow_up":{
                  "event":"true:to_grow_up",
                  "target":"self"
               }
            }
         },
         "true:baby_idle":{
            "minecraft:variant":{
               "value":1
            },
            "minecraft:type_family":{
               "family":[
                  "tamed_dog"
               ]
            },
            "minecraft:is_baby":{
               
            },
            "minecraft:is_tamed":{
               
            },
            "minecraft:is_sheared":{
               
            },
            "minecraft:health":{
               "value":15,
               "max":15
            },
            "minecraft:scale":{
               "value":0.6
            },
            "minecraft:movement":{
               "value":0.0
            },
            "minecraft:inventory":{
               "container_type":"hoper",
               "can_be_siphoned_from":true,
               "private":false,
               "restrict_to_owner":true,
               "inventory_size":5
            },
            "minecraft:interact":{
               "interactions":[
                  {
                     "on_interact":{
                        "filters":{
                           "all_of":[
                              {
                                 "test":"is_owner",
                                 "subject":"other",
                                 "operator":"equals",
                                 "value":true
                              },
                              {
                                 "test":"is_sneaking",
                                 "subject":"other",
                                 "operator":"equals",
                                 "value":true
                              }
                           ]
                        },
                        "event":"true:start_moving_baby",
                        "target":"self"
                     },
                     "interact_text":"action.interact.follow"
                  }
               ]
            },
            "minecraft:ageable":{
               "duration":7200,
               "feed_items":[
                  "true:meaty_bone"
               ],
               "grow_up":{
                  "event":"true:to_grow_up",
                  "target":"self"
               }
            }
         },
         "true:dead":{
            "minecraft:transformation":{
               "into":"true:german_shepherd_corpse<true:to_default>"
            }
         }
      },
      "components":{
         "minecraft:collision_box":{
            "width":0.6,
            "height":0.8
         },
         "minecraft:hurt_on_condition":{
            "damage_conditions":[
               {
                  "filters":{
                     "test":"in_lava",
                     "subject":"self",
                     "operator":"==",
                     "value":true
                  },
                  "cause":"lava",
                  "damage_per_tick":4
               }
            ]
         },
         "minecraft:underwater_movement":{
            "value":0.09
         },
         "minecraft:navigation.generic":{
            "can_path_over_water":false,
            "avoid_water":false,
            "avoid_damage_blocks":true,
            "can_swim":true,
            "can_breach":true,
            "can_sink":true
         },
         "minecraft:behavior.move_to_land":{
            "priority":3,
            "search_range":64,
            "search_height":5,
            "goal_radius":0.5
         },
         "minecraft:behavior.random_swim":{
            "priority":5,
            "interval":0,
            "xz_dist":20
         },
         "minecraft:jump.static":{
            
         },
         "minecraft:nameable":{
            
         },
         "minecraft:movement.basic":{
            
         },
         "minecraft:attack":{
            "damage":6
         },
         "minecraft:behavior.melee_attack":{
            "priority":3,
            "track_target":false,
            "reach_multiplier":1.0,
            "speed_multiplier":1.0
         },
         "minecraft:behavior.nearest_attackable_target":{
            "priority":0,
            "must_see":true,
            "reselect_targets":true,
            "within_radius":16.0,
            "must_see_forget_duration":8.0,
            "entity_types":[
               {
                  "filters":{
                     "any_of":[
                        {
                           "test":"is_family",
                           "subject":"other",
                           "value":"apocalypse"
                        }
                     ]
                  },
                  "max_dist":16
               }
            ]
         },
         "minecraft:behavior.hurt_by_target":{
            "priority":1
         },
         "minecraft:behavior.look_at_player":{
            "priority":7,
            "look_distance":6.0,
            "probability":0.02
         },
         "minecraft:leashable":{
            "soft_distance":4.0,
            "hard_distance":6.0,
            "max_distance":10.0
         },
         "minecraft:behavior.random_look_around":{
            "priority":9
         },
         "minecraft:behavior.float":{
            "priority":0
         },
         "minecraft:behavior.random_stroll":{
            "priority":4,
            "speed_multiplier":1.0
         },
         "minecraft:persistent":{
            
         },
         "minecraft:on_hurt_by_player":{
            "event":"true:hurt",
            "target":"self"
         },
         "minecraft:on_hurt":{
            "event":"true:hurt",
            "target":"self"
         },
         "minecraft:pushable":{
            "is_pushable":true,
            "is_pushable_by_piston":true
         },
         "minecraft:physics":{
            
         }
      },
      "events":{
         "minecraft:entity_spawned":{
            "add":{
               "component_groups":[
                  "true:wild"
               ]
            }
         },
         "true:to_baby":{
            "add":{
               "component_groups":[
                  "true:baby_default"
               ]
            }
         },
         "true:to_grow_up":{
            "add":{
               "component_groups":[
                  "true:default"
               ]
            },
            "remove":{
               "component_groups":[
                  "true:baby_default"
               ]
            }
         },
         "minecraft:on_tame":{
            "remove":{
               "component_groups":[
                  "true:wild"
               ]
            },
            "add":{
               "component_groups":[
                  "true:default"
               ]
            }
         },
         "true:stay_put":{
            "remove":{
               "component_groups":[
                  "true:default"
               ]
            },
            "add":{
               "component_groups":[
                  "true:idle"
               ]
            }
         },
         "true:start_moving":{
            "remove":{
               "component_groups":[
                  "true:idle"
               ]
            },
            "add":{
               "component_groups":[
                  "true:default"
               ]
            }
         },
         "true:stay_put_baby":{
            "remove":{
               "component_groups":[
                  "true:baby_default"
               ]
            },
            "add":{
               "component_groups":[
                  "true:baby_idle"
               ]
            }
         },
         "true:start_moving_baby":{
            "remove":{
               "component_groups":[
                  "true:baby_idle"
               ]
            },
            "add":{
               "component_groups":[
                  "true:baby_default"
               ]
            }
         },
         "true:death":{
            "add":{
               "component_groups":[
                  "true:dead"
               ]
            },
            "queue_command":{
               "command":[
                  "particle true:blood_splatter ^ ^1 ^",
                  "particle true:blood_splatter ^ ^2 ^"
               ]
            }
         },
         "true:hurt":{
            "queue_command":{
               "command":[
                  "particle true:blood_splatter ^ ^1 ^",
                  "particle true:blood_splatter ^ ^2 ^"
               ]
            }
         }
      }
   }
}