{
  "format_version": "1.10.0",
  "minecraft:client_entity": {
    "description": {
      "identifier": "minecraft:player",
      "materials": {
        "default": "entity_alphatest",
        "cape": "entity_alphatest",
        "animated": "player_animated",
        "spectator": "player_spectator",
        "guns":"spider"
      },
      "textures": {
        "default": "textures/entity/steve",
        "cape": "textures/entity/cape_invisible",
        "strat":"textures/entity/stratagem",
        "p2":"textures/entity/guns/p-2",
        "ar23":"textures/entity/guns/ar-23",
        "ar23p":"textures/entity/guns/ar-23p",
        "mg43":"textures/entity/guns/mg-43",
        "eat17":"textures/entity/guns/eat-17"
      },
      "geometry": {
        "default": "geometry.humanoid.custom",
        "cape": "geometry.cape",
        "strat":"geometry.stratagem",
        "p2":"geometry.p-2",
        "ar23":"geometry.ar-23",
        "ar23p":"geometry.ar-23p",
        "mg43":"geometry.mg-43",
        "eat17":"geometry.eat-17"
      },
      "scripts": {
        "scale": "0.9375",
        "initialize": [
          "variable.is_holding_right = 0.0;",
          "variable.is_blinking = 0.0;",
          "variable.last_blink_time = 0.0;",
          "variable.hand_bob = 0.0;"
        ],
        "pre_animation": [
          "variable.p2 = q.equipped_item_any_tag('slot.weapon.mainhand','p2');",
          "variable.ar23 = q.equipped_item_any_tag('slot.weapon.mainhand','ar23');",
          "variable.ar23p = q.equipped_item_any_tag('slot.weapon.mainhand','ar23p');",
          "variable.mg43 = q.equipped_item_any_tag('slot.weapon.mainhand','mg43');",
          "variable.eat17 = q.equipped_item_any_tag('slot.weapon.mainhand','eat17');",
          "variable.strat = q.equipped_item_any_tag('slot.weapon.mainhand','stratagem');",
          "variable.utility = q.equipped_item_any_tag('slot.weapon.mainhand','utility');",
          "variable.gun = (v.p2 || v.ar23 || v.ar23p || v.mg43 || v.eat17 || q.equipped_item_any_tag('slot.weapon.mainhand','emote') || q.variant==1);",
          "variable.helmet_layer_visible = 1.0;",
          "variable.leg_layer_visible = 1.0;",
          "variable.boot_layer_visible = 1.0;",
          "variable.chest_layer_visible = 1.0;",
          "variable.attack_body_rot_y = Math.sin(360*Math.sqrt(variable.attack_time)) * 5.0;",
          "variable.tcos0 = (math.cos(query.modified_distance_moved * 38.17) * query.modified_move_speed / variable.gliding_speed_value) * 57.3;",
          "variable.first_person_rotation_factor = math.sin((1 - variable.attack_time) * 180.0);",
          "variable.hand_bob = query.life_time < 0.01 ? 0.0 : variable.hand_bob + ((query.is_on_ground && query.is_alive ? math.clamp(math.sqrt(math.pow(query.position_delta(0), 2.0) + math.pow(query.position_delta(2), 2.0)), 0.0, 0.1) : 0.0) - variable.hand_bob) * 0.02;",

          "variable.map_angle = math.clamp(1 - variable.player_x_rotation / 45.1, 0.0, 1.0);",
          "variable.item_use_normalized = query.main_hand_item_use_duration / query.main_hand_item_max_duration;"
        ],
        "animate": [
          "root",
          "strat",
          "stimulator",
          "salute_controller",
          "handshakes",
          "p2_controller",
          "ar23_controller",
          "ar23p_controller",
          "mg43_controller",
          "eat17_controller", 
          {"helmet":"q.equipped_item_any_tag('slot.armor.head','helm')"},
          {"armor":"q.equipped_item_any_tag('slot.armor.legs','harmor')"}
        ]
      },
      "animations": {
          "armor":"animation.humanoid.armor",
          "helmet":"animation.humanoid.helmet",
          "stim":"animation.humanoid.stim",
          "stimulator":"controller.animation.stim",
          "prepare":"animation.emote.handshake_prepare",
          "prepare_fp":"animation.emote.handshake_prepare_fp",
          "high-five":"animation.emote.high-five",
          "high-five_fp":"animation.emote.high-five_fp",
          "handshakes":"controller.animation.handshakes",
          "salute":"animation.humanoid.salute",
          "salute_fp":"animation.humanoid.salute_fp",
          "salute_controller":"controller.animation.salute",
          "stratagem":"animation.humanoid.stratagem",
          "500kg":"animation.humanoid.500kg",
          "airstrike":"animation.humanoid.airstrike",
          "napalm":"animation.humanoid.napalm",
          "precision":"animation.humanoid.precision",
          "mg":"animation.humanoid.mg",
          "eat":"animation.humanoid.eat",
          "resupply":"animation.humanoid.resupply",
          "strat":"controller.animation.stratagem",
          "stratagem_fp":"animation.humanoid.stratagem_fp",
          "500kg_fp":"animation.humanoid.500kg_fp",
          "airstrike_fp":"animation.humanoid.airstrike_fp",
          "napalm_fp":"animation.humanoid.napalm_fp",
          "precision_fp":"animation.humanoid.precision_fp",
          "mg_fp":"animation.humanoid.mg_fp",
          "eat_fp":"animation.humanoid.eat_fp",
          "resupply_fp":"animation.humanoid.resupply_fp",
          "mg43_reload_full":"animation.mg43.reload_full",
          "mg43_reload_empty":"animation.mg43.reload_empty",
          "mg43_reload_full_fp":"animation.mg43.reload_full_fp",
          "mg43_reload_empty_fp":"animation.mg43.reload_empty_fp",
          "mg43_hold":"animation.mg43.hold",
          "mg43_hold_fp":"animation.mg43.hold_fp",
          "mg43_aim":"animation.mg43.aim",
          "mg43_aim_fp":"animation.mg43.aim_fp",
          "mg43_run":"animation.mg43.run",
          "mg43_run_fp":"animation.mg43.run_fp",
          "mg43_melee":"animation.mg43.melee",
          "mg43_mode":"animation.mg43.mode",
          "mg43_melee_fp":"animation.mg43.melee_fp",
          "mg43_mode_fp":"animation.mg43.mode_fp",
          "mg43_controller":"controller.animation.mg43.hold",

          "eat17_hold":"animation.eat17.hold",
          "eat17_hold_fp":"animation.eat17.hold_fp",
          "eat17_aim":"animation.eat17.aim",
          "eat17_aim_fp":"animation.eat17.aim_fp",
          "eat17_run":"animation.eat17.run",
          "eat17_run_fp":"animation.eat17.run_fp",
          "eat17_drop":"animation.eat17.drop",
          "eat17_drop_fp":"animation.eat17.drop_fp",
          "eat17_controller":"controller.animation.eat17.hold",
          
          "ar23_reload_full":"animation.ar23.reload_full",
          "ar23_reload_empty":"animation.ar23.reload_empty",
          "ar23_reload_full_fp":"animation.ar23.reload_full_fp",
          "ar23_reload_empty_fp":"animation.ar23.reload_empty_fp",
          "ar23_hold":"animation.ar23.hold",
          "ar23_hold_fp":"animation.ar23.hold_fp",
          "ar23_aim":"animation.ar23.aim",
          "ar23_aim_fp":"animation.ar23.aim_fp",
          "ar23_run":"animation.ar23.run",
          "ar23_run_fp":"animation.ar23.run_fp",
          "ar23_melee":"animation.ar23.melee",
          "ar23_mode":"animation.ar23.mode",
          "ar23_melee_fp":"animation.ar23.melee_fp",
          "ar23_mode_fp":"animation.ar23.mode_fp",
          "ar23_controller":"controller.animation.ar23.hold",
          "ar23p_controller":"controller.animation.ar23p.hold",
          "p2_reload_full":"animation.p2.reload_full",
          "p2_reload_empty":"animation.p2.reload_empty",
          "p2_hold":"animation.p2.hold",
          "p2_aim":"animation.p2.aim",
          "p2_hold_fp":"animation.p2.hold_fp",
          "p2_walk":"animation.p2.walk",
          "p2_run":"animation.p2.run",
          "p2_melee":"animation.p2.melee",
          "p2_run_fp":"animation.p2.run_fp",
          "p2_melee_fp":"animation.p2.melee_fp",
          "p2_aim_fp":"animation.p2.aim_fp",
          "p2_reload_full_fp":"animation.p2.reload_full_fp",
          "p2_reload_empty_fp":"animation.p2.reload_empty_fp",
          "p2_controller":"controller.animation.p2.hold",
        "root": "controller.animation.player.root",
        "base_controller": "controller.animation.player.base",
        "hudplayer": "controller.animation.player.hudplayer",
        "humanoid_base_pose": "animation.humanoid.base_pose",
        "look_at_target": "controller.animation.humanoid.look_at_target",
        "look_at_target_ui": "animation.player.look_at_target.ui",
        "look_at_target_default": "animation.humanoid.look_at_target.default",
        "look_at_target_gliding": "animation.humanoid.look_at_target.gliding",
        "look_at_target_swimming": "animation.humanoid.look_at_target.swimming",
        "look_at_target_inverted": "animation.player.look_at_target.inverted",
        "cape": "animation.player.cape",
        "move.arms": "animation.player.move.arms",
        "move.legs": "animation.player.move.legs",
        "swimming": "animation.player.swim",
        "swimming.legs": "animation.player.swim.legs",
        "crawling": "animation.player.crawl",
        "crawling.legs": "animation.player.crawl.legs",
        "riding.arms": "animation.player.riding.arms",
        "riding.legs": "animation.player.riding.legs",
        "holding": "animation.player.holding",
        "brandish_spear": "animation.humanoid.brandish_spear",
        "holding_spyglass": "animation.humanoid.holding_spyglass",
        "charging": "animation.humanoid.charging",
        "attack.positions": "animation.player.attack.positions",
        "attack.rotations": "animation.player.attack.rotations",
        "sneaking": "animation.player.sneaking",
        "bob": "animation.player.bob",
        "damage_nearby_mobs": "animation.humanoid.damage_nearby_mobs",
        "bow_and_arrow": "animation.humanoid.bow_and_arrow",
        "use_item_progress": "animation.humanoid.use_item_progress",
        "skeleton_attack": "animation.skeleton.attack",
        "sleeping": "animation.player.sleeping",
        "first_person_base_pose": "animation.player.first_person.base_pose",
        "first_person_empty_hand": "animation.player.first_person.empty_hand",
        "first_person_swap_item": "animation.player.first_person.swap_item",
        "first_person_shield_block": "animation.player.first_person.shield_block",
        "first_person_attack_controller": "controller.animation.player.first_person_attack",
        "first_person_attack_rotation": "animation.player.first_person.attack_rotation",
        "first_person_vr_attack_rotation": "animation.player.first_person.vr_attack_rotation",
        "first_person_walk": "animation.player.first_person.walk",
        "first_person_map_controller": "controller.animation.player.first_person_map",
        "first_person_map_hold": "animation.player.first_person.map_hold",
        "first_person_map_hold_attack": "animation.player.first_person.map_hold_attack",
        "first_person_map_hold_off_hand": "animation.player.first_person.map_hold_off_hand",
        "first_person_map_hold_main_hand": "animation.player.first_person.map_hold_main_hand",
        "first_person_crossbow_equipped": "animation.player.first_person.crossbow_equipped",
        "third_person_crossbow_equipped": "animation.player.crossbow_equipped",
        "third_person_bow_equipped": "animation.player.bow_equipped",
        "crossbow_hold": "animation.player.crossbow_hold",
        "crossbow_controller": "controller.animation.player.crossbow",
        "shield_block_main_hand": "animation.player.shield_block_main_hand",
        "shield_block_off_hand": "animation.player.shield_block_off_hand",
        "blink": "controller.animation.persona.blink",
		    "tooting_goat_horn": "animation.humanoid.tooting_goat_horn",
		    "holding_brush": "animation.humanoid.holding_brush",
		    "brushing": "animation.humanoid.brushing"
      },
      "render_controllers": [
        { "controller.render.player.strat": "v.strat" },
        { "controller.render.player.ar-23": "v.ar23" },
        { "controller.render.player.p-2": "v.p2" },
        {"controller.render.player.ar-23p":"v.ar23p"},
        {"controller.render.player.mg-43":"v.mg43"},
        {"controller.render.player.eat-17":"v.eat17"},
        { "controller.render.player.first_person_spectator": "variable.is_first_person && query.is_spectator" },
        { "controller.render.player.third_person_spectator": "!variable.is_first_person && !variable.map_face_icon && query.is_spectator" },
        { "controller.render.player.first_person": "variable.is_first_person && !query.is_spectator" },
        { "controller.render.player.third_person": "!variable.is_first_person && !variable.map_face_icon && !query.is_spectator" },
        { "controller.render.player.map": "variable.map_face_icon" }
      ],
      "enable_attachables": true
    }
  }
}
