{
  "format_version": "1.18.0",
  "minecraft:entity": {
    "description": {
      "identifier": "darkgato:sled",
      "is_spawnable": true,
      "is_summonable": true,
      "is_experimental": false,
      "scripts": {
        "animate": [
          "fly",
          "movement"
        ]
      },
      "animations": {
        "fly": "controller.animation.sled.fly",
        "movement": "controller.animation.sled.movement"
      }
    },
    "component_groups": {
      "despawn_sled": {
        "minecraft:instant_despawn": {},
        "minecraft:spawn_entity": {
          "entities": [
            {
              "min_wait_time": 0,
              "max_wait_time": 0,
              "spawn_item": "darkgato:sled_spawn_egg",
              "single_use": true,
              "num_to_spawn": 1
            }
          ]
        }
      },
      "sled_flying": {
        "minecraft:movement": {
          "value": 1
        }
      },
      "sled_on_ground": {
        "minecraft:movement": {
          "value": 0.15
        }
      }
    },
    "components": {
      "minecraft:health": {
        "value": 20
      },
      "minecraft:collision_box": {
        "width": 2.5,
        "height": 1.85
      },
      "minecraft:movement": {
        "value": 0.15
      },
      "minecraft:knockback_resistance": {
        "value": 1
      },
      "minecraft:type_family": {
        "family": [
          "sled"
        ]
      },
      "minecraft:rideable": {
        "seat_count": 2,
        "crouching_skip_interact": true,
        "family_types": [
          "player"
        ],
        "interact_text": "action.interact.ride.sled",
        "pull_in_entities": true,
        "seats": [
          {
            "position": [ -0.6, 0.9, 1.1 ]
          },
          {
            "position": [ 0.6, 0.9, 1.1 ]
          }
        ]
      },
      "minecraft:input_ground_controlled": {},
      "minecraft:movement.generic": {
        "max_turn": 30
      },
      "minecraft:leashable": {
        "soft_distance": 3,
        "hard_distance": 5,
        "max_distance": 16
      },
      "minecraft:interact": {
        "interactions": {
          "on_interact": {
            "filters": {
              "all_of": [
                {
                  "test": "is_family",
                  "subject": "other",
                  "value": "player"
                },
                {
                  "test": "has_equipment",
                  "domain": "hand",
                  "subject": "other",
                  "value": "gold_ingot"
                }
              ]
            },
            "event": "take_sled",
            "target": "self"
          },
          "use_item": true,
          "swing": true,
          "play_sounds": "mob.irongolem.hit",
          "interact_text": "action.interact.take_sled"
        }
      },
      "minecraft:damage_sensor": {
        "triggers": {
          "cause": "all",
          "deals_damage": false
        }
      },
      "minecraft:physics": {},
      "minecraft:conditional_bandwidth_optimization": {}
    },
    "events": {
      "take_sled": {
        "add": {
          "component_groups": [
            "despawn_sled"
          ]
        }
      },
      "is_flying": {
        "add": {
          "component_groups": [
            "sled_flying"
          ]
        },
        "remove": {
          "component_groups": [
            "sled_on_ground"
          ]
        }
      },
      "on_ground": {
        "add": {
          "component_groups": [
            "sled_on_ground"
          ]
        },
        "remove": {
          "component_groups": [
            "sled_flying"
          ]
        }
      }
    }
  }
}