//This JSON was modified by ambient (ambient#2309) and Rainvay_ZCYF (@ZouChenyunfei). Please do not use this document without permission.
{
  "format_version": "1.8.0",
  "animations": {
    "animation.player.first_person.attack_rotation": {
      "loop": true,
      "animation_length": 0.55,
      "anim_time_update": "(variable.attack_time * 0.55)",
      "bones": {
        "rightArm": {
          "rotation": {
            "0.0": [0, 0, 0],
            "0.01": [-37.5, 21.5, 16.5],
            "0.05": [-51, 37, 24.75 ],
            "0.07": [-45.5, 47, 27.5],
            "0.12": [-41, 52.5, 23.5],
            "0.17": [-40, 48, 22],
            "0.22": [-35, 46, 18],
            "0.3": [-30, 40, 14.5],
            "0.35": [-22, 30, 8],
            "0.47": [-10, 17.5, 4],
            "0.55": [0, 0, 0]
          },
          "position": {
            "0.0": [0, 0, 0],
            "0.01": [-1.75, 6.7, 0],
            "0.05": [-2.4, 6.0, 0.3],
            "0.07": [-3.2, 5.1, 0.6],
            "0.12": [-3.2, 1.5, 1.1],
            "0.17": [-3.2, 0.3, 1.4],
            "0.22": [-3.2, -2.1, 1.5],
            "0.3": [-3.2, -4.2, 1.6],
            "0.35": [-3.15, -5.6, 1.8],
            "0.47": [-1.4, -3.6, 1.5],
            "0.55": [0, 0, 0]
          }
        }
      }
    },
    "animation.player.first_person.base_pose": {
      "loop": true,
      "bones": {
        "body": {
          "rotation": [ "query.target_x_rotation", "query.target_y_rotation", 0.0 ]
        }
      }
    },
    "animation.player.first_person.crossbow_equipped": {
      "loop": true,
      "override_previous_animation": true,
      "bones": {
        "leftarm": {
          "position": [ "1.5 - variable.item_use_normalized * 3.5", "-3.799999952316284 + variable.short_arm_offset_left + 2", "8.25 - (1 - variable.item_use_normalized)" ],
          "rotation": [ 165.0, -60.0, 45.0 ],
          "scale": [ 0.0, 0.0, 0.0 ]
        },
        "rightitem": {
          "position": [ "4.0", "3.5-variable.item_use_normalized*0.2", "-2.0-variable.item_use_normalized*0.2" ],
          "rotation": [ -0.0, -3.0, -30.0 ],
          "scale": "1.5-variable.item_use_normalized*0.1"
        }
      }
    },
    "animation.player.first_person.crossbow_hold": {
      "loop": true,
      "bones": {
        "leftarm": {
          "scale": 0.0
        },
        "rightitem": {
          "position": [ 6.0, 5.0, -12.5 ],
          "rotation": [ 0.0, -5.0, -5.0 ],
          "scale": 1.2
        }
      }
    },
    "animation.player.first_person.empty_hand": { //I would use an animation controller for the shield version, but it doesn't work correctly.
      "loop": true,
      "bones": {
        "rightarm": {
          "position": [ "q.is_item_name_any('slot.weapon.mainhand', 'minecraft:shield') ? 13.5 : 13.05", "q.is_item_name_any('slot.weapon.mainhand', 'minecraft:shield') ? -9.5 : -7.5 + variable.short_arm_offset_right * 1.5", "q.is_item_name_any('slot.weapon.mainhand', 'minecraft:shield') ? 12.0 : 10.5" ],
          "rotation": [ "q.is_item_name_any('slot.weapon.mainhand', 'minecraft:shield') ? 95.0 + variable.is_using_vr * 7.5 : 95.5 + variable.is_using_vr * 7.5", "q.is_item_name_any('slot.weapon.mainhand', 'minecraft:shield') ? -45.0 + variable.is_using_vr * 7.5 : -40.0 + variable.is_using_vr * 7.5", "q.is_item_name_any('slot.weapon.mainhand', 'minecraft:shield') ? 115.0 + variable.is_using_vr * -2.5 : 116.0 + variable.is_using_vr * -2.5" ]
        }
      }
    },
    "animation.player.first_person.map_hold": {
      "loop": true,
      "bones": {
        "leftarm": {
          "position": [ "-17.75 + variable.is_vertical_splitscreen * 7.0", "-9.75 - variable.map_angle * 8.0 + variable.is_vertical_splitscreen * 0.6 - variable.short_arm_offset_left * -1.0", "10.0 - variable.map_angle * 8.0 + variable.short_arm_offset_left" ],
          "rotation": [ 40.0, -22.5, -152.5 ],
          "scale": [ 1.20, 1.20, 1.20 ]
        },
        "rightarm": {
          "position": [ "17.25 + variable.is_vertical_splitscreen * 7.0", "-9.75 - variable.map_angle * 8.0 + variable.is_vertical_splitscreen * 0.6 - variable.short_arm_offset_right * -1.0", "10.0 - variable.map_angle * 8.0 + variable.short_arm_offset_right" ],
          "rotation": [ 40.0, 22.5, 152.5 ],
          "scale": [ 1.20, 1.20, 1.20 ]
        }
      }
    },
    "animation.player.first_person.map_hold_attack": {
      "loop": true,
      "bones": {
        "leftarm": {
          "position": [ "math.sin(variable.first_person_rotation_factor * variable.attack_time * 112.0) * 2.0", "math.sin(variable.first_person_rotation_factor * (1.0 - variable.attack_time) * (1.0 - variable.attack_time)) * 3.75 - variable.first_person_rotation_factor * variable.attack_time * 1.25", "math.sin(variable.first_person_rotation_factor * variable.attack_time * 1.0) * 5.75" ],
          "rotation": [ 0.0, 0.0, 0.0 ]
        },
        "rightarm": {
          "position": [ "(variable.first_person_rotation_factor * variable.attack_time * 6.0) * (-3.0 + variable.short_arm_offset_right * 0.25)", "(variable.first_person_rotation_factor * (1.0 - variable.attack_time) * 6.0) * (1.85 - variable.short_arm_offset_right * 0.125)", "math.sin(variable.first_person_rotation_factor * variable.attack_time * 120.0) * 5.25" ],
          "rotation": [ "variable.map_angle * 90.0", 0.0, "variable.attack_time * (30 + variable.short_arm_offset_right * 5)" ]
        }
      }
    },
    "animation.player.first_person.map_hold_main_hand": {
      "loop": true,
      "bones": {
        "rightarm": {
          "position": [ "14.50 - variable.is_vertical_splitscreen * 0.75 - variable.short_arm_offset_right * 0.0625", "-8.25 + variable.short_arm_offset_right * 1.575 + math.sin(variable.first_person_rotation_factor * (1.0 - variable.attack_time) * (1.0 - variable.attack_time) * 200.0) * 2.75 - variable.first_person_rotation_factor * variable.attack_time * 3.0 - variable.is_horizontal_splitscreen", "11.5 + math.sin(variable.first_person_rotation_factor * variable.attack_time * 120.0) * 3.5 + variable.is_horizontal_splitscreen * 3.5 + variable.short_arm_offset_right * 0.1125" ],
          "rotation": [ 195.0, 182.5, -5.0 ],
          "scale": [ 0.75, 0.75, 0.75 ]
        }
      }
    },
    "animation.player.first_person.map_hold_off_hand": {
      "loop": true,
      "bones": {
        "leftarm": {
          "position": [ "-14.50 + variable.is_horizontal_splitscreen * 2.0 + variable.is_vertical_splitscreen * 8.7 + variable.short_arm_offset_right * 0.0625", "-8.250 + variable.short_arm_offset_left * 1.575", "11.50 + variable.is_horizontal_splitscreen * 0.5 + variable.short_arm_offset_left * 0.1125" ],
          "rotation": [ 195.0, 182.5, 2.5 ],
          "scale": [ 0.75, 0.75, 0.75 ]
        }
      }
    },
    "animation.player.first_person.vr_attack_rotation": {
      "loop": true,
      "bones": {
        "rightarm": {
          "position": [ "5.0 * math.sin(variable.first_person_rotation_factor * variable.attack_time * 112.0)", "(math.sin(variable.first_person_rotation_factor * (1.0 - variable.attack_time) * (1.0 - variable.attack_time) * 200.0) - 0.8) * 8.75 + 5.0", "math.sin(variable.first_person_rotation_factor * variable.attack_time * 120.0) * 15.0" ],
          "rotation": [ "30.7 * math.sin(variable.first_person_rotation_factor * variable.attack_time * -180.0 - 45.0) * 1.5", 0.0, "21.8 * math.sin(variable.first_person_rotation_factor * variable.attack_time * 200.0 + 30.0) * 1.25" ]
        }
      }
    },
    "animation.player.first_person.walk": {
      "loop": true,
      "bones": {
        "leftarm": {
          "position": [ 0.0, 0.0, 0.0 ]
        },
        "rightarm": {
          "position": [ 0.0, 0.0, 0.0 ]
        }
      }
    }
  }
}
