{
  "format_version": "1.26.0",
  "minecraft:entity": {
    "description": {
      "identifier": "minecraft:rabbit",
      "spawn_category": "creature",
      "is_spawnable": true,
      "is_summonable": true
    },

    "component_groups": {
      "baby": {
        "minecraft:is_baby": {},
        "minecraft:ageable": {
          "duration": 1200,
          "feed_items": ["golden_carrot", "carrot", "dandelion"],
          "grow_up": {
            "event": "grow_up",
            "target": "self"
          }
        },
        "minecraft:behavior.follow_parent": {
          "priority": 6,
          "speed_multiplier": 1.1
        },
        "minecraft:collision_box": {
          "width": 0.24,
          "height": 0.4
        }
      },

      "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/rabbit.json"
        },
        "minecraft:leashable_to": {},
        "minecraft:behavior.breed": {
          "priority": 2,
          "speed_multiplier": 1.0
        },
        "minecraft:breedable": {
          "breed_items": ["golden_carrot", "carrot", "dandelion"],
          "breeds_with": {
            "minecraft:rabbit": {}
          },
          "require_tame": false
        },
        "minecraft:collision_box": {
          "width": 0.49,
          "height": 0.6
        }
      },

      "coat_brown": {
        "minecraft:variant": { "value": 0 }
      },
      "coat_white": {
        "minecraft:variant": { "value": 1 }
      },
      "coat_black": {
        "minecraft:variant": { "value": 2 }
      },
      "coat_splotched": {
        "minecraft:variant": { "value": 3 }
      },
      "coat_desert": {
        "minecraft:variant": { "value": 4 }
      },
      "coat_salt": {
        "minecraft:variant": { "value": 5 }
      }
    },

    "components": {
      "minecraft:is_hidden_when_invisible": {},
      "minecraft:type_family": {
        "family": ["rabbit", "lightweight", "mob"]
      },

      "minecraft:breathable": {
        "total_supply": 15,
        "suffocate_time": 0
      },
      "minecraft:nameable": {},
      "minecraft:offspring": {
        "offspring_pairs": {
          "minecraft:rabbit": "minecraft:rabbit"
        },
        "mutation_factor": {
          "variant": 0.2
        }
      },
      "minecraft:spawn_egg_interaction": {},
      "minecraft:health": {
        "value": 3,
        "max": 3
      },
      "minecraft:hurt_on_condition": {
        "damage_conditions": [
          {
            "filters": {
              "test": "in_lava",
              "subject": "self",
              "operator": "==",
              "value": true
            },
            "cause": "lava",
            "damage_per_tick": 4
          }
        ]
      },
      "minecraft:movement": {
        "value": 0.3
      },
      "minecraft:navigation.walk": {
        "can_path_over_water": true,
        "avoid_water": true
      },
      "minecraft:movement.skip": {},
      "minecraft:jump.dynamic": {
          "regular_skip_data": {
            "distance_scale": 0.8,
            "height": 0.25,
            "jump_delay": 15,
            "animation_duration": 18
          },
          "fast_skip_data": {
            "distance_scale": 1.75,
            "height": 0.25,
            "jump_delay": 7,
            "animation_duration": 15
          }
        },
      "minecraft:can_climb": {},
      "minecraft:leashable": {},
      "minecraft:balloonable": {
        "mass": 0.4
      },
      "minecraft:despawn": {
        "despawn_from_distance": {}
      },
      "minecraft:behavior.float": {
        "priority": 0
      },
      "minecraft:behavior.panic": {
        "priority": 1,
        "speed_multiplier": 2.2
      },
      "minecraft:behavior.avoid_mob_type": {
        "priority": 4,
        "entity_types": [
          {
            "filters": {
              "test": "is_family",
              "subject": "other",
              "value": "player"
            },
            "max_dist": 8,
            "walk_speed_multiplier": 1.5,
            "sprint_speed_multiplier": 1.8
          },
          {
            "filters": {
              "test": "is_family",
              "subject": "other",
              "value": "wolf"
            },
            "max_dist": 4,
            "walk_speed_multiplier": 1.5,
            "sprint_speed_multiplier": 1.8
          },
          {
            "filters": {
              "test": "is_family",
              "subject": "other",
              "value": "monster"
            },
            "max_dist": 4,
            "walk_speed_multiplier": 1.5,
            "sprint_speed_multiplier": 1.5
          }
        ]
      },
      "minecraft:behavior.breed": {
        "priority": 2,
        "speed_multiplier": 0.8
      },
      "minecraft:behavior.tempt": {
        "priority": 3,
        "speed_multiplier": 1,
        "items": ["golden_carrot", "carrot", "dandelion"]
      },
      "minecraft:behavior.raid_garden": {
        "priority": 5,
        "blocks": ["minecraft:carrots"],
        "search_range": 16,
        "goal_radius": 1.0,
        "speed_multiplier": 0.6
      },
      "minecraft:behavior.random_stroll": {
        "priority": 6,
        "speed_multiplier": 0.6,
        "xz_dist": 2,
        "y_dist": 1
      },
      "minecraft:behavior.look_at_player": {
        "priority": 11
      },
      "minecraft:physics": {},
      "minecraft:pushable": {
        "is_pushable": true,
        "is_pushable_by_piston": true
      },
      "minecraft:conditional_bandwidth_optimization": {},
      "minecraft:block_climber": {}
    },

    "events": {
      "in_desert": { "add": { "component_groups": ["coat_desert"] } },

      "in_snow": {
        "randomize": [
          {
            "weight": 80,
            "add": { "component_groups": ["coat_white"] }
          },
          {
            "weight": 20,
            "add": { "component_groups": ["coat_splotched"] }
          }
        ]
      },

      "minecraft:entity_spawned": {
        "sequence": [
          {
            "randomize": [
              {
                "weight": 3,
                "add": { "component_groups": ["adult"] }
              },
              {
                "weight": 1,
                "add": { "component_groups": ["baby"] }
              }
            ]
          },
          {
            "filters": {
              "test": "has_component",
              "operator": "!=",
              "value": "minecraft:variant"
            },
            "randomize": [
              {
                "weight": 50,
                "add": { "component_groups": ["coat_brown"] }
              },
              {
                "weight": 40,
                "add": { "component_groups": ["coat_black"] }
              },
              {
                "weight": 10,
                "add": { "component_groups": ["coat_salt"] }
              }
            ]
          },
          {
            "filters": { "test": "is_biome", "value": "desert" },
            "add": { "component_groups": ["coat_desert"] }
          },
          {
            "filters": { "test": "is_snow_covered", "value": true },
            "randomize": [
              {
                "weight": 80,
                "add": { "component_groups": ["coat_white"] }
              },
              {
                "weight": 20,
                "add": { "component_groups": ["coat_splotched"] }
              }
            ]
          }
        ]
      },

      "minecraft:entity_born": {
        "sequence": [
          { "add": { "component_groups": ["baby"] } },
          {
            "filters": {
              "test": "has_component",
              "operator": "!=",
              "value": "minecraft:variant"
            },
            "randomize": [
              {
                "weight": 50,
                "add": { "component_groups": ["coat_brown"] }
              },
              {
                "weight": 40,
                "add": { "component_groups": ["coat_black"] }
              },
              {
                "weight": 10,
                "add": { "component_groups": ["coat_salt"] }
              }
            ]
          },
          {
            "filters": { "test": "is_biome", "value": "desert" },
            "add": { "component_groups": ["coat_desert"] }
          },
          {
            "filters": { "test": "is_snow_covered", "value": true },
            "randomize": [
              {
                "weight": 80,
                "add": { "component_groups": ["coat_white"] }
              },
              {
                "weight": 20,
                "add": { "component_groups": ["coat_splotched"] }
              }
            ]
          }
        ]
      },

      "grow_up": {
        "remove": { "component_groups": ["baby"] },
        "add": { "component_groups": ["adult"] }
      }
    }
  }
}
