{
   "format_version":"1.21.0",
   "minecraft:entity":{
      "description":{
         "identifier":"sgs_farm:shire_horse",
         "is_spawnable":true,
         "is_summonable":true,
         "is_experimental":false,
         "animations":{
            "sound_engine":"animation.sgs_farm.sound.tractor_engine",
            "sound_startup":"animation.sgs_farm.sound.tractor_startup",
			
            "refresh_tool":"animation.sgs_farm.tractor.refresh_tool",
            "control_ride":"controller.animation.sgs_farm.ride",
            "control_sound":"controller.animation.sgs_farm.sound"
         },
         "scripts":{
            "animate":[
               "control_ride",
               "refresh_tool"
            ]
         },
         "properties":{
            "sgs_farm:tool_active":{
               "type":"bool",
               "client_sync":true,
               "default":false
            },
            "sgs_farm:harness":{
               "type":"bool",
               "client_sync":true,
               "default":false
            },
            "sgs_farm:harvest":{
               "type":"bool",
               "client_sync":true,
               "default":false
            },
            "sgs_farm:seed":{
               "type":"bool",
               "client_sync":true,
               "default":false
            },
            "sgs_farm:plough":{
               "type":"bool",
               "client_sync":true,
               "default":false
            },
            "sgs_farm:cargo":{
               "type":"bool",
               "client_sync":true,
               "default":false
            }
         }
      },
      "component_groups":{
         "sgs_farm:horse_baby":{
            "minecraft:is_baby":{
               
            },
            "minecraft:scale_by_age":{
               "start_scale":0.5,
               "end_scale":1.0
            },
            "minecraft:ageable":{
               "duration":1200,
               "feed_items":[
                  {
                     "item":"wheat",
                     "growth":0.016667
                  },
                  {
                     "item":"sugar",
                     "growth":0.025
                  },
                  {
                     "item":"hay_block",
                     "growth":0.15
                  },
                  {
                     "item":"apple",
                     "growth":0.05
                  },
                  {
                     "item":"golden_carrot",
                     "growth":0.05
                  },
                  {
                     "item":"golden_apple",
                     "growth":0.2
                  },
                  {
                     "item":"appleEnchanted",
                     "growth":0.2
                  }
               ],
               "grow_up":{
                  "event":"evt:ageable_grow_up",
                  "target":"self"
               }
            },
            "minecraft:behavior.follow_parent":{
               "priority":4,
               "speed_multiplier":1.0
            }
         },
         "sgs_farm:horse_adult":{
            "minecraft:experience_reward":{
               "on_bred":"Math.Random(1,7)",
               "on_death":"query.last_hit_by_player ? Math.Random(1,3) : 0"
            },
            "minecraft:loot":{
               "table":"loot_tables/entities/horse.json"
            },
            "minecraft:behavior.run_around_like_crazy":{
               "priority":1,
               "speed_multiplier":1.2
            },
            "minecraft:behavior.breed":{
               "priority":2,
               "speed_multiplier":1.0
            }
         },
         "sgs_farm:horse_wild":{
            "minecraft:rideable":{
               "seat_count":1,
               "family_types":[
                  "player"
               ],
               "interact_text":"action.interact.mount",
               "seats":{
                  "position":[
                     0,
                     1.5,
                     -0.3
                  ],
                  "min_rider_count":0,
                  "max_rider_count":1
               }
            },
            "minecraft:behavior.mount_pathing":{
               "priority":2,
               "speed_multiplier":1.5,
               "target_dist":0.0,
               "track_target":true
            },
            "minecraft:tamemount":{
               "min_temper":0,
               "max_temper":100,
               "feed_text":"action.interact.feed",
               "ride_text":"action.interact.mount",
               "feed_items":[
                  {
                     "item":"wheat",
                     "temper_mod":3
                  },
                  {
                     "item":"sugar",
                     "temper_mod":3
                  },
                  {
                     "item":"apple",
                     "temper_mod":3
                  },
                  {
                     "item":"golden_carrot",
                     "temper_mod":5
                  },
                  {
                     "item":"golden_apple",
                     "temper_mod":10
                  },
                  {
                     "item":"appleEnchanted",
                     "temper_mod":10
                  }
               ],
               "auto_reject_items":[
                  {
                     "item":"horsearmorleather"
                  },
                  {
                     "item":"horsearmoriron"
                  },
                  {
                     "item":"horsearmorgold"
                  },
                  {
                     "item":"horsearmordiamond"
                  },
                  {
                     "item":"saddle"
                  }
               ],
               "tame_event":{
                  "event":"evt:on_tame",
                  "target":"self"
               }
            }
         },
         "sgs_farm:horse_tamed":{
            "minecraft:is_tamed":{
               
            },
            "minecraft:rideable":{
               "seat_count":1,
               "crouching_skip_interact":true,
               "family_types":[
                  "player"
               ],
               "interact_text":"action.interact.ride.horse",
               "seats":{
                  "position":[
                     0,
                     1.5,
                     -0.3
                  ]
               }
            },
            "minecraft:interact":{
               "interactions":[
                  {
                     "play_sounds":"saddle",
                     "on_interact":{
                        "filters":{
                           "all_of":[
                              {
                                 "test":"has_equipment",
                                 "subject":"other",
                                 "domain":"hand",
                                 "value":"sgs_farm:harness"
                              },
                              {
                                 "test":"is_family",
                                 "subject":"other",
                                 "value":"player"
                              },
                              {
                                 "test":"is_sneak_held",
                                 "subject":"other",
                                 "value":false
                              },
                              {
                                 "test":"has_component",
                                 "subject":"self",
                                 "operator":"not",
                                 "value":"minecraft:is_saddled"
                              }
                           ]
                        },
                        "target":"self",
                        "event":"evt:on_harness"
                     },
                     "take_item":true,
                     "interact_text":"action.interact.saddle"
                  }
               ]
            },
            "minecraft:breedable":{
               "parent_centric_attribute_blending":[
                  "minecraft:health",
                  "minecraft:movement",
                  "minecraft:horse.jump_strength"
               ],
               "require_tame":true,
               "inherit_tamed":false,
               "breeds_with":[
                  {
                     "mate_type":"sgs_farm:shire_horse",
                     "baby_type":"sgs_farm:shire_horse",
                     "breed_event":{
                        "event":"minecraft:entity_born",
                        "target":"baby"
                     }
                  }
               ],
               "breed_items":[
                  "golden_carrot",
                  "golden_apple",
                  "appleEnchanted"
               ],
               "mutation_factor":{
                  "extra_variant":0.2,
                  "variant":0.111
               },
               "mutation_strategy":"random",
               "random_variant_mutation_interval":[
                  0,
                  7
               ],
               "random_extra_variant_mutation_interval":[
                  0,
                  5
               ]
            }
         },
         "sgs_farm:horse_saddled":{
            
         },
         "sgs_farm:horse_shire_brown":{
            "minecraft:variant":{
               "value":0
            }
         },
         "sgs_farm:horse_shire_chestnut":{
            "minecraft:variant":{
               "value":1
            }
         },
         "sgs_farm:horse_shire_creamy":{
            "minecraft:variant":{
               "value":2
            }
         },
         "sgs_farm:horse_shire_gray":{
            "minecraft:variant":{
               "value":3
            }
         },
         "sgs_farm:horse_pulling":{
            "minecraft:horse.jump_strength":{
               "value":{
                  "range_min":0.0,
                  "range_max":0.0
               }
            },
            "minecraft:behavior.random_stroll":{
               "priority":6,
               "speed_multiplier":0.0,
               "xz_dist":0
            },
            "minecraft:behavior.random_look_around":{
               "priority":8,
               "max_angle_of_view_horizontal":0,
               "min_angle_of_view_horizontal":0
            },
            "minecraft:behavior.look_at_player":{
               "priority":7,
               "look_distance":0.0,
               "probability":0.0
            }
         },
         "sgs_farm:horse_not_pulling":{
            "minecraft:horse.jump_strength":{
               "value":{
                  "range_min":0.75,
                  "range_max":0.75
               }
            },
            "minecraft:behavior.random_stroll":{
               "priority":6,
               "speed_multiplier":0.7
            },
            "minecraft:behavior.random_look_around":{
               "priority":8
            },
            "minecraft:behavior.look_at_player":{
               "priority":7,
               "look_distance":6.0,
               "probability":0.02
            }
         },
         "sgs_farm:harnessed":{
            "minecraft:inventory":{
               "inventory_size":16,
               "container_type":"horse"
            },
            "minecraft:is_chested":{
               
            },
            "minecraft:is_saddled":{
               
            },
            "minecraft:input_ground_controlled":{
               
            },
            "minecraft:can_power_jump":{
               
            },
            "minecraft:behavior.player_ride_tamed":{
               
            }
         }
      },
      "components":{
         "minecraft:is_hidden_when_invisible":{
            
         },
         "minecraft:damage_sensor":{
            "triggers":{
               "cause":"fall",
               "deals_damage":false
            }
         },
         "minecraft:equippable":{
            "slots":[
               {
                  "slot":0,
                  "item":"attachment",
                  "accepted_items":[
                     "sgs_farm:cart_seed",
                     "sgs_farm:cart_harvest",
                     "sgs_farm:cart_plough",
                     "sgs_farm:cart_cargo"
                  ]
               }
            ]
         },
         "minecraft:type_family":{
            "family":[
               "sgs_farm_shire_horse",
               "horse",
               "mob"
            ]
         },
         "minecraft:breathable":{
            "total_supply":15,
            "suffocate_time":0
         },
         "minecraft:collision_box":{
            "width":1.4,
            "height":1.6
         },
         "minecraft:health":{
            "value":{
               "range_min":20,
               "range_max":40
            }
         },
         "minecraft:hurt_on_condition":{
            "damage_conditions":[
               {
                  "filters":{
                     "test":"in_lava",
                     "subject":"self",
                     "operator":"==",
                     "value":true
                  },
                  "cause":"lava",
                  "damage_per_tick":4
               }
            ]
         },
         "minecraft:movement":{
            "value":{
               "range_min":0.14,
               "range_max":0.24
            }
         },
         "minecraft:navigation.walk":{
            "can_path_over_water":true,
            "avoid_water":true,
            "avoid_damage_blocks":true
         },
         "minecraft:movement.basic":{
            
         },
         "minecraft:jump.static":{
            
         },
         "minecraft:nameable":{
            
         },
		 "minecraft:variable_max_auto_step": {
			"base_value": 1.5625,
			"controlled_value": 1.5625,
			"jump_prevented_value": 0.5625
		 },
         "minecraft:horse.jump_strength":{
            "value":{
               "range_min":0.75,
               "range_max":0.75
            }
         },
         "minecraft:leashable":{
            "soft_distance":4.0,
            "hard_distance":6.0,
            "max_distance":10.0
         },
         "minecraft:balloonable":{
            
         },
         "minecraft:healable":{
            "items":[
               {
                  "item":"wheat",
                  "heal_amount":2
               },
               {
                  "item":"sugar",
                  "heal_amount":1
               },
               {
                  "item":"hay_block",
                  "heal_amount":20
               },
               {
                  "item":"apple",
                  "heal_amount":3
               },
               {
                  "item":"golden_carrot",
                  "heal_amount":4
               },
               {
                  "item":"golden_apple",
                  "heal_amount":10
               },
               {
                  "item":"appleEnchanted",
                  "heal_amount":10
               }
            ]
         },
         "minecraft:despawn":{
            "despawn_from_distance":{
               
            }
         },
         "minecraft:behavior.float":{
            "priority":0
         },
         "minecraft:behavior.panic":{
            "priority":3,
            "speed_multiplier":1.2
         },
         "minecraft:behavior.tempt":{
            "priority":5,
            "speed_multiplier":1.2,
            "items":[
               "golden_apple",
               "appleEnchanted",
               "golden_carrot"
            ]
         },
         "minecraft:behavior.random_stroll":{
            "priority":6,
            "speed_multiplier":0.7
         },
         "minecraft:behavior.look_at_player":{
            "priority":7,
            "look_distance":6.0,
            "probability":0.02
         },
         "minecraft:behavior.random_look_around":{
            "priority":8
         },
         "minecraft:physics":{
            
         },
         "minecraft:pushable":{
            "is_pushable":true,
            "is_pushable_by_piston":true
         },
         "minecraft:conditional_bandwidth_optimization":{
            
         }
      },
      "events":{
         "minecraft:entity_spawned":{
            "sequence":[
               {
                  "randomize":[
                     {
                        "weight":36,
                        "add":{
                           "component_groups":[
                              "sgs_farm:horse_adult",
                              "sgs_farm:horse_wild"
                           ]
                        }
                     },
                     {
                        "weight":9,
                        "add":{
                           "component_groups":[
                              "sgs_farm:horse_baby"
                           ]
                        }
                     }
                  ]
               },
               {
                  "randomize":[
                     {
                        "weight":1,
                        "add":{
                           "component_groups":[
                              "sgs_farm:horse_shire_brown"
                           ]
                        }
                     },
                     {
                        "weight":1,
                        "add":{
                           "component_groups":[
                              "sgs_farm:horse_shire_chestnut"
                           ]
                        }
                     },
                     {
                        "weight":1,
                        "add":{
                           "component_groups":[
                              "sgs_farm:horse_shire_creamy"
                           ]
                        }
                     },
                     {
                        "weight":1,
                        "add":{
                           "component_groups":[
                              "sgs_farm:horse_shire_gray"
                           ]
                        }
                     }
                  ]
               }
            ]
         },
         "minecraft:entity_born":{
            "add":{
               "component_groups":[
                  "sgs_farm:horse_baby"
               ]
            }
         },
         "evt:spawn_adult":{
            "add":{
               "component_groups":[
                  "sgs_farm:horse_adult",
                  "sgs_farm:horse_wild"
               ]
            }
         },
         "evt:on_tame":{
            "remove":{
               "component_groups":[
                  "sgs_farm:horse_wild"
               ]
            },
            "add":{
               "component_groups":[
                  "sgs_farm:horse_tamed"
               ]
            }
         },
         "evt:ageable_grow_up":{
            "remove":{
               "component_groups":[
                  "sgs_farm:horse_baby"
               ]
            },
            "add":{
               "component_groups":[
                  "sgs_farm:horse_adult",
                  "sgs_farm:horse_wild"
               ]
            }
         },
         "evt:horse_saddled":{
            "add":{
               "component_groups":[
                  "sgs_farm:horse_saddled"
               ]
            }
         },
         "evt:horse_unsaddled":{
            "remove":{
               "component_groups":[
                  "sgs_farm:horse_saddled"
               ]
            }
         },
         "evt:horse_shire_brown":{
            "add":{
               "component_groups":[
                  "sgs_farm:horse_shire_brown"
               ]
            }
         },
         "evt:horse_shire_chestnut":{
            "add":{
               "component_groups":[
                  "sgs_farm:horse_shire_chestnut"
               ]
            }
         },
         "evt:horse_shire_creamy":{
            "add":{
               "component_groups":[
                  "sgs_farm:horse_shire_creamy"
               ]
            }
         },
         "evt:horse_shire_gray":{
            "add":{
               "component_groups":[
                  "sgs_farm:horse_shire_gray"
               ]
            }
         },
         "evt:on_harness":{
            "set_property":{
               "sgs_farm:harness":true
            },
            "add":{
               "component_groups":[
                  "sgs_farm:harnessed"
               ]
            }
         },
         "evt:variant_harvest":{
            "set_property":{
               "sgs_farm:harvest":true,
               "sgs_farm:seed":false,
               "sgs_farm:plough":false,
               "sgs_farm:cargo":false
            },
            "remove":{
               "component_groups":[
                  "sgs_farm:horse_not_pulling"
               ]
            },
            "add":{
               "component_groups":[
                  "sgs_farm:horse_pulling"
               ]
            }
         },
         "evt:variant_seed":{
            "set_property":{
               "sgs_farm:harvest":false,
               "sgs_farm:seed":true,
               "sgs_farm:plough":false,
               "sgs_farm:cargo":false
            },
            "remove":{
               "component_groups":[
                  "sgs_farm:horse_not_pulling"
               ]
            },
            "add":{
               "component_groups":[
                  "sgs_farm:horse_pulling"
               ]
            }
         },
         "evt:variant_plough":{
            "set_property":{
               "sgs_farm:harvest":false,
               "sgs_farm:seed":false,
               "sgs_farm:plough":true,
               "sgs_farm:cargo":false
            },
            "remove":{
               "component_groups":[
                  "sgs_farm:horse_not_pulling"
               ]
            },
            "add":{
               "component_groups":[
                  "sgs_farm:horse_pulling"
               ]
            }
         },
         "evt:variant_cargo":{
            "set_property":{
               "sgs_farm:harvest":false,
               "sgs_farm:seed":false,
               "sgs_farm:plough":false,
               "sgs_farm:cargo":true
            },
            "remove":{
               "component_groups":[
                  "sgs_farm:horse_not_pulling"
               ]
            },
            "add":{
               "component_groups":[
                  "sgs_farm:horse_pulling"
               ]
            }
         },
         "evt:variant_none":{
            "set_property":{
               "sgs_farm:harvest":false,
               "sgs_farm:seed":false,
               "sgs_farm:plough":false,
               "sgs_farm:cargo":false
            },
            "remove":{
               "component_groups":[
                  "sgs_farm:horse_pulling"
               ]
            },
            "add":{
               "component_groups":[
                  "sgs_farm:horse_not_pulling"
               ]
            }
         }
      }
   }
}