# Failed to load required shader programs

`Caught error loading resourcepacks, removing all selected resourcepacks java.util.concurrent.CompletionException: java.lang.RuntimeException: Failed to load required shader programs:`

* `minecraft:core/rendertype_armor_cutout_no_cull (VertexFormat[Position, Color, UV0, UV1, UV2, Normal]): Could not find shader: minecraft:rendertype_armor_cutout_no_cull (VERTEX)`
* `minecraft:core/rendertype_text (VertexFormat[Position, Color, UV0, UV2]): Could not find shader: minecraft:rendertype_text (VERTEX)`

## Why does it happen?

This happens because Minecraft 1.21.2 changed where shaders `.vsh` and `.fsh` files have to be put.

The default shaders path is changed to `assets/minecraft/shaders/<name>.vsh` instead of `assets/minecraft/shaders/core/<name>.vsh`.

This made the `core` folder not mandatory and not automatically taken into account by the game.

To fix this you have to open each of your custom shaders `.json` files in the `core` folder and update the `vertex` and `fragment` path including `core/` as prefix folder.

The overlay folder is called `ia_overlay_1_21_2` on the final `.zip` file.

## How to fix automatically

ItemsAdder offers a setting that automatically fixes these shaders for you.

It will update the `.json` files automatically and create an overlay to allow older clients to still recognize the old format and the new clients (1.21.2+) to recognize the old format.

This requires you to run `/iazip` to regenerate your pack.

{% code title="config.yml" %}

```yaml
pre_1_21_2_shaders_fix:
  enabled: true
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://itemsadder.devs.beer/faq/failed-to-load-required-shader-programs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
