{
  "format_version": "1.19.0",
  "animation_controllers": {
    "controller.animation.tsu_morph.attachable_attack": {
      "initial_state": "init",
      "states": {
        "init": {
          "transitions": [
            {
              "attacking": "q.player_level == 5678"
            }
          ],
          "blend_transition": 0.0
        },
        "attacking": {
          "animations": ["attack"],
          "transitions": [
            {
              "init": "q.all_animations_finished"
            }
          ],
          "blend_transition": 0.0
        }
      }
    },
    "controller.animation.tsu_morph.attachable_walk": {
      "initial_state": "init",
      "states": {
        "init": {
          "transitions": [
            {
              "walking": "q.is_moving"
            }
          ],
          "blend_transition": 0.1
        },
        "walking": {
          "animations": ["walk"],
          "transitions": [
            {
              "init": "!q.is_moving"
            }
          ],
          "blend_transition": 0.1
        }
      }
    },
    "controller.animation.tsu_morph.step_sounds": {
      "initial_state": "init",
      "states": {
        "init": {
          "on_entry": ["v.steptime = q.modified_distance_moved*v.step_interval;"],
          "transitions": [
            {
              "step": "q.is_on_ground && (q.modified_distance_moved*v.step_interval - v.steptime) > 1"
            }
          ]
        },
        "step": {
          "sound_effects": [
            {
              "effect": "step"
            }
          ],
          "transitions": [
            {
              "init": "1"
            }
          ]
        }
      }
    },
    "controller.animation.tsu_morph.hurt_sounds": {
      "initial_state": "init",
      "states": {
        "init": {
          "on_entry": ["v.current_health = q.health;"],
          "transitions": [
            {
              "hurt": "q.health < v.current_health"
            }
          ]
        },
        "hurt": {
          "sound_effects": [
            {
              "effect": "hurt"
            }
          ],
          "transitions": [
            {
              "init": "1"
            }
          ]
        }
      }
    },
    "controller.animation.tsu_morph.hurt": {
      "initial_state": "init",
      "states": {
        "init": {
          "on_entry": ["v.current_health = q.health;"],
          "transitions": [
            {
              "hurt": "q.health < v.current_health"
            }
          ]
        },
        "hurt": {
          "animations": ["hurt"],
          "transitions": [
            {
              "init": "q.all_animations_finished"
            }
          ]
        }
      }
    },
    "controller.animation.tsu_morph.item": {
      "initial_state": "init",
      "states": {
        "init": {
          "transitions": [
            {
              "bow": "q.is_item_name_any('slot.weapon.mainhand', 0, 'minecraft:bow')"
            },
            {
              "crossbow": "q.is_item_name_any('slot.weapon.mainhand', 0, 'minecraft:crossbow')"
            }
          ]
        },
        "bow": {
          "animations": [
            {
              "bow_and_arrow": "q.is_using_item"
            }
          ],
          "transitions": [
            {
              "init": "!q.is_item_name_any('slot.weapon.mainhand', 0, 'minecraft:bow')"
            }
          ]
        },
        "crossbow": {
          "animations": [
            {
              "crossbow_equipped": "!q.item_is_charged && query.item_remaining_use_duration > 0.0"
            },
            {
              "crossbow_hold": "q.item_is_charged"
            }
          ],
          "transitions": [
            {
              "init": "!q.is_item_name_any('slot.weapon.mainhand', 0, 'minecraft:crossbow')"
            }
          ]
        }
      }
    },
    "controller.animation.tsu_morph.holding_space": {
      "initial_state": "init",
      "states": {
        "init": {
          "transitions": [
            {
              "pressed_space": "q.is_jumping"
            }
          ]
        },
        "pressed_space": {
          "on_entry": ["v.delay=q.life_time;"],
          "transitions": [
            {
              "init": "!q.is_jumping || q.vertical_speed <= 0"
            },
            {
              "holding_space": "q.life_time - v.delay >= 0.5"
            }
          ],
          "blend_transition": 0.2
        },
        "holding_space": {
          "animations": ["holding_space"],
          "transitions": [
            {
              "init": "!q.is_jumping || q.vertical_speed <= 0"
            }
          ],
          "blend_transition": 0.2
        }
      }
    },
    "controller.animation.tsu_morph.ability_item_use": {
      "initial_state": "init",
      "states": {
        "init": {
          "transitions": [
            {
              "use_ability": "q.is_using_item && (v.has_ability_item ?? 0)"
            }
          ]
        },
        "use_ability": {
          "animations": ["ability_item_use"],
          "transitions": [
            {
              "init": "q.all_animations_finished && q.cooldown_time_remaining('slot.weapon.mainhand') == 0.0"
            }
          ]
        }
      }
    }
  }
}
