{
    "format_version": "1.10.0",
    "animation_controllers": {
		"controller.animation.ender_mystic.charge": {
			"initial_state": "default",
			"states": {
				"default": {
					"transitions": [
						{ "charge": "q.is_casting" }
					]
				},
				"charge": {
					"on_entry": [
						"@s set_beam_state_to_1"
					],
					"animations": [
						"charge_delay"
					],
					"transitions": [
						{ "beam": "q.all_animations_finished" }
					]
				},
				"beam": {
					"on_entry": [
						"/function endermen/ender_mystic/beam_attack",
						"@s set_beam_state_to_2"
					],
					"animations": [
						"beam_delay"
					],
					"transitions": [
						{ "end": "q.all_animations_finished" }
					]
				},
				"end": {
					"on_entry": [
						"@s set_beam_state_to_3"
					],
					"animations": [
						"end_delay"
					],
					"transitions": [
						{ "default": "q.all_animations_finished" }
					],
					"on_exit": [
						"/tag @s remove StopAiming",
						"@s set_beam_state_to_0",
						"@s add_panic"
					]
				}
			}
		},
		"controller.animation.ender_mystic.damage": {
			"initial_state": "default",
			"states": {
				"default": {
					"transitions": [
						{ "has_damage": "q.property('ldz:has_damage')" }
					]
				},
				"has_damage": {
					"on_entry": [
						"@s set_has_damage_to_false",
						"/effect @s regeneration 6 0 false"
					],
					"transitions": [
						{ "default": "!q.property('ldz:has_damage')" }
					]
				}
			}
		},
		"controller.animation.ender_mystic.look_at_player": {
			"initial_state": "default",
			"states": {
				"default": {
					"transitions": [
						{ "look_at_player": "q.property('ldz:beam_state') > 0" }
					]
				},
				"look_at_player": {
					"animations": [
						"look_at_player",
						"stop_aiming"
					],
					"transitions": [
						{ "default": "q.property('ldz:beam_state') == 0" }
					]
				}
			}
		}
    }
}