IRIS/OCULUS ADD-ON. THIS IS NOT A SHADER LOADER.
A mod that lets you hide, filter, recolor, rename, add tooltips, and reorder specific shader packs in the Iris/Oculus shaders menu using flexible patterns.
This mod does NOT load shaders! It only organizes and customizes the shader selection menu.
📝 Why use this mod?
Tired of scrolling through a messy shader list? Want to hide test packs, old versions, recolor names, add tooltips, or put your favorites at the top? Or maybe even remove all underscores? Iris Shader Folder Mod lets you filter out unwanted shader packs, organize the menu, recolor names, and add custom tooltips making your shader selection fast, clean, and personal.
Features
- Hide shader packs by name, version, or regex pattern
- Reorder shader packs in the menu using patterns and positions
- Recolor shader pack names or parts of names with Minecraft color codes
- Edit shader names without changing the actual file names.
- Add custom tooltips to shader packs in the menu
- Supports both modern and legacy Iris versions and also Oculus
- Real-time config reloading (no restart required)
- Debug logging to file for troubleshooting
For Shaderpack Developers
Add your own tooltips easily!
Add a shaderDescription=Your Description line to /shaders/lang/en_us.lang (and any other language file to translate it).
Configuration
Edit the config file at:
config/iris_shader_folder.properties
Example filter section:
filterStart:[
test
{.*}Outdated{.*}
ComplementaryShaders_r{version}
]:filterEnd
- Each line is a filter pattern.
- Use
{version}as a shortcut for version numbers (e.g., 1.2.3). - Use
{...}to insert raw regex (e.g.,Outdated{.*(shader|Reimagined)}). - Patterns match both folders and .zip shader packs.
Example reorder section:
reorderStart:[
{.*}EuphoriaPatches{.*}
Complementary{.*}_r{version}
BSL{.*}
[!]Outdated{.*}
]:reorderEnd
- The order of lines determines the order in the menu (top line = first position, etc.).
- If a shaderpack matches multiple patterns, the first matching pattern wins and subsequent patterns skip that shader.
- Use the
[!]prefix to force a pattern to match even if the shader was already matched by a previous rule.- Example:
[!]Outdated{.*}will move any shader with "Outdated" in its name to position 4, even if it was already matched by an earlier pattern.
- Example:
- Patterns support
{version}and custom regex in braces. - Patterns match both folders and .zip shader packs.
Example recolor section:
recolorStart:[
Complementary{.*} [|] Comp [->] red [|] {version} [->] §6
{.*}EuphoriaPatches{.*} [|] EuphoriaPatches_{version} [->] light_purple
test [|] {all} [->] red
]:recolorEnd
- Recolor the whole name or just parts using Minecraft color names or codes.
{all}recolors the entire name.- Multiple recolor rules can be combined per line.
Example rename section:
renameStart:[
{all} [|] _ [->] { }
Complementary{.*} [|] Complementary [->] Comp
test [|] {all} [->] Test Shader
]:renameEnd
- Rename shader pack names or just parts using flexible patterns.
{all}renames the entire name.- Use
{ }to insert a whitespace character as a replacement. - Format:
shader_pattern [|] part_pattern [->] replacement [|] part_pattern2 [->] replacement2 .... - Multiple rename rules can be combined per line.
Example tooltip section:
tooltipStart:[
Complementary{.*} [|] Complementary is a shaderpack focused on performance and visual quality.
test [|] This is a test shaderpack.
]:tooltipEnd
- Add custom tooltip text for any shader pack.
- Tooltips appear when hovering over the shader in the menu.
Enable Debug Logging
Set debugLogging=true in the config file to write detailed debug info to config/iris_shader_filter_debug.txt
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 |
- Fix recolored shaders in the shader selection menu being cut off too early
- Fix building without a changelog file giving a build error
- Fix recolored shaders in the shader selection menu being cut off too early
- Fix building without a changelog file giving a build error
- Fix recolored shaders in the shader selection menu being cut off too early
- Fix building without a changelog file giving a build error
- Fixed Forge MixinExtras conflict with other mods
- Fixed Forge MixinExtras conflict with other mods
- Fixed Forge MixinExtras conflict with other mods
## 1.4.0
- Shader pack tooltips can now be translated via a
shaderDescriptionkey in the lang files inside the shader. Example:shaderDescription=This is a shader pack that adds cool effects!
## 1.4.0
- Shader pack tooltips can now be translated via a
shaderDescriptionkey in the lang files inside the shader. Example:shaderDescription=This is a shader pack that adds cool effects!
## 1.4.0
- Shader pack tooltips can now be translated via a
shaderDescriptionkey in the lang files inside the shader. Example:shaderDescription=This is a shader pack that adds cool effects!
## 1.3.3
- Support Minecraft 26.1+
- Implemented multi-loader setup and automated-publishing (not relevant for users except faster updates)
## 1.3.3
- Support Minecraft 26.1+
- Implemented multi-loader setup and automated-publishing (not relevant for users except faster updates)
## 1.3.3
- Support Minecraft 26.1+
- Implemented multi-loader setup and automated-publishing (not relevant for users except faster updates)
Recolor matching now uses **last-match-wins** priority.
- If a single rule makes use of concatenated rules via [|], then later written rules overwrite earlier ones.
Example:
Test Shader - Best [|] est [->] red [|] Best [->] green Before this update: broken

