{
  "format_version": "1.10.0",
  "minecraft:attachable": {
    "description": {
      "identifier": "minecraft:shield",
      "materials": {
        "default": "entity_alphatest",
        "enchanted": "entity_alphatest_glint"
      },
      "textures": {
        "default": "textures/entity/shield",
        "enchanted": "textures/misc/enchanted_item_glint"
      },
      "geometry": {
        "default": "geometry.shield"
      },
      "animations": {
        "wield": "controller.animation.shield.wield",
        "wield_main_hand_first_person": "animation.shield.wield_main_hand_first_person",
        "wield_off_hand_first_person": "animation.shield.wield_off_hand_first_person",
        "wield_first_person_block": "animation.shield.wield_first_person_blocking",
        "wield_main_hand_first_person_block": "animation.shield.wield_main_hand_first_person_blocking",
        "wield_off_hand_first_person_block": "animation.shield.wield_off_hand_first_person_blocking",
        "wield_third_person": "animation.shield.wield_third_person"
      },
      "scripts": {
        "initialize": [
          "variable.main_hand_first_person_pos_x =  5.3;",
          "variable.main_hand_first_person_pos_y = 26.0;",
          "variable.main_hand_first_person_pos_z = 0.4;",
          "variable.main_hand_first_person_rot_x = 91.0;",
          "variable.main_hand_first_person_rot_y = 65.0;",
          "variable.main_hand_first_person_rot_z = -43.0;",
          "variable.off_hand_first_person_pos_x = -13.5;",
          "variable.off_hand_first_person_pos_y = -5.8;",
          "variable.off_hand_first_person_pos_z = 5.1;",
          "variable.off_hand_first_person_with_bow_pos_z = -25.0;",
          "variable.off_hand_first_person_rot_x = 1.0;",
          "variable.off_hand_first_person_rot_y = 176.0;",
          "variable.off_hand_first_person_rot_z = -2.5;"
        ],
        "pre_animation": [
          "variable.is_blocking_main_hand = query.blocking && !query.is_item_name_any('slot.weapon.offhand', 'minecraft:shield') && query.is_item_name_any('slot.weapon.mainhand', 'minecraft:shield');",
          "variable.is_blocking_off_hand = query.blocking && query.is_item_name_any('slot.weapon.offhand', 'minecraft:shield');",
          "variable.is_using_bow = (query.get_equipped_item_name == 'bow') && (query.main_hand_item_use_duration > 0.0f);"
        ],
        "animate": [
          "wield"
        ]
      },
      "render_controllers": [ "controller.render.item_default" ]
    }
  }
}
