{
  "format_version": "1.10.0",
  "animation_controllers": {
    "controller.animation.cc_alien.alien_beacon_player.despawn_controller": {
      "states": {
        "default": {
          "transitions": [
            {
              "despawn": "(query.property('cc_alien:despawn'))"
            }
          ]
        },
        "despawn": {
          "on_entry": [
            "/kill @s"
          ]
        }
      }
    },
    "controller.animation.cc_alien.alien_beacon_player.crash_on_damage": {
      "states": {
        "default": {
          "transitions": [
            {
              "crashed": "(query.health \u003c\u003d 0)"
            }
          ]
        },
        "crashed": {
          "on_entry": [
            "@s on_crash"
          ]
        }
      }
    },
    "controller.animation.cc_alien.alien_beacon_player.stage_controller": {
      "states": {
        "default": {
          "animations": [
            "wait_2s"
          ],
          "transitions": [
            {
              "active": "(query.all_animations_finished && query.is_on_ground) && q.property('cc_alien:player_near') && q.variant == 0"
            },
            {
              "active_wait": "q.property('cc_alien:player_near') && q.variant != 0"
            },
            {
              "crashed": "query.property('cc_alien:crashed')"
            }
          ]
        },
        "active": {
          "animations": [
            "wait_2s"
          ],
          "on_entry": [
            "@s on_activate"
          ],
          "transitions": [
            {
              "spawn_mobs": "query.all_animations_finished && q.property('cc_alien:player_near')"
            },
            {
              "crashed": "query.property('cc_alien:crashed')"
            }
          ]
        },
        "spawn_mobs": {
          "transitions": [
            {
              "active_wait":"q.variant == 1"
            },
            {
              "crashed": "query.property('cc_alien:crashed')"
            }
          ],
          "animations": [
            "spawn_mobs"
          ],
          "on_entry": [
            "@s on_spawn_entity"
          ]
        },
        "active_wait":{
          "transitions": [
            {
              "active": "query.variant == 2 && q.property('cc_alien:player_near')" 
            },
            {
              "crashed": "query.property('cc_alien:crashed')"
            }
          ]
        },
        "crashed":{
          "on_entry": [
            "@s remove_timers"
          ]
        }
      }
    },
    "controller.animation.cc_alien.alien_beacon_player.fall_controller": {
      "states": {
        "default": {
          "on_entry": [
            "/effect @s clear"
          ],
          "transitions": [
            {
              "falling": "!query.is_on_ground"
            }
          ]
        },
        "falling": {
          "on_entry": [
            "/effect @s slow_falling 500 1 true"
          ],
          "transitions": [
            {
              "default": "query.is_on_ground"
            }
          ]
        }
      }
    }
  }
}