After this update: fixed

Recolor matching now uses **last-match-wins** priority.
- If a single rule makes use of concatenated rules via [|], then later written rules overwrite earlier ones.
Example:
Test Shader - Best [|] est [->] red [|] Best [->] green Before this update: broken

After this update: fixed

Recolor matching now uses **last-match-wins** priority.
- If a single rule makes use of concatenated rules via [|], then later written rules overwrite earlier ones.
Example:
Test Shader - Best [|] est [->] red [|] Best [->] green Before this update: broken

After this update: fixed

Reorder matching now uses **first-match-wins** priority.
- Rules are processed top to bottom.
- If a shader matches a rule, it is marked as matched.
- Later rules normally **skip** already-matched shaders.
Added support for the **
[!] prefix** on reorder rules:- A rule starting with
[!]can still match shaders that were already matched earlier. - This lets you intentionally override previous matches for specific cases.
Reorder matching now uses **first-match-wins** priority.
- Rules are processed top to bottom.
- If a shader matches a rule, it is marked as matched.
- Later rules normally **skip** already-matched shaders.
Added support for the **
[!] prefix** on reorder rules:- A rule starting with
[!]can still match shaders that were already matched earlier. - This lets you intentionally override previous matches for specific cases.
Reorder matching now uses **first-match-wins** priority.
- Rules are processed top to bottom.
- If a shader matches a rule, it is marked as matched.
- Later rules normally **skip** already-matched shaders.
Added support for the **
[!] prefix** on reorder rules:- A rule starting with
[!]can still match shaders that were already matched earlier. - This lets you intentionally override previous matches for specific cases.
- Added a new rename feature:
renameStart:[
{all} [|] _ [->] { }
Complementary{.*} [|] Complementary [->] Comp
test [|] {all} [->] Test Shader
]:renameEnd
`
- Rename shader pack names or just parts using flexible patterns.
{all} renames the entire name.Use { } to insert a whitespace character as a replacement.Format: shader_pattern [|] part_pattern [->] replacement [|] part_pattern2 [->] replacement2 ....Multiple rename rules can be combined per line. In the pack.json one can now use description instead of shaderDescription` for the tooltip- Added a new rename feature:
renameStart:[
{all} [|] _ [->] { }
Complementary{.*} [|] Complementary [->] Comp
test [|] {all} [->] Test Shader
]:renameEnd
`
- Rename shader pack names or just parts using flexible patterns.
{all} renames the entire name.Use { } to insert a whitespace character as a replacement.Format: shader_pattern [|] part_pattern [->] replacement [|] part_pattern2 [->] replacement2 ....Multiple rename rules can be combined per line. In the pack.json one can now use description instead of shaderDescription` for the tooltip- Added a new rename feature:
renameStart:[
{all} [|] _ [->] { }
Complementary{.*} [|] Complementary [->] Comp
test [|] {all} [->] Test Shader
]:renameEnd
`
- Rename shader pack names or just parts using flexible patterns.
{all} renames the entire name.Use { } to insert a whitespace character as a replacement.Format: shader_pattern [|] part_pattern [->] replacement [|] part_pattern2 [->] replacement2 ....Multiple rename rules can be combined per line. In the pack.json one can now use description instead of shaderDescription` for the tooltip- Added Iris/Oculus as a dependency
- Fixed hardcoded shader name recoloring not being overwritten by user settings
- Updated to support 26.1 on the supported platforms
- Added Iris/Oculus as a dependency
- Fixed hardcoded shader name recoloring not being overwritten by user settings
- Updated to support 26.1 on the supported platforms
- Added Iris/Oculus as a dependency
- Fixed hardcoded shader name recoloring not being overwritten by user settings
- Updated to support 26.1 on the supported platforms