{
  "format_version": "1.21.0",
  "minecraft:entity": {
    "description": {
      "identifier": "hostile:ravager_plummet",
      "is_spawnable": false,
      "is_summonable": true,
      "is_experimental": false,
      "scripts": {
        "animate": [
          "1"
          ]
      },
      "animations": {
        "hit": "animation.card.plummet.hit",
        "1": "controller.animation.entity.plummet_ravager.ct"
      }
    },
    "component_groups": {
      //pull_knockbackComponentGroups(
      "rumiaPull": {
        "minecraft:timer": {
          "time": 0.1,
          "time_down_event": {
            "event": "remove_kb"
          }
        },
        "minecraft:behavior.knockback_roar": {
          "priority": 0,
          "duration": 0.25,
          "attack_time": 0.05,
          "knockback_damage": 0,
          "knockback_horizontal_strength": -2.0,
          "knockback_vertical_strength": 0,
          "knockback_height_cap": 4,
          "knockback_range": 40,
          "knockback_filters": [
            {
              "all_of": [
                {
                  "test": "has_tag",
                  "subject": "other",
                  "operator": "!=",
                  "value": "rumiaPull"
                }
                ]
            }
            ],
          "damage_filters": {
            "test": "has_tag",
            "subject": "other",
            "operator": "!=",
            "value": "rumiaPull"
          },
            "cooldown_time": 0.0
        }
      },
      "rumiaDrag": {
        "minecraft:timer": {
          "time": 0.1,
          "time_down_event": {
            "event": "remove_kb"
          }
        },
        "minecraft:behavior.knockback_roar": {
          "priority": 0,
          "duration": 0.25,
          "attack_time": 0.05,
          "knockback_damage": 0,
          "knockback_horizontal_strength": -2.0,
          "knockback_vertical_strength": 2.15,
          "knockback_height_cap": 10,
          "knockback_range": 40,
          "knockback_filters": [
            {
              "all_of": [
                {
                  "test": "has_tag",
                  "subject": "other",
                  "operator": "!=",
                  "value": "rumiaPull"
                }
                ]
            }
            ],
          "damage_filters": {
            "test": "has_tag",
            "subject": "other",
            "operator": "!=",
            "value": "rumiaPull"
          },
            "cooldown_time": 0.0
        }
      },
        //horizontal[
      "pullroar4_5": {
        "minecraft:timer": {
          "time": 0.1,
          "time_down_event": {
            "event": "remove_kb"
          }
        },
        "minecraft:behavior.knockback_roar": {
          "priority": 0,
          "duration": 0.25,
          "attack_time": 0.05,
          "knockback_damage": 0,
          "knockback_horizontal_strength": -4.5,
          "knockback_vertical_strength": 0.1,
          "knockback_range": 30,
          "knockback_filters": [
            {
              "all_of": [
                {
                  "test": "has_tag",
                  "subject": "other",
                  "operator": "==",
                  "value": "KBframes"
                }
                ]
            }
            ],
          "damage_filters": {
            "test": "has_tag",
            "subject": "other",
            "operator": "==",
            "value": "KBframes"
          },
          "on_roar_end": {
            "event": "remove_kb"
            },
            "cooldown_time": 0.0
        }
      },
      "pullroar4": {
        "minecraft:timer": {
          "time": 0.1,
          "time_down_event": {
            "event": "remove_kb"
          }
        },
        "minecraft:behavior.knockback_roar": {
          "priority": 0,
          "duration": 0.25,
          "attack_time": 0.05,
          "knockback_damage": 0,
          "knockback_horizontal_strength": -4,
          "knockback_vertical_strength": 0.1,
          "knockback_range": 30,
          "knockback_filters": [
            {
              "all_of": [
                {
                  "test": "has_tag",
                  "subject": "other",
                  "operator": "==",
                  "value": "KBframes"
                }
                ]
            }
            ],
          "damage_filters": {
            "test": "has_tag",
            "subject": "other",
            "operator": "==",
            "value": "KBframes"
          },
          "on_roar_end": {
            "event": "remove_kb"
            },
            "cooldown_time": 0.0
        }
      },
      "pullroar3_5": {
        "minecraft:timer": {
          "time": 0.1,
          "time_down_event": {
            "event": "remove_kb"
          }
        },
        "minecraft:behavior.knockback_roar": {
          "priority": 0,
          "duration": 0.25,
          "attack_time": 0.05,
          "knockback_damage": 0,
          "knockback_horizontal_strength": -3.5,
          "knockback_vertical_strength": 0.1,
          "knockback_range": 30,
          "knockback_filters": [
            {
              "all_of": [
                {
                  "test": "has_tag",
                  "subject": "other",
                  "operator": "==",
                  "value": "KBframes"
                }
                ]
            }
            ],
          "damage_filters": {
            "test": "has_tag",
            "subject": "other",
            "operator": "==",
            "value": "KBframes"
          },
          "on_roar_end": {
            "event": "remove_kb"
            },
            "cooldown_time": 0.0
        }
      },
      "pullroar3": {
        "minecraft:timer": {
          "time": 0.1,
          "time_down_event": {
            "event": "remove_kb"
          }
        },
        "minecraft:behavior.knockback_roar": {
          "priority": 0,
          "duration": 0.25,
          "attack_time": 0.05,
          "knockback_damage": 0,
          "knockback_horizontal_strength": -3,
          "knockback_vertical_strength": 0.1,
          "knockback_range": 30,
          "knockback_filters": [
            {
              "all_of": [
                {
                  "test": "has_tag",
                  "subject": "other",
                  "operator": "==",
                  "value": "KBframes"
                }
                ]
            }
            ],
          "damage_filters": {
            "test": "has_tag",
            "subject": "other",
            "operator": "==",
            "value": "KBframes"
          },
          "on_roar_end": {
            "event": "remove_kb"
            },
            "cooldown_time": 0.0
        }
      },
      "pullroar2_5": {
        "minecraft:timer": {
          "time": 0.1,
          "time_down_event": {
            "event": "remove_kb"
          }
        },
        "minecraft:behavior.knockback_roar": {
          "priority": 0,
          "duration": 0.25,
          "attack_time": 0.05,
          "knockback_damage": 0,
          "knockback_horizontal_strength": -2.5,
          "knockback_vertical_strength": 0.1,
          "knockback_range": 30,
          "knockback_filters": [
            {
              "all_of": [
                {
                  "test": "has_tag",
                  "subject": "other",
                  "operator": "==",
                  "value": "KBframes"
                }
                ]
            }
            ],
          "damage_filters": {
            "test": "has_tag",
            "subject": "other",
            "operator": "==",
            "value": "KBframes"
          },
          "on_roar_end": {
            "event": "remove_kb"
            },
            "cooldown_time": 0.0
        }
      },
      "pullroar2": {
        "minecraft:timer": {
          "time": 0.1,
          "time_down_event": {
            "event": "remove_kb"
          }
        },
        "minecraft:behavior.knockback_roar": {
          "priority": 0,
          "duration": 0.25,
          "attack_time": 0.05,
          "knockback_damage": 0,
          "knockback_horizontal_strength": -2.0,
          "knockback_vertical_strength": 0.1,
          "knockback_range": 30,
          "knockback_filters": [
            {
              "all_of": [
                {
                  "test": "has_tag",
                  "subject": "other",
                  "operator": "==",
                  "value": "KBframes"
                }
                ]
            }
            ],
          "damage_filters": {
            "test": "has_tag",
            "subject": "other",
            "operator": "==",
            "value": "KBframes"
          },
          "on_roar_end": {
            "event": "remove_kb"
            },
            "cooldown_time": 0.0
        }
      },
      "pullroar1_5": {
        "minecraft:timer": {
          "time": 0.1,
          "time_down_event": {
            "event": "remove_kb"
          }
        },
        "minecraft:behavior.knockback_roar": {
          "priority": 0,
          "duration": 0.25,
          "attack_time": 0.05,
          "knockback_damage": 0,
          "knockback_horizontal_strength": -1.5,
          "knockback_vertical_strength": 0.1,
          "knockback_range": 30,
          "knockback_filters": [
            {
              "all_of": [
                {
                  "test": "has_tag",
                  "subject": "other",
                  "operator": "==",
                  "value": "KBframes"
                }
                ]
            }
            ],
          "damage_filters": {
            "test": "has_tag",
            "subject": "other",
            "operator": "==",
            "value": "KBframes"
          },
          "on_roar_end": {
            "event": "remove_kb"
            },
            "cooldown_time": 0.0
        }
      },
      "pullroar1": {
        "minecraft:timer": {
          "time": 0.1,
          "time_down_event": {
            "event": "remove_kb"
          }
        },
        "minecraft:behavior.knockback_roar": {
          "priority": 0,
          "duration": 0.25,
          "attack_time": 0.05,
          "knockback_damage": 0,
          "knockback_horizontal_strength": -1.0,
          "knockback_vertical_strength": 0.1,
          "knockback_range": 30,
          "knockback_filters": [
            {
              "all_of": [
                {
                  "test": "has_tag",
                  "subject": "other",
                  "operator": "==",
                  "value": "KBframes"
                }
                ]
            }
            ],
          "damage_filters": {
            "test": "has_tag",
            "subject": "other",
            "operator": "==",
            "value": "KBframes"
          },
          "on_roar_end": {
            "event": "remove_kb"
            },
            "cooldown_time": 0.0
        }
      },
      "pullroar0_5": {
        "minecraft:timer": {
          "time": 0.1,
          "time_down_event": {
            "event": "remove_kb"
          }
        },
        "minecraft:behavior.knockback_roar": {
          "priority": 0,
          "duration": 0.25,
          "attack_time": 0.05,
          "knockback_damage": 0,
          "knockback_horizontal_strength": -0.6,
          "knockback_vertical_strength": 0.1,
          "knockback_range": 30,
          "knockback_filters": [
            {
              "all_of": [
                {
                  "test": "has_tag",
                  "subject": "other",
                  "operator": "==",
                  "value": "KBframes"
                }
                ]
            }
            ],
          "damage_filters": {
            "test": "has_tag",
            "subject": "other",
            "operator": "==",
            "value": "KBframes"
          },
          "on_roar_end": {
            "event": "remove_kb"
            },
            "cooldown_time": 0.0
        }
      },
        //]
      //)
      //knockbackComponentGroups(
        //horizontal[
      "roar4_5": {
        "minecraft:timer": {
          "time": 0.1,
          "time_down_event": {
            "event": "remove_kb"
          }
        },
        "minecraft:behavior.knockback_roar": {
          "priority": 0,
          "duration": 0.25,
          "attack_time": 0.05,
          "knockback_damage": 0,
          "knockback_horizontal_strength": 4.5,
          "knockback_vertical_strength": 0.1,
          "knockback_range": 30,
          "knockback_filters": [
            {
              "all_of": [
                {
                  "test": "has_tag",
                  "subject": "other",
                  "operator": "==",
                  "value": "KBframes"
                }
                ]
            }
            ],
          "damage_filters": {
            "test": "has_tag",
            "subject": "other",
            "operator": "==",
            "value": "KBframes"
          },
          "on_roar_end": {
            "event": "remove_kb"
            },
            "cooldown_time": 0.0
        }
      },
      "roar4": {
        "minecraft:timer": {
          "time": 0.1,
          "time_down_event": {
            "event": "remove_kb"
          }
        },
        "minecraft:behavior.knockback_roar": {
          "priority": 0,
          "duration": 0.25,
          "attack_time": 0.05,
          "knockback_damage": 0,
          "knockback_horizontal_strength": 4,
          "knockback_vertical_strength": 0.1,
          "knockback_range": 30,
          "knockback_filters": [
            {
              "all_of": [
                {
                  "test": "has_tag",
                  "subject": "other",
                  "operator": "==",
                  "value": "KBframes"
                }
                ]
            }
            ],
          "damage_filters": {
            "test": "has_tag",
            "subject": "other",
            "operator": "==",
            "value": "KBframes"
          },
          "on_roar_end": {
            "event": "remove_kb"
            },
            "cooldown_time": 0.0
        }
      },
      "roar3_5": {
        "minecraft:timer": {
          "time": 0.1,
          "time_down_event": {
            "event": "remove_kb"
          }
        },
        "minecraft:behavior.knockback_roar": {
          "priority": 0,
          "duration": 0.25,
          "attack_time": 0.05,
          "knockback_damage": 0,
          "knockback_horizontal_strength": 3.5,
          "knockback_vertical_strength": 0.1,
          "knockback_range": 30,
          "knockback_filters": [
            {
              "all_of": [
                {
                  "test": "has_tag",
                  "subject": "other",
                  "operator": "==",
                  "value": "KBframes"
                }
                ]
            }
            ],
          "damage_filters": {
            "test": "has_tag",
            "subject": "other",
            "operator": "==",
            "value": "KBframes"
          },
          "on_roar_end": {
            "event": "remove_kb"
            },
            "cooldown_time": 0.0
        }
      },
      "roar3": {
        "minecraft:timer": {
          "time": 0.1,
          "time_down_event": {
            "event": "remove_kb"
          }
        },
        "minecraft:behavior.knockback_roar": {
          "priority": 0,
          "duration": 0.25,
          "attack_time": 0.05,
          "knockback_damage": 0,
          "knockback_horizontal_strength": 3,
          "knockback_vertical_strength": 0.1,
          "knockback_range": 30,
          "knockback_filters": [
            {
              "all_of": [
                {
                  "test": "has_tag",
                  "subject": "other",
                  "operator": "==",
                  "value": "KBframes"
                }
                ]
            }
            ],
          "damage_filters": {
            "test": "has_tag",
            "subject": "other",
            "operator": "==",
            "value": "KBframes"
          },
          "on_roar_end": {
            "event": "remove_kb"
            },
            "cooldown_time": 0.0
        }
      },
      "roar2_5": {
        "minecraft:timer": {
          "time": 0.1,
          "time_down_event": {
            "event": "remove_kb"
          }
        },
        "minecraft:behavior.knockback_roar": {
          "priority": 0,
          "duration": 0.25,
          "attack_time": 0.05,
          "knockback_damage": 0,
          "knockback_horizontal_strength": 2.5,
          "knockback_vertical_strength": 0.1,
          "knockback_range": 30,
          "knockback_filters": [
            {
              "all_of": [
                {
                  "test": "has_tag",
                  "subject": "other",
                  "operator": "==",
                  "value": "KBframes"
                }
                ]
            }
            ],
          "damage_filters": {
            "test": "has_tag",
            "subject": "other",
            "operator": "==",
            "value": "KBframes"
          },
          "on_roar_end": {
            "event": "remove_kb"
            },
            "cooldown_time": 0.0
        }
      },
      "roar2": {
        "minecraft:timer": {
          "time": 0.1,
          "time_down_event": {
            "event": "remove_kb"
          }
        },
        "minecraft:behavior.knockback_roar": {
          "priority": 0,
          "duration": 0.25,
          "attack_time": 0.05,
          "knockback_damage": 0,
          "knockback_horizontal_strength": 2.0,
          "knockback_vertical_strength": 0.1,
          "knockback_range": 30,
          "knockback_filters": [
            {
              "all_of": [
                {
                  "test": "has_tag",
                  "subject": "other",
                  "operator": "==",
                  "value": "KBframes"
                }
                ]
            }
            ],
          "damage_filters": {
            "test": "has_tag",
            "subject": "other",
            "operator": "==",
            "value": "KBframes"
          },
          "on_roar_end": {
            "event": "remove_kb"
            },
            "cooldown_time": 0.0
        }
      },
      "roar1_5": {
        "minecraft:timer": {
          "time": 0.1,
          "time_down_event": {
            "event": "remove_kb"
          }
        },
        "minecraft:behavior.knockback_roar": {
          "priority": 0,
          "duration": 0.25,
          "attack_time": 0.05,
          "knockback_damage": 0,
          "knockback_horizontal_strength": 1.5,
          "knockback_vertical_strength": 0.1,
          "knockback_range": 30,
          "knockback_filters": [
            {
              "all_of": [
                {
                  "test": "has_tag",
                  "subject": "other",
                  "operator": "==",
                  "value": "KBframes"
                }
                ]
            }
            ],
          "damage_filters": {
            "test": "has_tag",
            "subject": "other",
            "operator": "==",
            "value": "KBframes"
          },
          "on_roar_end": {
            "event": "remove_kb"
            },
            "cooldown_time": 0.0
        }
      },
      "roar1": {
        "minecraft:timer": {
          "time": 0.1,
          "time_down_event": {
            "event": "remove_kb"
          }
        },
        "minecraft:behavior.knockback_roar": {
          "priority": 0,
          "duration": 0.25,
          "attack_time": 0.05,
          "knockback_damage": 0,
          "knockback_horizontal_strength": 1.0,
          "knockback_vertical_strength": 0.1,
          "knockback_range": 30,
          "knockback_filters": [
            {
              "all_of": [
                {
                  "test": "has_tag",
                  "subject": "other",
                  "operator": "==",
                  "value": "KBframes"
                }
                ]
            }
            ],
          "damage_filters": {
            "test": "has_tag",
            "subject": "other",
            "operator": "==",
            "value": "KBframes"
          },
          "on_roar_end": {
            "event": "remove_kb"
            },
            "cooldown_time": 0.0
        }
      },
      "roar0_5": {
        "minecraft:timer": {
          "time": 0.1,
          "time_down_event": {
            "event": "remove_kb"
          }
        },
        "minecraft:behavior.knockback_roar": {
          "priority": 0,
          "duration": 0.25,
          "attack_time": 0.05,
          "knockback_damage": 0,
          "knockback_horizontal_strength": 0.6,
          "knockback_vertical_strength": 0.1,
          "knockback_range": 30,
          "knockback_filters": [
            {
              "all_of": [
                {
                  "test": "has_tag",
                  "subject": "other",
                  "operator": "==",
                  "value": "KBframes"
                }
                ]
            }
            ],
          "damage_filters": {
            "test": "has_tag",
            "subject": "other",
            "operator": "==",
            "value": "KBframes"
          },
          "on_roar_end": {
            "event": "remove_kb"
            },
            "cooldown_time": 0.0
        }
      },
        //]
      //)
      "despawn": {
        "minecraft:instant_despawn": {}
      }
    },
    "components": {
      "minecraft:nameable": {
        "always_show": false,
        "allow_name_tag_renaming": true
      },
      "minecraft:physics": {
        "has_collision": true,
        "has_gravity": true
      },
      "minecraft:type_family": {
        "family": [
          "inanimate",
          "misc",
          "illager",
          "pet"
        ]
      },
      "minecraft:damage_sensor": {
        "triggers": [
          {
            "on_damage": {
              "filters": {
                "all_of": [
                  {
                    "test": "is_family",
                    "subject": "other",
                    "operator": "!=",
                    "value": "kyoto"
                  }
                  ]
              }
            },
          "deals_damage": false,
          "damage_multiplier": 0.0
          }
          ]
        },
      "minecraft:health": {
        "value": 2,
        "max": 2,
        "min": 2
      },
      "minecraft:collision_box": {
        "width": 0.01,
        "height": 0.01
      },
      "minecraft:pushable": {
        "is_pushable": false,
        "is_pushable_by_piston": false
      },
      "minecraft:knockback_resistance": {
        "value": 100.0
      }
    },
    "events": {
      "remove_kb": {
        "sequence": [
          {
            "queue_command": {
              "command": [
                "tag @e remove KBframes"
                ]
            }
          },
          {
            "remove": {
              "component_groups": [
                "roar0_5",
                "roar1",
                "roar1_5",
                "roar2",
                "roar2_5",
                "roar3",
                "roar3_5",
                "roar4",
                "roar4_5",
                "pullroar0_5",
                "pullroar1",
                "pullroar1_5",
                "pullroar2",
                "pullroar2_5",
                "pullroar3",
                "pullroar3_5",
                "pullroar4",
                "pullroar4_5",
                "rumiaPull",
                "rumiaDrag"
                ]
            }
          }
          ]
      },
      //pull_knockbackEvents(
      "rumiaPull": {
        "add": {
          "component_groups": [
            "rumiaPull"
            ]
        }
      },
      "rumiaDrag": {
        "add": {
          "component_groups": [
            "rumiaDrag"
            ]
        }
      },
      //horizontal[
      "pullroar4_5": {
        "add": {
          "component_groups": [
            "pullroar4_5"
            ]
        }
      },
      "pullroar4": {
        "add": {
          "component_groups": [
            "pullroar4"
            ]
        }
      },
      "pullroar3_5": {
        "add": {
          "component_groups": [
            "pullroar3_5"
            ]
        }
      },
      "pullroar3": {
        "add": {
          "component_groups": [
            "pullroar3"
            ]
        }
      },
      "pullroar2_5": {
        "add": {
          "component_groups": [
            "pullroar2_5"
            ]
        }
      },
      "pullroar2": {
        "add": {
          "component_groups": [
            "pullroar2"
            ]
        }
      },
      "pullroar1_5": {
        "add": {
          "component_groups": [
            "pullroar1_5"
            ]
        }
      },
      "pullroar1": {
        "add": {
          "component_groups": [
            "pullroar1"
            ]
        }
      },
      "pullroar0_5": {
        "add": {
          "component_groups": [
            "pullroar0_5"
            ]
        }
      },
      //]
      //)
      //knockbackEvents(
      //horizontal[
      "roar4_5": {
        "add": {
          "component_groups": [
            "roar4_5"
            ]
        }
      },
      "roar4": {
        "add": {
          "component_groups": [
            "roar4"
            ]
        }
      },
      "roar3_5": {
        "add": {
          "component_groups": [
            "roar3_5"
            ]
        }
      },
      "roar3": {
        "add": {
          "component_groups": [
            "roar3"
            ]
        }
      },
      "roar2_5": {
        "add": {
          "component_groups": [
            "roar2_5"
            ]
        }
      },
      "roar2": {
        "add": {
          "component_groups": [
            "roar2"
            ]
        }
      },
      "roar1_5": {
        "add": {
          "component_groups": [
            "roar1_5"
            ]
        }
      },
      "roar1": {
        "add": {
          "component_groups": [
            "roar1"
            ]
        }
      },
      "roar0_5": {
        "add": {
          "component_groups": [
            "roar0_5"
            ]
        }
      },
      //]
      //)
      "fangs": {
        "sequence": [
          {
            "queue_command": {
              "command": [
                "summon hostile:abyssal_fang ~~~ ~~ minecraft:entity_spawned"
                ]
            }
          },
          {
            "queue_command": {
              "command": [
                "spreadplayers ~ ~ 1 3 @e[c=1,type=hostile:abyssal_fang]"
                ]
            }
          }
          ]
      },
      "despawn": {
        "add": {
          "component_groups": [
            "despawn"
            ]
        },
        "set_property": {
          "timeout:operator": "timedout"
        }
      },
      "minecraft:entity_spawned": {
        "queue_command": {
          "command": [
            "particle abyssal_fang:smoke",
            "tag @s add iframes"
            ]
        }
      }
    }
  }
}