{
  "format_version": "1.10.0",
  "animation_controllers": {
    "controller.animation.gojo": {
      "states": {
        "default": {
          "transitions": [
            { "black_flash": "q.get_equipped_item_name=='gojo_skills' && q.property('wesl3y:animes') == 6 && q.property('wesl3y:characters') == 2 && query.scoreboard('wg:skill') == 0 && query.scoreboard('wg:cooldown') == 0 && q.is_using_item" },
            { "mugen": "q.get_equipped_item_name=='gojo_skills' && q.property('wesl3y:animes') == 6 && q.property('wesl3y:characters') == 2 && query.scoreboard('wg:skill') == 1 && query.scoreboard('wg:cooldown2') == 0 && q.is_using_item" },
            { "blue": "q.get_equipped_item_name=='gojo_skills' && q.property('wesl3y:animes') == 6 && q.property('wesl3y:characters') == 2 && query.scoreboard('wg:skill') == 2 && query.scoreboard('wg:cooldown3') == 0 && q.is_using_item" },
            { "red": "q.get_equipped_item_name=='gojo_skills' && q.property('wesl3y:animes') == 6 && q.property('wesl3y:characters') == 2 && query.scoreboard('wg:skill') == 3 && query.scoreboard('wg:cooldown4') == 0 && q.is_using_item" },
            { "attack1": "q.get_equipped_item_name=='gojo_skills' && q.property('wesl3y:animes') == 6 && q.property('wesl3y:characters') == 2 && v.attack_time > 0.0" }
          ],
          "on_entry": [
            "/event entity @s wesl3y:skill0",
            "/inputpermission set @s movement enabled",
            "/tag @s remove skill_distance"
          ]
        },
        "attack1": {
          "animations": ["timer.0_3"],
          "transitions": [
            { "default": "q.get_equipped_item_name!='gojo_skills'" },
            { "attack2": "v.attack_time > 0.0 && q.any_animation_finished" },
            { "attack1_2": "query.any_animation_finished" }
          ],
          "on_entry": [
            "/summon wesl3y:gojo_damage ^^^-1 ~~ wesl3y:impulse_hit",
            "/execute at @s[tag=gojo_black_flash] anchored eyes positioned ^^^1 run function jujutsu_kaisen/gojo/black_flash",
            "/event entity @s wesl3y:skill1"
          ]
        },
        "attack1_2": {
          "animations": ["timer.0_1"],
          "transitions": [
            { "attack2": "v.attack_time > 0.0" },
            { "default": "query.any_animation_finished" }
          ]
        },
        "attack2": {
          "animations": ["timer.0_3"],
          "transitions": [
            { "default": "q.get_equipped_item_name!='gojo_skills'" },
            { "super_kick": "v.attack_time > 0.0 && query.any_animation_finished" },
            { "attack2_2": "query.any_animation_finished" }
          ],
          "on_entry": [
            "/summon wesl3y:gojo_damage ^^^-1 ~~ wesl3y:impulse_hit",
            "/execute at @s[tag=gojo_black_flash] anchored eyes positioned ^^^1 run function jujutsu_kaisen/gojo/black_flash",
            "/event entity @s wesl3y:skill2"
          ]
        },
        "attack2_2": {
          "animations": ["timer.0_1"],
          "transitions": [
            { "super_kick": "v.attack_time > 0.0" },
            { "default": "query.any_animation_finished" }
          ]
        },
        "super_kick": {
          "animations": ["timer.0_5"],
          "transitions": [
            {
              "default": "q.get_equipped_item_name!='gojo_skills'"
            },
            {
              "super_kick2": "query.any_animation_finished"
            }
          ],
          "on_entry": [
            "/event entity @s wesl3y:skill3",
            "/summon wesl3y:gojo_damage ~~~ ~~ wesl3y:super_kick"
          ]
        },
        "super_kick2": {
          "animations": ["timer.0_3"],
          "transitions": [
            {
              "default": "query.any_animation_finished"
            }
          ],
          "on_entry": [
            "/event entity @s wesl3y:skill0"
          ]
        },
        "black_flash": {
          "animations": ["timer.0_5"],
          "transitions": [
            {
              "default": "q.get_equipped_item_name!='gojo_skills'"
            },
            {
              "default": "query.any_animation_finished"
            }
          ],
          "on_entry": [
            "/scoreboard players set @s[tag=!gojo_black_flash] wg:skill_loop 70",
            "/tag @s[tag=!gojo_black_flash] add gojo_black_flash"
          ]
        },
        "mugen": {
          "animations": ["timer.0_5"],
          "transitions": [
            {
              "default": "q.get_equipped_item_name!='gojo_skills' || !q.is_alive"
            },
            {
              "default": "query.any_animation_finished"
            }
          ],
          "on_entry": [
            "/tellraw @s[tag=!gojo_mugen] {\"rawtext\":[{\"text\":\"§bMugen Activated\"}]}",
            "/scoreboard players set @s[tag=!gojo_mugen] wg:skill_loop2 100",
            "/tag @s[tag=!gojo_mugen] add gojo_mugen"
          ]
        },
        "blue": {
          "animations": ["timer.1_0"],
          "transitions": [
            {
              "default": "q.get_equipped_item_name!='gojo_skills' || !q.is_alive"
            },
            {
              "blue2": "query.any_animation_finished"
            }
          ],
          "on_entry": [
            "/event entity @s wesl3y:skill6",
            "/summon wesl3y:gojo_damage ~~~ ~~ wesl3y:blue1"
          ]
        },
        "blue2": {
          "animations": ["timer.1_0"],
          "transitions": [
            {
              "default": "query.any_animation_finished"
            }
          ],
          "on_entry": [
            "/event entity @s wesl3y:skill0"
          ],
          "on_exit": [
            "/scoreboard players set @s wg:cooldown3 50"
          ]
        },
        "red": {
          "animations": ["timer.1_5"],
          "transitions": [
            {
              "default": "q.get_equipped_item_name!='gojo_skills' || !q.is_alive"
            },
            {
              "default": "query.any_animation_finished"
            }
          ],
          "on_entry": [
            "/event entity @s wesl3y:skill7"
          ],
          "on_exit": [
            "/scoreboard players set @s wg:cooldown4 50",
            "/execute anchored eyes run summon wesl3y:gojo_damage ^^^1 ~~ wesl3y:red",
            "/event entity @s wesl3y:skill0"
          ]
        }
      }
    },
    "controller.animation.itadori": {
      "states": {
        "default": {
          "transitions": [
            { "divergent_fist": "q.get_equipped_item_name=='itadori_skills' && q.property('wesl3y:animes') == 6 && q.property('wesl3y:characters') == 4 && query.scoreboard('wg:skill') == 0 && query.scoreboard('wg:cooldown') == 0 && q.is_using_item" },
            { "black_flash": "q.get_equipped_item_name=='itadori_skills' && q.property('wesl3y:animes') == 6 && q.property('wesl3y:characters') == 4 && query.scoreboard('wg:skill') == 1 && query.scoreboard('wg:cooldown2') == 0 && q.is_using_item" },
            { "attack1": "q.get_equipped_item_name=='itadori_skills' && q.property('wesl3y:animes') == 6 && q.property('wesl3y:characters') == 4 && v.attack_time > 0.0" }
          ],
          "on_entry": [
            "/event entity @s wesl3y:skill0",
            "/inputpermission set @s movement enabled",
            "/tag @s remove skill_distance"
          ]
        },
        "attack1": {
          "animations": ["timer.0_3"],
          "transitions": [
            { "default": "q.get_equipped_item_name!='itadori_skills'" },
            { "attack2": "v.attack_time > 0.0 && q.any_animation_finished" },
            { "attack1_2": "query.any_animation_finished" }
          ],
          "on_entry": [
            "/summon wesl3y:itadori_damage ^^^-1 ~~ wesl3y:impulse_hit",
            "/execute at @s[tag=itadori_black_flash] anchored eyes positioned ^^^1 run function jujutsu_kaisen/itadori/black_flash",
            "/event entity @s wesl3y:skill1"
          ]
        },
        "attack1_2": {
          "animations": ["timer.0_1"],
          "transitions": [
            { "attack2": "v.attack_time > 0.0" },
            { "default": "query.any_animation_finished" }
          ]
        },
        "attack2": {
          "animations": ["timer.0_3"],
          "transitions": [
            { "default": "q.get_equipped_item_name!='itadori_skills'" },
            { "super_kick": "v.attack_time > 0.0 && query.any_animation_finished" },
            { "attack2_2": "query.any_animation_finished" }
          ],
          "on_entry": [
            "/summon wesl3y:itadori_damage ^^^-1 ~~ wesl3y:impulse_hit",
            "/execute at @s[tag=itadori_black_flash] anchored eyes positioned ^^^1 run function jujutsu_kaisen/itadori/black_flash",
            "/event entity @s wesl3y:skill2"
          ]
        },
        "attack2_2": {
          "animations": ["timer.0_1"],
          "transitions": [
            { "super_kick": "v.attack_time > 0.0" },
            { "default": "query.any_animation_finished" }
          ]
        },
        "super_kick": {
          "animations": ["timer.0_5"],
          "transitions": [
            {
              "default": "q.get_equipped_item_name!='itadori_skills'"
            },
            {
              "super_kick2": "query.any_animation_finished"
            }
          ],
          "on_entry": [
            "/event entity @s wesl3y:skill3",
            "/summon wesl3y:itadori_damage ~~~ ~~ wesl3y:super_kick"
          ]
        },
        "super_kick2": {
          "animations": ["timer.0_3"],
          "transitions": [
            {
              "default": "query.any_animation_finished"
            }
          ],
          "on_entry": [
            "/event entity @s wesl3y:skill0"
          ]
        },
        "divergent_fist": {
          "animations": ["timer.0_25"],
          "transitions": [
            {
              "default": "q.get_equipped_item_name!='itadori_skills' || !q.is_alive"
            },
            {
              "divergent_fist2": "query.any_animation_finished"
            }
          ],
          "on_entry": [
            "/inputpermission set @s movement disabled",
            "/event entity @s wesl3y:skill4"
          ]
        },
        "divergent_fist2": {
          "animations": ["timer.1_75"],
          "transitions": [
            {
              "default": "query.any_animation_finished"
            }
          ],
          "on_entry": [
            "/tag @s add itadori_divergent"
          ],
          "on_exit": [
            "/summon wesl3y:itadori_damage ~~~ ~~ wesl3y:divergent_fist",
            "/tag @s remove itadori_divergent",
            "/inputpermission set @s movement enabled",
            "/event entity @s wesl3y:skill0",
            "/scoreboard players set @s wg:cooldown 50"
          ]
        },
        "black_flash": {
          "animations": ["timer.0_5"],
          "transitions": [
            {
              "default": "query.any_animation_finished"
            }
          ],
          "on_entry": [
            "/scoreboard players set @s[tag=!itadori_black_flash] wg:skill_loop2 70",
            "/tag @s[tag=!itadori_black_flash] add itadori_black_flash"
          ]
        }
      }
    }
  }
}