{
   "format_version":"1.10.0",
   "minecraft:client_entity":{
      "description":{
         "identifier":"minecraft:player",
         "materials":{
            "default":"entity_alphatest",
            "cape":"entity_alphatest",
            "animated":"player_animated"
         },
         "textures":{
            "default":"textures/entity/steve",
            "cape":"textures/entity/cape_invisible",
            "red_dot_sight":"textures/sights/red_dot_sight",
            "x2_scope":"textures/sights/x2_scope",
            "x4_scope":"textures/sights/x4_scope",
            "x6_scope":"textures/sights/x6_scope",
            "x8_scope":"textures/sights/x8_scope"
         },
         "geometry":{
            "default":"geometry.humanoid.custom",
            "cape":"geometry.cape",
            "red_dot_sight":"geometry.red_dot_sight",
            "x2_scope":"geometry.x2_scope",
            "x4_scope":"geometry.x4_scope",
            "x6_scope":"geometry.x6_scope",
            "x8_scope":"geometry.x8_scope"
         },
         "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;"
            ],
            "animate":[
               "root",
               {
                  "prone":"!variable.is_first_person && !query.is_moving && query.is_sheared"
               },
               {
                  "prone_crawling":"!variable.is_first_person && query.is_moving && query.is_sheared"
               },
               {
                  "prone_crawling_sneak":"!variable.is_first_person && query.is_moving && query.is_sheared && query.is_sneaking"
               },
               {
                  "red_dot_sight":"variable.red_dot_sight && variable.is_first_person && variable.is_sneaking"
               },
               {
                  "x2_scope":"variable.x2_scope && variable.is_first_person && variable.is_sneaking"
               },
               {
                  "x4_scope":"variable.x4_scope && variable.is_first_person && variable.is_sneaking"
               },
               {
                  "x6_scope":"variable.x6_scope && variable.is_first_person && variable.is_sneaking"
               },
               {
                  "x8_scope":"variable.x8_scope && variable.is_first_person && variable.is_sneaking"
               },
               {
                  "pistol_hold":"variable.pistol && !variable.is_first_person && !query.is_moving && !query.is_sheared"
               },
               {
                  "dbs_hold":"variable.dbs && !variable.is_first_person && !query.is_moving && !query.is_sheared"
               },
               {
                  "dbs_walking":"variable.dbs && !variable.is_first_person && query.is_moving && !query.is_sheared"
               },
               {
                  "m416_hold":"variable.m416 && !variable.is_first_person && !query.is_moving && !query.is_sheared"
               },
               {
                  "m416_walking":"variable.m416 && !variable.is_first_person && query.is_moving && !query.is_sheared"
               },
               {
                  "vss_hold":"variable.vss && !variable.is_first_person && !query.is_moving && !query.is_sheared"
               },
               {
                  "vss_walking":"variable.vss && !variable.is_first_person && query.is_moving && !query.is_sheared"
               }
            ],
            "pre_animation":[
               "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;",
               "variable.x2_scope = query.get_equipped_item_name('main_hand') == 'm416' || query.get_equipped_item_name('main_hand') == 'm416_red' || query.get_equipped_item_name('main_hand') == 'm416_blue' || query.get_equipped_item_name('main_hand') == 'm416_green'|| query.get_equipped_item_name('main_hand') == 'dbs' || query.get_equipped_item_name('main_hand') == 'dbs_red' || query.get_equipped_item_name('main_hand') == 'dbs_blue' || query.get_equipped_item_name('main_hand') == 'dbs_green';",
               "variable.x8_scope = query.get_equipped_item_name('main_hand') == 'vss' || query.get_equipped_item_name('main_hand') == 'vss_red' || query.get_equipped_item_name('main_hand') == 'vss_blue' || query.get_equipped_item_name('main_hand') == 'vss_green';",
               "variable.pistol = query.get_equipped_item_name('main_hand') == 'p1911' || query.get_equipped_item_name('main_hand') == 'p1911_red' || query.get_equipped_item_name('main_hand') == 'p1911_blue' || query.get_equipped_item_name('main_hand') == 'p1911_green' || query.get_equipped_item_name('main_hand') == 'p92' || query.get_equipped_item_name('main_hand') == 'p92_red' || query.get_equipped_item_name('main_hand') == 'p92_blue' || query.get_equipped_item_name('main_hand') == 'p92_green';",
               "variable.dbs = query.get_equipped_item_name('main_hand') == 'dbs' || query.get_equipped_item_name('main_hand') == 'dbs_red' || query.get_equipped_item_name('main_hand') == 'dbs_blue' || query.get_equipped_item_name('main_hand') == 'dbs_green';",
               "variable.m416 = query.get_equipped_item_name('main_hand') == 'm416' || query.get_equipped_item_name('main_hand') == 'm416_red' || query.get_equipped_item_name('main_hand') == 'm416_blue' || query.get_equipped_item_name('main_hand') == 'm416_green';",
               "variable.vss = query.get_equipped_item_name('main_hand') == 'vss' || query.get_equipped_item_name('main_hand') == 'vss_red' || query.get_equipped_item_name('main_hand') == 'vss_blue' || query.get_equipped_item_name('main_hand') == 'vss_green' || query.get_equipped_item_name('main_hand') == 'rpg_26';"
            ]
         },
         "animations":{
            "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",
            "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",
            "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_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",
            "prone":"animation.player.prone",
            "prone_crawling":"animation.player.prone_crawling",
            "prone_crawling_sneak":"animation.player.prone_crawling_sneak",
            "pistol_hold":"animation.player.pistol_hold",
            "dbs_hold":"animation.player.dbs_hold",
            "dbs_walking":"animation.player.dbs_walking",
            "m416_hold":"animation.player.m416_hold",
            "m416_walking":"animation.player.m416_walking",
            "vss_hold":"animation.player.vss_hold",
            "vss_walking":"animation.player.vss_walking"
         },
         "render_controllers":[
            {
               "controller.render.player.first_person":"variable.is_first_person"
            },
            {
               "controller.render.player.third_person":"!variable.is_first_person && !variable.map_face_icon"
            },
            {
               "controller.render.player.map":"variable.map_face_icon"
            },
            {
               "controller.render.red_dot_sight":"variable.red_dot_sight && variable.is_first_person && variable.is_sneaking"
            },
            {
               "controller.render.x2_scope":"variable.x2_scope && variable.is_first_person && variable.is_sneaking"
            },
            {
               "controller.render.x4_scope":"variable.x4_scope && variable.is_first_person && variable.is_sneaking"
            },
            {
               "controller.render.x6_scope":"variable.x6_scope && variable.is_first_person && variable.is_sneaking"
            },
            {
               "controller.render.x8_scope":"variable.x8_scope && variable.is_first_person && variable.is_sneaking"
            }
         ],
         "enable_attachables":true
      }
   }
}