{
	"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": "variable.is_holding_right <= 0.0"
						},
						{
							"first_person_attack_rotation_item": "variable.is_holding_right > 0.0"
						}
					],
					"transitions" : [
						{
							"vr_attack" : "variable.is_using_vr"
						}
					]
				},
				"vr_attack" : {
					"animations": [
						{
							"first_person_vr_attack_rotation": "variable.is_holding_right <= 0.0"
						},
						{
							"first_person_attack_rotation_item": "variable.is_holding_right > 0.0"
						}
					],
					"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' || q.get_equipped_item_name('off_hand') == 'wood_shield' || q.get_equipped_item_name('off_hand') == 'stone_shield' || q.get_equipped_item_name('off_hand') == 'gold_shield' || q.get_equipped_item_name('off_hand') == 'iron_shield' || q.get_equipped_item_name('off_hand') == 'diamond_shield' || q.get_equipped_item_name('off_hand') == 'netherite_shield'"
						},
						{
							"two_hand" : "query.get_equipped_item_name('off_hand') != 'map' && query.get_equipped_item_name('off_hand') != 'shield' && q.get_equipped_item_name('off_hand') != 'wood_shield' && q.get_equipped_item_name('off_hand') != 'stone_shield' && q.get_equipped_item_name('off_hand') != 'gold_shield' && q.get_equipped_item_name('off_hand') != 'iron_shield' && q.get_equipped_item_name('off_hand') != 'diamond_shield' && q.get_equipped_item_name('off_hand') != 'netherite_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' && q.get_equipped_item_name('off_hand') != 'wood_shield' && q.get_equipped_item_name('off_hand') != 'stone_shield' && q.get_equipped_item_name('off_hand') != 'gold_shield' && q.get_equipped_item_name('off_hand') != 'iron_shield' && q.get_equipped_item_name('off_hand') != 'diamond_shield' && q.get_equipped_item_name('off_hand') != 'netherite_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' || q.get_equipped_item_name('off_hand') == 'wood_shield' || q.get_equipped_item_name('off_hand') == 'stone_shield' || q.get_equipped_item_name('off_hand') == 'gold_shield' || q.get_equipped_item_name('off_hand') == 'iron_shield' || q.get_equipped_item_name('off_hand') == 'diamond_shield' || q.get_equipped_item_name('off_hand') == 'netherite_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"
						},
						{
							"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 == 'crossbow'"
						},
						{
							"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 == 'crossbow' && (variable.item_use_normalized > 0 && variable.item_use_normalized < 1.0)"
						},
						{
							"first_person_crossbow_hold": "query.get_equipped_item_name == 'crossbow' && query.item_is_charged"
						},
						{
							"first_person_breathing_bob": "variable.attack_time <= 0.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"
						},
						"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"
						},
						{
							"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') || ((q.get_equipped_item_name('main_hand') == 'stone_shield' || q.get_equipped_item_name('main_hand') == 'wood_shield' || q.get_equipped_item_name('main_hand') == 'gold_shield' || q.get_equipped_item_name('main_hand') == 'diamond_shield' || q.get_equipped_item_name('main_hand') == 'obsidian_shield' || q.get_equipped_item_name('main_hand') == 'iron_shield' || q.get_equipped_item_name('main_hand') == 'netherite_shield') && q.is_sneaking && !v.attack_time > 0 && !(q.get_equipped_item_name('off_hand') == 'shield' || q.get_equipped_item_name('off_hand') == 'stone_shield' || q.get_equipped_item_name('off_hand') == 'gold_shield' || q.get_equipped_item_name('off_hand') == 'wood_shield' || q.get_equipped_item_name('off_hand') == 'iron_shield' || q.get_equipped_item_name('off_hand') == 'obsidian_shield' || q.get_equipped_item_name('off_hand') == 'diamond_shield' || q.get_equipped_item_name('off_hand') == 'netherite_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)) || ((q.get_equipped_item_name('off_hand') == 'wood_shield' || q.get_equipped_item_name('off_hand') == 'stone_shield' || q.get_equipped_item_name('off_hand') == 'gold_shield' || q.get_equipped_item_name('off_hand') == 'iron_shield' || q.get_equipped_item_name('off_hand') == 'obsidian_shield' || q.get_equipped_item_name('off_hand') == 'diamond_shield' || q.get_equipped_item_name('off_hand') == 'netherite_shield') && q.is_sneaking && !v.attack_time > 0 && q.get_equipped_item_name('main_hand') != 'shield')"
						},
						{
							"crossbow_controller" : "query.get_equipped_item_name == 'crossbow'"
						},
						{
							"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"
						}
					]
				}
			}
		}
	}
}
