{
    "format_version": "1.8.0",
    "animations": {
        "animation.player.attack.positions": {
            "loop": true,
            "bones": {
                "head": {
                    "rotation": [ 0.0, 0.0, 0.0 ]
                }
            }
        },
        "animation.player.attack.rotations": {
            "loop": true,
            "bones": {
                "body": {
                    "rotation": [ 0.0, "variable.attack_body_rot_y", 0.0 ]
                },
                "leftarm": {
                    "rotation": [ "-(math.sin((1 - math.pow((1 - variable.attack_time), 4)) * 180) * 1.2 + math.sin(variable.attack_time * 180)) * 10.0", 0.0, 0.0 ]
                },
                "rightarm": {
                    "rotation": [ "-(math.sin((1 - math.pow((1 - variable.attack_time), 4)) * 180) * 1.2 + math.sin(variable.attack_time * 180)) * 30.0", "-(math.sin((1 - math.pow((1 - variable.attack_time), 4)) * 180) ? (-90.0 * math.sin((1 - math.pow((1 - variable.attack_time), 4)) * 180)) + 30.0 : 0.0)", 0.0 ]
                }
            }
        },
        "animation.player.base_pose.upside_down": {
            "loop": true,
            "bones": {
                "waist": {
                    "position": [ 0.0, 8.0, 0.0 ],
                    "rotation": [ 0.0, 0.0, 180.0 ]
                }
            }
        },
        "animation.player.bob": {
            "loop": true,
            "bones": {
                "leftarm": {
                    "rotation": [ 0.0, 0.0, "-((math.cos(query.life_time * 103.2) * 2.865) + 2.865)" ]
                },
                "rightarm": {
                    "rotation": [ 0.0, 0.0, "(math.cos(query.life_time * 103.2) * 2.865) + 2.865" ]
                }
            }
        },
        "animation.player.bob.stationary": {
            "loop": true,
            "bones": {
                "leftarm": {
                    "rotation": [ 0.0, 0.0, "-((math.cos(query.life_time * 103.2) * 2.865) + 2.865)" ]
                },
                "rightarm": {
                    "rotation": [ 0.0, 0.0, "(math.cos(query.life_time * 103.2) * 2.865) + 2.865" ]
                }
            }
        },
        "animation.player.bow_equipped": {
            "loop": true,
            "bones": {
                "leftarm": {
                    "rotation": [ "-90.0 + query.target_x_rotation - query.is_sneaking * 15.0 - this", "27.5 + query.target_y_rotation", 0.0 ]
                },
                "rightarm": {
                    "rotation": [ "-90.0 + query.target_x_rotation - query.is_sneaking * 15.0 - this", "-5.0 + query.target_y_rotation", 0.0 ]
                },
                "rightitem": {
                    "rotation": [ 0.0, -10.0, 0.0 ]
                }
            }
        },
        "animation.player.cape": {
            "loop": true,
            "bones": {
                "cape": {
                    "position": [ 0.0, "query.get_root_locator_offset('armor_offset.default_neck', 1)", 0.0 ],
                    "rotation": [ "math.lerp(0.0, -126.0, query.cape_flap_amount) - 6.0", 0.0, 0.0 ]
                }
            }
        },
        "animation.player.crossbow_equipped": {
            "loop": true,
            "bones": {
                "leftarm": {
                    "position": [ 0.0, 0.0, 0.5 ],
                    "rotation": [ "-this - 65.0 - (1.0 - variable.item_use_normalized) * 5.0", "-this + (1.0 - variable.item_use_normalized) * 30.0", "-this + 20.0 + (1.0 - variable.item_use_normalized) * 10.0" ]
                },
                "rightarm": {
                    "rotation": [ "- 60.0 - this", "- 45.0 - this", "- 2.5 - this" ]
                }
            }
        },
        "animation.player.crossbow_hold": {
            "loop": true,
            "bones": {
                "leftarm": {
                    "rotation": [ "query.is_swimming ? 0.0 : -93.0 + query.target_x_rotation - query.is_sneaking * 27.0 -this", "query.is_swimming ? 0.0 : 42.0 + math.clamp(query.target_y_rotation, -45.0, 5.0) -this", "query.is_sneaking * -15.0" ]
                },
                "rightarm": {
                    "rotation": [ "query.is_swimming ? 0.0 : -93.0 + query.target_x_rotation - query.is_sneaking * 27.0 -this", "query.is_swimming ? 0.0 : math.clamp(query.target_y_rotation, -60.0, 45.0) -this", 0.0 ]
                }
            }
        },
        "animation.player.melee_spear_attack": {
            "loop": true,
            "bones": {
                "body": {
                    "rotation": [ 0.0, "v.attack_body_rot_y", 0.0 ]
                },
                "rightarm": {
                    "rotation": [
                        "v.tp_melee_spear_base_arm_rotation_x + q.target_x_rotation - q.is_sneaking * 27.0 - this + v.tp_melee_spear_attack_arm_rotation_x",
                        "math.clamp(q.target_y_rotation, -60.0, 45.0) - this - v.attack_body_rot_y",
                        0.0
                    ]
                },
                "rightitem": {
                    "position": [ 0.0, -1.5, -1.5 ],
                    "rotation": [ "v.tp_melee_spear_attack_item_rotation_x", 0.0, 0.0 ]
                }
            }
        },
        // Apparently not used by any Vanilla content.
        "animation.player.glide": {
            "loop": true,
            "bones": {
                "leftarm": {
                    "rotation": [ "variable.tcos0", 0.0, 0.0 ]
                },
                "leftleg": {
                    "rotation": [ "variable.tcos0 * -1.4", -0.1, -0.1 ]
                },
                "rightarm": {
                    "rotation": [ "-variable.tcos0", 0.0, 0.0 ]
                },
                "rightleg": {
                    "rotation": [ "variable.tcos0 * 1.4", 0.1, 0.1 ]
                }
            }
        },
        "animation.player.holding": {
            "loop": true,
            "bones": {
                "leftarm": {
                    "rotation": [ "variable.is_holding_left ? (-this * 0.5 - 18.0) : 0.0", 0.0, 0.0 ]
                },
                "rightarm": {
                    "rotation": [ "variable.is_holding_right ? (-this * 0.5 - 18.0) : 0.0", 0.0, 0.0 ]
                }
            }
        },
        "animation.player.holding_heavy_core": {
            "loop": true,
            "bones": {
                "rightItem": {
                    "scale": 0.7,
                    "position": [ -1.0, 0.0, -2.0 ]
                }
            }
        },
        "animation.player.holding.zombie": {
            "loop": true,
            "bones": {
                "leftarm": {
                    "rotation": [ 0.0, 0.0, 0.0 ]
                },
                "rightarm": {
                    "rotation": [ 0.0, 0.0, 0.0 ]
                }
            }
        },
        "animation.player.look_at_target.inverted": {
            "loop": true,
            "bones": {
                "head": {
                    "rotation": [ "-query.target_x_rotation", "-query.target_y_rotation", 0.0 ]
                }
            }
        },
        "animation.player.look_at_target.ui": {
            "loop": true,
            "bones": {
                "head": {
                    "rotation": [ "query.target_x_rotation", "query.target_y_rotation", 0.0 ]
                }
            }
        },
        "animation.player.move.arms": {
            "loop": true,
            "bones": {
                "leftarm": {
                    "rotation": [ "variable.tcos0", 0.0, 0.0 ]
                },
                "rightarm": {
                    "rotation": [ "-variable.tcos0", 0.0, 0.0 ]
                }
            }
        },
        "animation.player.move.arms.single": {
            "loop": true,
            "bones": {
                "leftarm": {
                    "rotation": [ "-variable.tcos0", 0.0, 0.0 ]
                },
                "rightarm": {
                    "rotation": [ "-variable.tcos0", 0.0, 0.0 ]
                }
            }
        },
        "animation.player.move.arms.stationary": {
            "loop": true,
            "bones": {
                "leftarm": {
                    "rotation": [ 0.0, 0.0, 0.0 ]
                },
                "rightarm": {
                    "rotation": [ 0.0, 0.0, 0.0 ]
                }
            }
        },
        "animation.player.move.arms.statue_of_liberty": {
            "loop": true,
            "bones": {
                "leftarm": {
                    "rotation": [ "variable.tcos0", 0.0, 0.0 ]
                },
                "rightarm": {
                    "rotation": [ "variable.is_holding_right || math.sin((1 - math.pow((1 - variable.attack_time), 4)) * 180) > 0.0  ? -variable.tcos0 : 180.0", 0.0, "variable.is_holding_right || math.sin((1 - math.pow((1 - variable.attack_time), 4)) * 180) > 0.0 ? 0.0 : -17.2" ]
                }
            }
        },
        "animation.player.move.arms.zombie": {
            "loop": true,
            "bones": {
                "leftarm": {
                    "rotation": [ -90.0, 0.0, 0.0 ]
                },
                "rightarm": {
                    "rotation": [ -90.0, 0.0, 0.0 ]
                }
            }
        },
        "animation.player.move.legs": {
            "loop": true,
            "bones": {
                "leftleg": {
                    "rotation": [ "variable.tcos0 * -1.4", -0.1, -0.1 ]
                },
                "rightleg": {
                    "rotation": [ "variable.tcos0 * 1.4", 0.1, 0.1 ]
                }
            }
        },
        "animation.player.move.legs.inverted": {
            "loop": true,
            "bones": {
                "leftleg": {
                    "position": [ 0.0, 8.0, 0.0 ],
                    "rotation": [ "variable.tcos0", -0.1, 179.9 ]
                },
                "rightleg": {
                    "position": [ 0.0, 8.0, 0.0 ],
                    "rotation": [ "-variable.tcos0", 0.1, 180.1 ]
                }
            }
        },
        "animation.player.move.legs.single": {
            "loop": true,
            "bones": {
                "leftleg": {
                    "rotation": [ "variable.tcos0", -0.1, -0.1 ]
                },
                "rightleg": {
                    "rotation": [ "variable.tcos0", 0.1, 0.1 ]
                }
            }
        },
        "animation.player.move.legs.stationary": {
            "loop": true,
            "bones": {
                "leftleg": {
                    "rotation": [ 0.0, -0.1, -0.1 ]
                },
                "rightleg": {
                    "rotation": [ 0.0, 0.1, 0.1 ]
                }
            }
        },
        "animation.player.riding.root": {
            "loop": true,
            "bones": {
                "root": {
                    "position": [ 0.0, "variable.riding_y_offset ?? 0.0", 0.0 ]
                }
            }
        },
        "animation.player.riding.arms": {
            "loop": true,
            "bones": {
                "leftarm": {
                    "rotation": [ -36.0, 0.0, 0.0 ]
                },
                "rightarm": {
                    "rotation": [ -36.0, 0.0, 0.0 ]
                }
            }
        },
        "animation.player.riding.arms.zombie": {
            "loop": true,
            "bones": {
                "leftarm": {
                    "rotation": [ 45.0, 0.0, 0.0 ]
                },
                "rightarm": {
                    "rotation": [ 45.0, 0.0, 0.0 ]
                }
            }
        },
        "animation.player.riding.legs": {
            "loop": true,
            "bones": {
                "leftleg": {
                    "rotation": [ "-81.0 - this", "-18.0 - this", "-this" ]
                },
                "rightleg": {
                    "rotation": [ "-81.0 - this", "18.0 - this", "-this" ]
                }
            }
        },
        "animation.player.shield_block_main_hand": {
            "loop": true,
            "bones": {
                "rightarm": {
                    "rotation": [ -20.0, -30.0, -25.0 ]
                },
                "rightitem": {
                    "position": [ -1.0, -3.0, 0.0 ],
                    "rotation": [ 0.0, -60.0, -45.0 ]
                }
            }
        },
        "animation.player.shield_block_off_hand": {
            "loop": true,
            "bones": {
                "leftarm": {
                    "rotation": [ -20.0, 20.0, 20.0 ]
                },
                "leftitem": {
                    "position": [ "1.0 + query.item_is_charged * 1.5", "-3.0 + query.item_is_charged", 0.0 ],
                    "rotation": [ "query.item_is_charged * 30.0", "70.0 - query.item_is_charged * 60.0", "65.0 - query.item_is_charged * 15.0" ]
                }
            }
        },
        "animation.player.sleeping": {
            "loop": true,
            "override_previous_animation": true,
            "bones": {
                "head": {
                    "rotation": [ "30.0 - this", "-this", "-this" ]
                },
                "root": {
                    "position": [ "24.0 * math.cos(query.body_y_rotation) * math.cos(query.sleep_rotation) - 24.0 * math.sin(query.body_y_rotation) * math.sin(query.sleep_rotation)", 0.0, "24.0 * math.cos(query.body_y_rotation) * math.sin(query.sleep_rotation) + 24.0 * math.sin(query.body_y_rotation) * math.cos(query.sleep_rotation)" ],
                    "rotation": [ -90.0, "270.0 - query.sleep_rotation - query.body_y_rotation", 0.0 ]
                }
            }
        },
        "animation.player.sneaking": {
            "loop": true,
            "bones": {
                "body": {
                    "position": [ 0.0, -2.0, 0.0 ]
                },
                "head": {
                    "position": [ 0.0, -1.0, 0.0 ]
                },
                "leftarm": {
                    "rotation": [ -5.7, 0.0, 0.0 ]
                },
                "leftleg": {
                    "rotation": [ -28.0, -0.1, -0.1 ]
                },
                "rightarm": {
                    "rotation": [ -5.7, 0.0, 0.0 ]
                },
                "rightleg": {
                    "rotation": [ -28.0, 0.1, 0.1 ]
                },
                "root": {
                    "position": [ 0.0, 1.25, 9.0 ],
                    "rotation": [ "28.0 - this", 0.0, 0.0 ]
                }
            }
        },
        "animation.player.sneaking.inverted": {
            "loop": true,
            "bones": {
                "body": {
                    "position": [ 0.0, -2.0, 0.0 ]
                },
                "head": {
                    "position": [ 0.0, -1.0, 0.0 ],
                    "rotation": [ -28.0, 0.0, 0.0 ]
                },
                "leftarm": {
                    "rotation": [ -5.7, 0.0, 0.0 ]
                },
                "leftleg": {
                    "rotation": [ 28.0, -0.1, -0.1 ]
                },
                "rightarm": {
                    "rotation": [ -5.7, 0.0, 0.0 ]
                },
                "rightleg": {
                    "rotation": [ 28.0, 0.1, 0.1 ]
                },
                "root": {
                    "position": [ 0.0, 1.25, -8.0 ],
                    "rotation": [ "-28.0 - this", 0.0, 0.0 ]
                }
            }
        },
        "animation.player.swim": {
            "animation_length": 1.3,
            "loop": true,
            "override_previous_animation": true,
            "bones": {
                "leftarm": {
                    "rotation": {
                        "0": [ 0.0, 180.0, 180.0 ],
                        "0.7": [ 0.0, 180.0, 287.2 ],
                        "1.1": [ 90.0, 180.0, 180.0 ],
                        "1.3": [ 0.0, 180.0, 180.0 ]
                    }
                },
                "rightarm": {
                    "rotation": {
                        "0": [ 0.0, 180.0, -180.0 ],
                        "0.7": [ 0.0, 180.0, -287.2 ],
                        "1.1": [ 90.0, 180.0, -180.0 ],
                        "1.3": [ 0.0, 180.0, -180.0 ]
                    }
                },
                "root": {
                    "position": [ 0.0, "(math.sin(query.target_x_rotation) * 17.0 + 5.0) * variable.swim_amount", "(math.cos(query.target_x_rotation) * 17.0) * variable.swim_amount" ],
                    "rotation": [ "variable.swim_amount * (90 + query.target_x_rotation)", 0.0, 0.0 ]
                }
            }
        },
        "animation.player.swim.no_right_arm": {
            "animation_length": 1.3,
            "loop": true,
            "override_previous_animation": true,
            "bones": {
                "leftarm": {
                    "rotation": {
                        "0": [ 0.0, 180.0, 180.0 ],
                        "0.7": [ 0.0, 180.0, 287.2 ],
                        "1.1": [ 90.0, 180.0, 180.0 ],
                        "1.3": [ 0.0, 180.0, 180.0 ]
                    }
                },
                "root": {
                    "position": [ 0.0, "(math.sin(query.target_x_rotation) * 17.0 + 5.0) * variable.swim_amount", "(math.cos(query.target_x_rotation) * 17.0) * variable.swim_amount" ],
                    "rotation": [ "variable.swim_amount * (90 + query.target_x_rotation)", 0.0, 0.0 ]
                }
            }
        },
        "animation.player.swim.legs": {
            "loop": true,
            "override_previous_animation": true,
            "bones": {
                "leftleg": {
                    "rotation": [ "math.lerp(0.0, math.cos(query.life_time * 390.0 + 180.0) * 17.2, variable.swim_amount)", -0.1, -0.1 ]
                },
                "rightleg": {
                    "rotation": [ "math.lerp(0.0, math.cos(query.life_time * 390.0) * 17.2, variable.swim_amount)", 0.1, 0.1 ]
                }
            }
        },
        "animation.player.swim.legs.single": {
            "loop": true,
            "override_previous_animation": true,
            "bones": {
                "leftleg": {
                    "rotation": [ "math.lerp(0.0, math.cos(query.life_time * 390.0) * 17.2, variable.swim_amount)", -0.1, -0.1 ]
                },
                "rightleg": {
                    "rotation": [ "math.lerp(0.0, math.cos(query.life_time * 390.0) * 17.2, variable.swim_amount)", 0.1, 0.1 ]
                }
            }
        },
        "animation.player.swim.legs.stationary": {
            "loop": true,
            "bones": {
                "leftleg": {
                    "rotation": [ 0.0, -0.1, -0.1 ]
                },
                "rightleg": {
                    "rotation": [ 0.0, 0.1, 0.1 ]
                }
            }
        },
        "animation.player.crawl": {
            "anim_time_update": "query.modified_distance_moved / 15.0",
            "animation_length": 1.3,
            "loop": true,
            "override_previous_animation": true,
            "bones": {
                "leftarm": {
                    "rotation": {
                        "0": [ 0.0, 180.0, 180.0 ],
                        "0.7": [ 0.0, 180.0, 287.2 ],
                        "1.1": [ 90.0, 180.0, 180.0 ],
                        "1.3": [ 0.0, 180.0, 180.0 ]
                    }
                },
                "rightarm": {
                    "rotation": {
                        "0": [ 0.0, 180.0, -180.0 ],
                        "0.7": [ 0.0, 180.0, -287.2 ],
                        "1.1": [ 90.0, 180.0, -180.0 ],
                        "1.3": [ 0.0, 180.0, -180.0 ]
                    }
                },
                "root": {
                    "position": [ 0.0, "5.0 * variable.swim_amount", "17.0 * variable.swim_amount" ],
                    "rotation": [ "variable.swim_amount * 90", 0.0, 0.0 ]
                }
            }
        },
        "animation.player.crawl.no_right_arm": {
            "anim_time_update": "query.modified_distance_moved / 15.0",
            "animation_length": 1.3,
            "loop": true,
            "override_previous_animation": true,
            "bones": {
                "leftarm": {
                    "rotation": {
                        "0": [ 0.0, 180.0, 180.0 ],
                        "0.7": [ 0.0, 180.0, 287.2 ],
                        "1.1": [ 90.0, 180.0, 180.0 ],
                        "1.3": [ 0.0, 180.0, 180.0 ]
                    }
                },
                "root": {
                    "position": [ 0.0, "5.0 * variable.swim_amount", "17.0 * variable.swim_amount" ],
                    "rotation": [ "variable.swim_amount * 90", 0.0, 0.0 ]
                }
            }
        },
        "animation.player.crawl.legs": {
            "loop": true,
            "override_previous_animation": true,
            "bones": {
                "leftleg": {
                    "rotation": [ "math.lerp(0.0, math.cos(query.modified_distance_moved * 30.0 + 180.0) * 17.2, variable.swim_amount)", -0.1, -0.1 ]
                },
                "rightleg": {
                    "rotation": [ "math.lerp(0.0, math.cos(query.modified_distance_moved * 30.0) * 17.2, variable.swim_amount)", 0.1, 0.1 ]
                }
            }
        }
    }
}
