{
    "format_version": "1.10.0",
    "animation_controllers": {
        "controller.animation.hb_we.bow_fp": {
            "initial_state": "wield",
            "states": {
                "wield": {
                    "animations": [
                        "wield_fp"
                    ],
                    "transitions": [
                        {
                            "pre_charge": "t.val = 0; t.i = 0; loop(27, {t.val = q.is_item_name_any('slot.inventory', t.i, 'minecraft:arrow'); t.val ? {return t.val;}; t.i = t.i+1;});"
                        },
                        {
                            "pre_charge": "t.val = 0; t.i = 0; loop(27, {t.val = q.is_item_name_any('slot.weapon.offhand', t.i, 'minecraft:arrow'); t.val ? {return t.val;}; t.i = t.i+1;});"
                        },
                        {
                            "pre_charge": "t.val = 0; t.i = 0; loop(27, {t.val = q.is_item_name_any('slot.hotbar', t.i, 'minecraft:arrow'); t.val ? {return t.val;}; t.i = t.i+1;});"
                        }
                    ]
                },
                "pre_charge": {
                    "animations": [
                        "wield_fp"
                    ],
                    "transitions": [
                        {
                            "charge": "v.is_using_item"
                        },
                        {
                            "wield": "t.val = 0; t.i = 0; loop(27, {t.val = !q.is_item_name_any('slot.inventory', t.i, 'minecraft:arrow'); t.val ? {return t.val;}; t.i = t.i+1;});"
                        },
                        {
                            "wield": "t.val = 0; t.i = 0; loop(27, {t.val = !q.is_item_name_any('slot.weapon.offhand', t.i, 'minecraft:arrow'); t.val ? {return t.val;}; t.i = t.i+1;});"
                        },
                        {
                            "wield": "t.val = 0; t.i = 0; loop(27, {t.val = !q.is_item_name_any('slot.hotbar', t.i, 'minecraft:arrow'); t.val ? {return t.val;}; t.i = t.i+1;});"
                        }
                    ]
                },
                "charge": {
                    "animations": [
                        "charge_fp"
                    ],
                    "transitions": [
                        {
                            "wield": "!v.is_using_item"
                        },
                        {
                            "hold": "v.is_using_item && q.all_animations_finished"
                        }
                    ]
                },
                "hold": {
                    "animations": [
                        "hold_fp"
                    ],
                    "transitions": [
                        {
                            "release": "!v.is_using_item && q.all_animations_finished"
                        }
                    ],
                    "blend_transition": 0.4
                },
                "release": {
                    "animations": [
                        "release_fp"
                    ],
                    "transitions": [
                        {
                            "wield": "q.all_animations_finished"
                        }
                    ]
                }
            }
        },
        "controller.animation.hb_we.bow_tp": {
            "initial_state": "wield",
            "states": {
                "wield": {
                    "animations": [
                        "wield_tp"
                    ],
                    "transitions": [
                        {
                            "pre_charge": "t.val = 0; t.i = 0; loop(27, {t.val = q.is_item_name_any('slot.inventory', t.i, 'minecraft:arrow'); t.val ? {return t.val;}; t.i = t.i+1;});"
                        },
                        {
                            "pre_charge": "t.val = 0; t.i = 0; loop(27, {t.val = q.is_item_name_any('slot.weapon.offhand', t.i, 'minecraft:arrow'); t.val ? {return t.val;}; t.i = t.i+1;});"
                        },
                        {
                            "pre_charge": "t.val = 0; t.i = 0; loop(27, {t.val = q.is_item_name_any('slot.hotbar', t.i, 'minecraft:arrow'); t.val ? {return t.val;}; t.i = t.i+1;});"
                        }
                    ]
                },
                "pre_charge": {
                    "animations": [
                        "wield_tp"
                    ],
                    "transitions": [
                        {
                            "charge": "v.is_using_item"
                        },
                        {
                            "wield": "t.val = 0; t.i = 0; loop(27, {t.val = !q.is_item_name_any('slot.inventory', t.i, 'minecraft:arrow'); t.val ? {return t.val;}; t.i = t.i+1;});"
                        },
                        {
                            "wield": "t.val = 0; t.i = 0; loop(27, {t.val = !q.is_item_name_any('slot.weapon.offhand', t.i, 'minecraft:arrow'); t.val ? {return t.val;}; t.i = t.i+1;});"
                        },
                        {
                            "wield": "t.val = 0; t.i = 0; loop(27, {t.val = !q.is_item_name_any('slot.hotbar', t.i, 'minecraft:arrow'); t.val ? {return t.val;}; t.i = t.i+1;});"
                        }
                    ]
                },
                "charge": {
                    "animations": [
                        "charge_tp"
                    ],
                    "transitions": [
                        {
                            "wield": "!v.is_using_item"
                        },
                        {
                            "hold": "v.is_using_item && q.all_animations_finished"
                        }
                    ]
                },
                "hold": {
                    "animations": [
                        "hold_tp"
                    ],
                    "transitions": [
                        {
                            "release": "!v.is_using_item && q.all_animations_finished"
                        }
                    ],
                    "blend_transition": 0.4
                },
                "release": {
                    "animations": [
                        "release_tp"
                    ],
                    "transitions": [
                        {
                            "wield": "q.all_animations_finished"
                        }
                    ]
                }
            }
        }
    }
}