{
    "format_version": "1.10.0",
    "animation_controllers": {
        "controller.animation.player.crossbow": {
            "initial_state": "default",
            "states": {
                "charge": {
                    "animations": [
                        "third_person_crossbow_equipped"
                    ],
                    "transitions": [
                        {
                            "default": "query.get_equipped_item_name != 'crossbow' || (query.item_remaining_use_duration <= 0.0 && !query.item_is_charged)"
                        },
                        {
                            "hold": "query.item_is_charged"
                        }
                    ]
                },
                "default": {
                    "transitions": [
                        {
                            "hold": "query.item_is_charged"
                        },
                        {
                            "charge": "query.item_remaining_use_duration > 0.0"
                        }
                    ]
                },
                "hold": {
                    "animations": [
                        "crossbow_hold"
                    ],
                    "transitions": [
                        {
                            "default": "query.get_equipped_item_name != 'crossbow' || (query.item_remaining_use_duration <= 0.0 && !query.item_is_charged)"
                        },
                        {
                            "charge": "!query.item_remaining_use_duration > 0.0"
                        }
                    ]
                }
            }
        },
        "controller.animation.player.first_person_attack": {
            "initial_state": "default",
            "states": {
                "default": {
                    "animations": [
                        "first_person_attack_rotation"
                    ],
                    "transitions": [
                        {
                            "vr_attack": "variable.is_using_vr"
                        }
                    ]
                },
                "vr_attack": {
                    "animations": [
                        "first_person_vr_attack_rotation"
                    ],
                    "transitions": [
                        {
                            "default": "!variable.is_using_vr"
                        }
                    ]
                }
            }
        },
        "controller.animation.player.first_person_map": {
            "initial_state": "default",
            "states": {
                "default": {
                    "transitions": [
                        {
                            "one_hand": "query.get_equipped_item_name('off_hand') == 'map' || query.get_equipped_item_name('off_hand') == 'shield'"
                        },
                        {
                            "two_hand": "query.get_equipped_item_name('off_hand') != 'map' && query.get_equipped_item_name('off_hand') != 'shield'"
                        }
                    ]
                },
                "one_hand": {
                    "animations": [
                        {
                            "first_person_map_hold_main_hand": "query.get_equipped_item_name(0, 1) == 'map'"
                        },
                        {
                            "first_person_map_hold_off_hand": "query.get_equipped_item_name('off_hand') == 'map' && (query.get_equipped_item_name == 'bow' ? !(variable.item_use_normalized > 0 && variable.item_use_normalized < 1.0) : 1.0)"
                        }
                    ],
                    "transitions": [
                        {
                            "default": "query.get_equipped_item_name(0, 1) != 'map' && query.get_equipped_item_name('off_hand') != 'map'"
                        },
                        {
                            "two_hand": "query.get_equipped_item_name('off_hand') != 'map' && query.get_equipped_item_name('off_hand') != 'shield'"
                        }
                    ]
                },
                "two_hand": {
                    "animations": [
                        "first_person_map_hold",
                        "first_person_map_hold_attack"
                    ],
                    "transitions": [
                        {
                            "default": "query.get_equipped_item_name(0, 1) != 'map' && query.get_equipped_item_name('off_hand') != 'map'"
                        },
                        {
                            "one_hand": "query.get_equipped_item_name('off_hand') == 'map' || query.get_equipped_item_name('off_hand') == 'shield'"
                        }
                    ]
                }
            }
        },
        "controller.animation.player.hudplayer": {
            "initial_state": "default",
            "states": {
                "default": {
                    "animations": [
                        "humanoid_base_pose",
                        {
                            "look_at_target": "!query.is_sleeping && !query.is_emoting"
                        },
                        "move.arms",
                        "move.legs",
                        "cape",
                        {
                            "riding.arms": "query.is_riding"
                        },
                        {
                            "riding.legs": "query.is_riding"
                        },
                        "holding",
                        {
                            "brandish_spear": "variable.is_brandishing_spear"
                        },
                        {
                            "charging": "query.is_charging"
                        },
                        {
                            "sneaking": "query.is_sneaking && !query.is_sleeping "
                        },
                        "bob",
                        {
                            "damage_nearby_mobs": "variable.damage_nearby_mobs"
                        },
                        {
                            "bow_and_arrow": "query.has_target"
                        },
                        {
                            "swimming": "variable.swim_amount > 0.0"
                        },
                        {
                            "swimming.legs": "variable.swim_amount > 0.0"
                        },
                        {
                            "use_item_progress": "( variable.use_item_interval_progress > 0.0 ) || ( variable.use_item_startup_progress > 0.0 ) && !variable.is_brandishing_spear"
                        },
                        {
                            "sleeping": "query.is_sleeping && query.is_alive"
                        },
                        {
                            "attack.positions": "variable.attack_time >= 0.0"
                        },
                        {
                            "attack.rotations": "variable.attack_time >= 0.0"
                        },
                        {
                            "shield_block_main_hand": "query.blocking && query.get_equipped_item_name('off_hand') != 'shield' && query.get_equipped_item_name == 'shield'"
                        },
                        {
                            "shield_block_off_hand": "query.blocking && query.get_equipped_item_name('off_hand') == 'shield' && !(variable.item_use_normalized > 0 && variable.item_use_normalized < 1.0)"
                        },
                        {
                            "crossbow_controller": "query.get_equipped_item_name == 'stick'"
                        },
                        {
                            "third_person_bow_equipped": "query.get_equipped_item_name == 'bow' && (variable.item_use_normalized > 0 && variable.item_use_normalized < 1.0)"
                        }
                    ]
                }
            }
        },
        "controller.animation.player.root": {
            "initial_state": "first_person",
            "states": {
                "first_person": {
                    "animations": [
                        "first_person_swap_item",
                        {
                            "first_person_attack_controller": "variable.attack_time > 0.0f && query.get_equipped_item_name != 'map'"
                        },
                        "first_person_base_pose",
                        {
                            "first_person_empty_hand": "query.get_equipped_item_name(0, 1) != 'map'"
                        },
                        {
                            "first_person_walk": "!variable.bob_animation"
                        },
                        {
                            "first_person_map_controller": "(query.get_equipped_item_name(0, 1) == 'map' || query.get_equipped_item_name('off_hand') == 'map')"
                        },
                        {
                            "first_person_crossbow_equipped": "query.get_equipped_item_name == 'stick' && (variable.item_use_normalized > 0 && variable.item_use_normalized < 1.0)"
                        }
                    ],
                    "transitions": [
                        {
                            "paperdoll": "variable.is_paperdoll"
                        },
                        {
                            "map_player": "variable.map_face_icon"
                        },
                        {
                            "third_person": "!variable.is_first_person"
                        }
                    ]
                },
                "map_player": {
                    "transitions": [
                        {
                            "paperdoll": "variable.is_paperdoll"
                        },
                        {
                            "first_person": "variable.is_first_person"
                        },
                        {
                            "third_person": "!variable.map_face_icon && !variable.is_first_person"
                        }
                    ]
                },
                "paperdoll": {
                    "animations": [
                        "humanoid_base_pose",
                        {
                            "look_at_target_ui": "variable.should_look_at_target_ui"
                        },
                        "move.arms",
                        "move.legs",
                        "cape"
                    ],
                    "transitions": [
                        {
                            "first_person": "!variable.is_paperdoll && variable.is_first_person"
                        },
                        {
                            "map_player": "variable.map_face_icon"
                        },
                        {
                            "third_person": "!variable.is_paperdoll && !variable.is_first_person"
                        }
                    ]
                },
                "third_person": {
                    "animations": [
                        "humanoid_base_pose",
                        {
                            "look_at_target": "!query.is_sleeping && !query.is_emoting && (query.camera_rotation(0) == -query.target_x_rotation) + (query.camera_rotation(0) == query.target_x_rotation) + (query.is_sneaking == 0) == 2"
                        },
                        {
                            "look_at_target": "!query.is_sleeping && !query.is_emoting && (query.camera_rotation(0) != -query.target_x_rotation) && (query.camera_rotation(0) != query.target_x_rotation)"
                        },
                        "move.arms",
                        "move.legs",
                        "cape",
                        {
                            "riding.arms": "query.is_riding"
                        },
                        {
                            "freelook1": "query.is_sneaking == 1 && (query.camera_rotation(0) == -query.target_x_rotation) == 1 || (query.camera_rotation(0) == query.target_x_rotation) == 1 && query.is_in_ui == 0"
                        },
                        {
                            "freelook2": "query.target_y_rotation <= -42 && query.get_equipped_item_name == 'stick' && query.is_moving == 0"
                        },
                        {
                            "riding.legs": "query.is_riding"
                        },
                        "holding",
                        {
                            "brandish_spear": "variable.is_brandishing_spear"
                        },
                        {
                            "charging": "query.is_charging"
                        },
                        "bob",
                        {
                            "damage_nearby_mobs": "variable.damage_nearby_mobs"
                        },
                        {
                            "bow_and_arrow": "query.has_target"
                        },
                        {
                            "swimming": "variable.swim_amount > 0.0"
                        },
                        {
                            "swimming.legs": "variable.swim_amount > 0.0"
                        },
                        {
                            "use_item_progress": "( variable.use_item_interval_progress > 0.0 ) || ( variable.use_item_startup_progress > 0.0 ) && !variable.is_brandishing_spear"
                        },
                        {
                            "fishing_rod": "query.get_equipped_item_name == 'fishing_rod'"
                        },
                        {
                            "sleeping": "query.is_sleeping && query.is_alive"
                        },
                        {
                            "attack.positions": "variable.attack_time >= 0.0"
                        },
                        {
                            "attack.rotations": "variable.attack_time >= 0.0"
                        },
                        {
                            "shield_block_main_hand": "query.blocking && query.get_equipped_item_name('off_hand') != 'shield' && query.get_equipped_item_name == 'shield'"
                        },
                        {
                            "shield_block_off_hand": "query.blocking && query.get_equipped_item_name('off_hand') == 'shield' && !(variable.item_use_normalized > 0 && variable.item_use_normalized < 1.0)"
                        },
                        {
                            "crossbow_controller": "query.get_equipped_item_name == 'stick'"
                        },
                        {
                            "third_person_bow_equipped": "query.get_equipped_item_name == 'bow' && (variable.item_use_normalized > 0 && variable.item_use_normalized < 1.0)"
                        }
                    ],
                    "transitions": [
                        {
                            "paperdoll": "variable.is_paperdoll"
                        },
                        {
                            "first_person": "variable.is_first_person"
                        },
                        {
                            "map_player": "variable.map_face_icon"
                        }
                    ]
                }
            }
        }
    }
}