{
    "format_version": "1.10.0",
    "animation_controllers": {
		"controller.animation.huggy_wuggy_player.statue_form": {
			"initial_state": "default",
            "states": {
                "default": {
					"transitions": [{
                            "in_statue": "query.is_stunned && query.skin_id == 1"
                        }
                    ]
				},
				"in_statue": {
					"animations": ["huggy_statue_time"],
                    "transitions": [{
                            "default": "!query.is_stunned || query.skin_id == 1"
                        }
                    ]
                }
            }
        },
        "controller.animation.huggy_wuggy_player.hug": {
			"initial_state": "default",
            "states": {
                "default": {
					"transitions": [{
                            "attack1": "query.is_powered && query.skin_id == 1"
                        }
                    ]
				},
				"attack1": {
					"animations": ["hug_time"],
                    "transitions": [{
                            "default": "!query.is_powered"
                        }
                    ],
					"on_entry": [
						"@s bd:time_to_hug"
                    ]
                }
            }
        },
		"controller.animation.huggy_wuggy_player.mood": {
			"initial_state": "default",
            "states": {
                "default": {
					"transitions": [{
                            "calm_mode": "query.skin_id == 1 && query.mark_variant == 0"
                        }, {
                            "hunt_mode": "query.skin_id == 1 && query.mark_variant == 1"
                        }
                    ]
				},
				"calm_mode": {
					"animations": ["huggy_player_calm", "huggy_player_calm_heal"],
                    "transitions": [{
                            "default": "query.mark_variant != 0"
                        }
                    ],
					"on_entry": [
						"/music stop 1.5"
		            ]
                },
				"hunt_mode": {
					"animations": ["huggy_player_hunt"],
                    "transitions": [{
                            "default": "query.mark_variant != 1"
                        }
                    ],
					"on_entry": [
						"/music play mob.huggy_wuggy.chase 1 1 loop"
                    ],
					"on_exit": [
						"/music stop 1.5"
		            ]
                }
            }
        },
		"controller.animation.huggy_wuggy_player.sprint": {
			"initial_state": "default",
            "states": {
                "default": {
					"transitions": [{
                            "attack1": "query.is_sprinting && query.skin_id == 1 && query.variant == 0"
                        }
                    ]
				},
				"attack1": {
					"animations": ["huggy_player_sprint", "hug_player_tired"],
                    "transitions": [{
                            "default": "!query.is_sprinting"
                        }, {
                            "charge_up": "query.all_animations_finished"
                        }
                    ],
					"on_exit": [
						"/effect @s[tag=is_huggy] speed 0 0 true",
						"/effect @s[tag=is_huggy] jump_boost 0 0 true"
                    ]
                },
				"charge_up": {
					"animations": ["hug_player_regen_hung", "hug_player_wait_time"],
                    "transitions": [{
                            "default": "query.all_animations_finished"
                        }
                    ],
					"on_exit": [
						"/effect @s[tag=is_huggy] speed 0 0 true",
						"/effect @s[tag=is_huggy] jump_boost 0 0 true",
						"/effect @s[tag=is_huggy] slowness 5 3 true"
                    ]
                }
            }
        },
		"controller.animation.huggy_wuggy_player.hug_kill": {
			"initial_state": "default",
            "states": {
                "default": {
					"transitions": [{
                            "attack1": "query.has_rider && query.variant == 0"
                        }, {
                            "attack2": "query.has_rider && query.variant == 1"
                        }
                    ]
				},
				"attack1": {
					"animations": ["huggy_player_hug2", "hug_player_time_kill2", "hug_player_look"],
                    "transitions": [{
                            "stop_attack1": "query.all_animations_finished"
                        }
                    ],
					"on_exit": [
						"/execute as @s at @s run ride @a[tag=!is_huggy,r=5,c=1] stop_riding"
					]
                },
				"stop_attack1": {
                    "transitions": [{
                            "default": "!query.has_rider"
                        }
                    ],
					"on_entry": [
						"/execute as @s at @s run ride @e[tag=!is_huggy,r=5,c=1] stop_riding",
						"/execute as @s at @s run ride @a[tag=!is_huggy,r=5,c=1] stop_riding",
						"/execute as @s at @s run effect @s weakness 0 0 true"
                    ]
                },
				"attack2": {
					"animations": ["huggy_player_hug2", "hug_player_time_kill2", "hug_player_look_down"],
                    "transitions": [{
                            "stop_attack2": "query.all_animations_finished"
                        }
                    ],
					"on_exit": [
						"/execute as @s at @s run ride @a[tag=!is_huggy,r=5,c=1] stop_riding"
					]
                },
				"stop_attack2": {
                    "transitions": [{
                            "default": "!query.has_rider"
                        }
                    ],
					"on_entry": [
						"/execute as @s at @s run ride @e[tag=!is_huggy,r=5,c=1] stop_riding",
						"/execute as @s at @s run effect @s weakness 0 0 true"
                    ]
                }
            }
        },
		"controller.animation.huggy_wuggy_player.fall": {
			"initial_state": "default",
            "states": {
                "default": {
					"transitions": [{
                            "fall": "(!query.is_on_ground) && query.skin_id == 1"
                        }
                    ]
				},
				"fall": {
					"animations": ["huggy_player_time_air"],
                    "transitions": [{
                            "big_land": "!query.is_on_ground && query.all_animations_finished"
                        }, {
                            "small_land": "query.is_on_ground"
                        }
                    ]
                },
				"land": {
					"animations": ["huggy_player_time_land", "huggy_player_time_stay"],
                    "transitions": [{
                            "default": "query.is_on_ground && query.all_animations_finished"
                        }
                    ]
                },
				"big_land": {
                    "transitions": [{
                            "land": "query.is_on_ground"
                        }
                    ]
                },
				"small_land": {
                    "transitions": [{
                            "default": "query.is_on_ground"
                        }
                    ]
                }
            }
        }
    }
}