{
  "format_version": "1.10.0",
  "animation_controllers": {
    "controller.animation.shields_offhand": {
      "initial_state": "default",
      "states": {
        "default": {
          "transitions": [
            { "madera": "v.spartan_shields_charged == 2 && q.get_equipped_item_name('off_hand') == 'wood_shield'" },
            { "piedra": "v.spartan_shields_charged == 2 && q.get_equipped_item_name('off_hand') == 'stone_shield'" },
            { "diamante": "v.spartan_shields_charged == 2 && q.get_equipped_item_name('off_hand') == 'diamond_shield'" },
            { "oro": "v.spartan_shields_charged == 2 && q.get_equipped_item_name('off_hand') == 'gold_shield'" },
            { "hierro": "v.spartan_shields_charged == 2 && q.get_equipped_item_name('off_hand') == 'iron_shield'" },
            { "obsidiana": "v.spartan_shields_charged == 2 && q.get_equipped_item_name('off_hand') == 'obsidian_shield' && q.get_equipped_item_name('main_hand') != 'shield'" },
            { "netherite": "v.spartan_shields_charged == 2 && q.get_equipped_item_name('off_hand') == 'netherite_shield'" }
          ]
        },
        "madera": {
          "transitions": [
            { "default": "q.get_equipped_item_name('off_hand') != 'wood_shield' || v.spartan_shields_charged == 0" }
          ],
          "on_entry": [
            "/tag @s add wood_shield_offhand"
          ],
          "on_exit": [
            "/tag @s remove wood_shield_offhand"
          ]
        },
        "diamante": {
          "transitions": [
            { "default": "q.get_equipped_item_name('off_hand') != 'diamond_shield' || v.spartan_shields_charged == 0" }
          ],
          "on_entry": [
            "/tag @s add diamond_shield_offhand"
          ],
          "on_exit": [
            "/tag @s remove diamond_shield_offhand"
          ]
        },
        "oro": {
          "transitions": [
            { "default": "q.get_equipped_item_name('off_hand') != 'gold_shield' || v.spartan_shields_charged == 0" }
          ],
          "on_entry": [
            "/tag @s add gold_shield_offhand"
          ],
          "on_exit": [
            "/tag @s remove gold_shield_offhand"
          ]
        },
        "hierro": {
          "transitions": [
            { "default": "q.get_equipped_item_name('off_hand') != 'iron_shield' || v.spartan_shields_charged == 0" }
          ],
          "on_entry": [
            "/tag @s add iron_shield_offhand"
          ],
          "on_exit": [
            "/tag @s remove iron_shield_offhand"
          ]
        },
        "obsidiana": {
          "transitions": [
            { "default": "q.get_equipped_item_name('off_hand') != 'obsidian_shield' || v.spartan_shields_charged == 0" }
          ],
          "on_entry": [
            "/tag @s add obsidian_shield_offhand"
          ],
          "on_exit": [
            "/tag @s remove obsidian_shield_offhand"
          ]
        },
        "netherite": {
          "transitions": [
            { "default": "q.get_equipped_item_name('off_hand') != 'netherite_shield' || v.spartan_shields_charged == 0" }
          ],
          "on_entry": [
            "/tag @s add netherite_shield_offhand",
            "@s minecraft:mhns"
          ],
          "on_exit": [
            "/tag @s remove netherite_shield_offhand",
            "@s minecraft:no_mhns"
          ]
        },
        "piedra": {
          "transitions": [
            { "default": "v.spartan_shields_charged == 0 || q.get_equipped_item_name('off_hand') != 'stone_shield'" }
          ],
          "on_entry": [
            "/tag @s add stone_shield_offhand"
          ],
          "on_exit": [
            "/tag @s remove stone_shield_offhand"
          ]
        }
      }
    },
    "controller.animation.shields_mainhand": {
      "initial_state": "default",
      "states": {
        "default": {
          "transitions": [
            { "madera": "v.spartan_shields_charged == 1 && q.get_equipped_item_name('main_hand') == 'wood_shield'" },
            { "piedra": "v.spartan_shields_charged == 1 && q.get_equipped_item_name('main_hand') == 'stone_shield'" },
            { "diamante": "v.spartan_shields_charged == 1 && q.get_equipped_item_name('main_hand') == 'diamond_shield'" },
            { "oro": "v.spartan_shields_charged == 1 && q.get_equipped_item_name('main_hand') == 'gold_shield'" },
            { "hierro": "v.spartan_shields_charged == 1 && q.get_equipped_item_name('main_hand') == 'iron_shield'" },
            { "obsidiana": "v.spartan_shields_charged == 1 && q.get_equipped_item_name('main_hand') == 'obsidian_shield'" },
            { "netherite": "v.spartan_shields_charged == 1 && q.get_equipped_item_name('main_hand') == 'netherite_shield'" }
          ]
        }, 
        "madera": {
          "transitions": [
            { "default": "q.get_equipped_item_name('main_hand') != 'wood_shield' || v.spartan_shields_charged == 0" }
          ],
          "on_entry": [ "/tag @s add wood_shield_mainhand" ],
          "on_exit": [ "/tag @s remove wood_shield_mainhand" ]
        },
        "diamante": {
          "transitions": [
            { "default": "v.spartan_shields_charged == 0 || q.get_equipped_item_name('main_hand') != 'diamond_shield'" }
          ],
          "on_entry": [
            "/tag @s add diamond_shield_mainhand"
          ],
          "on_exit": [
            "/tag @s remove diamond_shield_mainhand"
          ]
        },
        "oro": {
          "transitions": [
            { "default": "v.spartan_shields_charged == 0 || q.get_equipped_item_name('main_hand') != 'gold_shield'" }
          ],
          "on_entry": [
            "/tag @s add gold_shield_mainhand"
          ],
          "on_exit": [
            "/tag @s remove gold_shield_mainhand"
          ]
        },
        "hierro": {
          "transitions": [
            { "default": "v.spartan_shields_charged == 0 || q.get_equipped_item_name('main_hand') != 'iron_shield'" }
          ],
          "on_entry": [
            "/tag @s add iron_shield_mainhand"
          ],
          "on_exit": [
            "/tag @s remove iron_shield_mainhand"
          ]
        },
        "obsidiana": {
          "transitions": [
            { "default": "v.spartan_shields_charged == 0 || q.get_equipped_item_name('main_hand') != 'obsidian_shield'" }
          ],
          "on_entry": [
            "/tag @s add obsidian_shield_mainhand"
          ],
          "on_exit": [
            "/tag @s remove obsidian_shield_mainhand"
          ]
        },
        "netherite": {
          "transitions": [
            { "default": "v.spartan_shields_charged == 0 || q.get_equipped_item_name('main_hand') != 'netherite_shield'" }
          ],
          "on_entry": [
            "/tag @s add netherite_shield_mainhand",
            "@s minecraft:mhns"
          ],
          "on_exit": [
            "/tag @s remove netherite_shield_mainhand",
            "@s minecraft:no_mhns"
          ]
        },
        "piedra": {
          "transitions": [
            { "default": "v.spartan_shields_charged == 0 || q.get_equipped_item_name('main_hand') != 'stone_shield'" }
          ],
          "on_entry": [
            "/tag @s add stone_shield_mainhand"
          ],
          "on_exit": [
            "/tag @s remove stone_shield_mainhand"
          ]
        }
      }
    }
  }
}