{
  "format_version": "1.8.0",
  "render_controllers": {
    "controller.render.obsidian_shield_charged": {
      "geometry": "Geometry.shield_inflate",
      "is_hurt_color": {
        "a": 0.0
      },
      "uv_anim": {
         "offset": [ "(q.item_is_charged) ? (Math.floor(query.life_time * 20.0) + query.frame_alpha) * 0.01 : 0.0", "(query.item_is_charged) ? (Math.floor(query.life_time * 20.0) + query.frame_alpha) * 0.01 : 0.0" ],
         "scale": [ 1, 1 ]
      },
      "part_visibility": [
        { "*s*": "q.get_equipped_item_name('off_hand') == 'obsidian_shield'" },
        { "*sop*": "query.get_equipped_item_name('off_hand') == 'obsidian_shield'" },
        { "*esdos*": "query.get_equipped_item_name('off_hand') == 'obsidian_shield'" },
        { "*escudo*": "query.get_equipped_item_name('main_hand') == 'obsidian_shield'" },
        { "*cara*": "query.get_equipped_item_name('main_hand') == 'obsidian_shield'" },
        { "*side*": "query.get_equipped_item_name('main_hand') == 'obsidian_shield'" },
        { "*side2*": "query.get_equipped_item_name('main_hand') == 'obsidian_shield'" },
        { "*s2*": "q.get_equipped_item_name('off_hand') == 'obsidian_shield'" }
      ],
      "materials": [ { "*": "Material.obsidian_charged" } ],
      "textures": [ "Texture.obsidian_charged" ],
      "on_fire_color": {
        "a": 0.0
      }
    },
    "controller.render.netherite_shield": {
      "geometry": "(q.get_equipped_item_name('off_hand') == 'netherite_shield' && q.get_equipped_item_name('main_hand') == 'netherite_shield') ? geometry.dual : geometry.default",
      "is_hurt_color": {
        "a": 0.0
      },
      "on_fire_color": {
        "a": 0.0
      },
      "part_visibility": [
        { "*s*": "q.get_equipped_item_name('off_hand') == 'netherite_shield'" },
        { "*sop*": "query.get_equipped_item_name('off_hand') == 'netherite_shield'" },
        { "*esdos*": "query.get_equipped_item_name('off_hand') == 'netherite_shield'" },
        { "*escudo*": "query.get_equipped_item_name('main_hand') == 'netherite_shield'" },
        { "*cara*": "query.get_equipped_item_name('main_hand') == 'netherite_shield'" },
        { "*side*": "query.get_equipped_item_name('main_hand') == 'netherite_shield'" },
        { "*side2*": "query.get_equipped_item_name('main_hand') == 'netherite_shield'" },
        { "*s2*": "q.get_equipped_item_name('off_hand') == 'netherite_shield'" }
      ],
      "materials": [ { "*": "Material.default" } ],
      "textures": [ "Texture.default" ]
    },
    "controller.render.obsidian_shield": {
      "geometry": "(q.get_equipped_item_name('off_hand') == 'obsidian_shield' && q.get_equipped_item_name('main_hand') == 'obsidian_shield') ? geometry.dual : geometry.default",
      "is_hurt_color": {
        "a": 0.0
      },
      "overlay_color": {
        "r": "q.item_is_charged ? (Math.sin(query.life_time * 500) + 1) : 1.0",
        "g": "q.item_is_charged ? (Math.sin(query.life_time * 500) + 1) : 1.0",
        "b": "q.item_is_charged ? (Math.sin(query.life_time * 500) + 1) : 1.0",
        "a": "q.item_is_charged ? 0.4 : 0.0"
      },
      "on_fire_color": {
        "a": 0.0
      },
      "materials": [ { "*": "Material.default" } ],
      "textures": [ "Texture.default" ]
    },
    "controller.render.iron_shield": {
      "geometry": "Geometry.default",
      "is_hurt_color": {
        "a": 0.0
      },
      "on_fire_color": {
        "a": 0.0
      },
      "part_visibility": [
        { "*s*": "q.get_equipped_item_name('off_hand') == 'iron_shield'" },
        { "*sop*": "query.get_equipped_item_name('off_hand') == 'iron_shield'" },
        { "*esdos*": "query.get_equipped_item_name('off_hand') == 'iron_shield'" },
        { "*escudo*": "query.get_equipped_item_name('main_hand') == 'iron_shield'" },
        { "*cara*": "query.get_equipped_item_name('main_hand') == 'iron_shield'" },
        { "*side*": "query.get_equipped_item_name('main_hand') == 'iron_shield'" },
        { "*side2*": "query.get_equipped_item_name('main_hand') == 'iron_shield'" },
        { "*s2*": "q.get_equipped_item_name('off_hand') == 'iron_shield'" }
      ],
      "materials": [ { "*": "Material.shield" } ],
      "textures": [ "Texture.default" ]
    },
    "controller.render.stone_shield": {
      "geometry": "(q.get_equipped_item_name('off_hand') == 'stone_shield' && q.get_equipped_item_name('main_hand') == 'stone_shield') ? geometry.dual : geometry.default",
      "is_hurt_color": {
        "a": 0.0
      },
      "on_fire_color": {
        "a": 0.0
      },
      "part_visibility": [
        { "*s*": "q.get_equipped_item_name('off_hand') == 'stone_shield'" },
        { "*sop*": "query.get_equipped_item_name('off_hand') == 'stone_shield'" },
        { "*esdos*": "query.get_equipped_item_name('off_hand') == 'stone_shield'" },
        { "*escudo*": "query.get_equipped_item_name('main_hand') == 'stone_shield'" },
        { "*cara*": "query.get_equipped_item_name('main_hand') == 'stone_shield'" },
        { "*side*": "query.get_equipped_item_name('main_hand') == 'stone_shield'" },
        { "*side2*": "query.get_equipped_item_name('main_hand') == 'stone_shield'" },
        { "*s2*": "q.get_equipped_item_name('off_hand') == 'stone_shield'" }
      ],
      "materials": [ { "*": "Material.default" } ],
      "textures": [ "Texture.default" ]
    },
    "controller.render.gold_shield": {
      "geometry": "(q.get_equipped_item_name('off_hand') == 'gold_shield' && q.get_equipped_item_name('main_hand') == 'gold_shield') ? geometry.dual : geometry.default",
      "is_hurt_color": {
        "a": 0.0
      },
      "on_fire_color": {
        "a": 0.0
      },
      "part_visibility": [
        { "*s*": "q.get_equipped_item_name('off_hand') == 'gold_shield'" },
        { "*sop*": "query.get_equipped_item_name('off_hand') == 'gold_shield'" },
        { "*esdos*": "query.get_equipped_item_name('off_hand') == 'gold_shield'" },
        { "*escudo*": "query.get_equipped_item_name('main_hand') == 'gold_shield'" },
        { "*cara*": "query.get_equipped_item_name('main_hand') == 'gold_shield'" },
        { "*side*": "query.get_equipped_item_name('main_hand') == 'gold_shield'" },
        { "*side2*": "query.get_equipped_item_name('main_hand') == 'gold_shield'" },
        { "*s2*": "q.get_equipped_item_name('off_hand') == 'gold_shield'" }
      ],
      "materials": [ { "*": "Material.default" } ],
      "textures": [ "Texture.default" ]
    },
    "controller.render.juan_shield": {
      "geometry": "(q.get_equipped_item_name('off_hand') == 'juan_shield' && q.get_equipped_item_name('main_hand') == 'juan_shield') ? geometry.dual : geometry.default",
      "is_hurt_color": {
        "a": 0.0
      },
      "on_fire_color": {
        "a": 0.0
      },
      "part_visibility": [
        { "*s*": "q.get_equipped_item_name('off_hand') == 'juan_shield'" },
        { "*sop*": "query.get_equipped_item_name('off_hand') == 'juan_shield'" },
        { "*esdos*": "query.get_equipped_item_name('off_hand') == 'juan_shield'" },
        { "*escudo*": "query.get_equipped_item_name('main_hand') == 'juan_shield'" },
        { "*cara*": "query.get_equipped_item_name('main_hand') == 'juan_shield'" },
        { "*side*": "query.get_equipped_item_name('main_hand') == 'juan_shield'" },
        { "*side2*": "query.get_equipped_item_name('main_hand') == 'juan_shield'" },
        { "*s2*": "q.get_equipped_item_name('off_hand') == 'juan_shield'" }
      ],
      "materials": [ { "*": "Material.default" } ],
      "textures": [ "Texture.default" ]
    }
  }
}