{
  "format_version": "1.10.0",
  "animation_controllers": {
    "controller.animation.spartan_hands": {
      "initial_state": "default",
      "states": {
        "default": {
          "transitions": [
           { "main_hand": "((q.get_equipped_item_name('main_hand') == 'diamond_shield' || q.get_equipped_item_name('main_hand') == 'stone_shield' || q.get_equipped_item_name('main_hand') == 'wood_shield' || q.get_equipped_item_name('main_hand') == 'gold_shield' || q.get_equipped_item_name('main_hand') == 'iron_shield' || q.get_equipped_item_name('main_hand') == 'obsidian_shield' || q.get_equipped_item_name('main_hand') == 'netherite_shield') && q.is_sneaking && v.attack_time == 0.0) && !(q.get_equipped_item_name('off_hand') == 'diamond_shield' || q.get_equipped_item_name('off_hand') == 'stone_shield' || v.vanilla_shield_powered_off_hand == 1 || q.get_equipped_item_name('off_hand') == 'gold_shield' || q.get_equipped_item_name('off_hand') == 'wood_shield' || q.get_equipped_item_name('off_hand') == 'iron_shield' || q.get_equipped_item_name('off_hand') == 'obsidian_shield' || q.get_equipped_item_name('off_hand') == 'netherite_shield')" },
           { "off_hand": "(((q.get_equipped_item_name('off_hand') == 'diamond_shield' || q.get_equipped_item_name('off_hand') == 'stone_shield' || q.get_equipped_item_name('off_hand') == 'gold_shield' || q.get_equipped_item_name('off_hand') == 'wood_shield' || q.get_equipped_item_name('off_hand') == 'iron_shield' || q.get_equipped_item_name('off_hand') == 'obsidian_shield' || q.get_equipped_item_name('off_hand') == 'netherite_shield') && q.is_sneaking && v.attack_time == 0.0) && v.vanilla_shield_powered_main_hand != 1) && (v.throwing_supports != 1 && v.myarrow_from_bow != 1 && v.myarrow_from_crossbow != 1 && v.throwing_trident != 1)" }
          ],
          "on_entry": [
            "v.spartan_shields_charged = 0; return v.spartan_shields_charged;"
          ]
        },
        "main_hand": {
          "transitions": [
            { "default": "!q.is_sneaking || v.attack_time > 0.0 || !(q.get_equipped_item_name('main_hand') == 'diamond_shield' || q.get_equipped_item_name('main_hand') == 'stone_shield' || q.get_equipped_item_name('main_hand') == 'wood_shield' || q.get_equipped_item_name('main_hand') == 'gold_shield' || q.get_equipped_item_name('main_hand') == 'iron_shield' || q.get_equipped_item_name('main_hand') == 'obsidian_shield' || q.get_equipped_item_name('main_hand') == 'netherite_shield') || v.vanilla_shield_powered_off_hand == 1" },
            { "off_hand": "(((q.get_equipped_item_name('off_hand') == 'diamond_shield' || q.get_equipped_item_name('off_hand') == 'stone_shield' || q.get_equipped_item_name('off_hand') == 'wood_shield' || q.get_equipped_item_name('off_hand') == 'gold_shield' || q.get_equipped_item_name('off_hand') == 'iron_shield' || q.get_equipped_item_name('off_hand') == 'obsidian_shield' || q.get_equipped_item_name('off_hand') == 'netherite_shield') && q.is_sneaking && v.attack_time == 0.0) && v.vanilla_shield_powered_main_hand != 1) && (v.throwing_supports != 1 && v.throwing_trident != 1 && v.myarrow_from_bow != 1 && v.myarrow_from_crossbow != 1)" }
          ],
          "on_entry": [
            "v.spartan_shields_charged = 1; return v.spartan_shields_charged;"
          ]
        },
        "off_hand": {
          "transitions": [
            { "default": "((!q.is_sneaking || v.attack_time > 0.0 || (q.get_equipped_item_name('off_hand') != 'diamond_shield' && q.get_equipped_item_name('off_hand') != 'stone_shield' && q.get_equipped_item_name('off_hand') != 'gold_shield' && q.get_equipped_item_name('off_hand') != 'iron_shield' && q.get_equipped_item_name('off_hand') != 'wood_shield' && q.get_equipped_item_name('off_hand') != 'obsidian_shield' && q.get_equipped_item_name('off_hand') != 'netherite_shield')) || q.get_equipped_item_name('main_hand') == 'shield') || (v.throwing_supports == 1 || v.throwing_trident == 1 || v.myarrow_from_bow == 1 || v.myarrow_from_crossbow == 1) || v.vanilla_shield_powered_main_hand == 1" },
            { "main_hand": "((q.get_equipped_item_name('main_hand') == 'diamond_shield' || q.get_equipped_item_name('main_hand') == 'stone_shield' || q.get_equipped_item_name('main_hand') == 'wood_shield' || q.get_equipped_item_name('main_hand') == 'gold_shield' || q.get_equipped_item_name('main_hand') == 'iron_shield' || q.get_equipped_item_name('main_hand') == 'obsidian_shield' || q.get_equipped_item_name('main_hand') == 'netherite_shield') && q.is_sneaking && v.attack_time == 0.0) && !(q.get_equipped_item_name('off_hand') == 'diamond_shield' || q.get_equipped_item_name('off_hand') == 'stone_shield' || v.vanilla_shield_powered_off_hand == 1 || q.get_equipped_item_name('off_hand') == 'gold_shield' || q.get_equipped_item_name('off_hand') == 'wood_shield' || q.get_equipped_item_name('off_hand') == 'iron_shield' || q.get_equipped_item_name('off_hand') == 'obsidian_shield' || q.get_equipped_item_name('off_hand') == 'netherite_shield')" }
          ],
          "on_entry": [
            "v.spartan_shields_charged = 2; return v.spartan_shields_charged;"
          ]
        }
      }
    },
    "controller.animation.shield_offhand": {
      "initial_state": "default",
      "states": {
        "default": {
          "transitions": [
            { "vanilla_shield": "(query.get_equipped_item_name('off_hand') == 'shield' && query.blocking)"
}
          ],
          "on_entry": [
            "v.vanilla_shield_powered_off_hand = 0; return v.vanilla_shield_powered_off_hand;"
          ]
        },
        "vanilla_shield": {
          "transitions": [
            { "default": "query.get_equipped_item_name('off_hand') != 'shield' || !query.blocking" }
          ],
          "on_entry": [
            "v.vanilla_shield_powered_off_hand = 1; return v.vanilla_shield_powered_off_hand;"
          ]
        }
      }
    },
    "controller.animation.shield_mainhand": {
      "initial_state": "default",
      "states": {
        "default": {
          "transitions": [
            { "escudo": "(query.get_equipped_item_name('main_hand') == 'shield' && query.blocking)"
}
          ],
          "on_entry": [
            "v.vanilla_shield_powered_main_hand = 0; return v.vanilla_shield_powered_main_hand;"
          ]
        },
        "escudo": {
          "transitions": [
            { "default": "query.get_equipped_item_name('main_hand') != 'shield' || !query.blocking" }
          ],
          "on_entry": [
            "v.vanilla_shield_powered_main_hand = 1; return v.vanilla_shield_powered_main_hand;"
          ]
        }
      }
    },
    "controller.animation.spartan_variables": {
      "initial_state": "default",
      "states": {
        "default": {
          "animations": [ "faces", "shield_offhand", "spartan_hands", "shield_mainhand", "damage_condition", "hand_events", "crossbow", "bow", "supports", "trident", "ataque" ]
        }
      }
    }
  }
}