
A mod that let's you set a unique shader for each dimension.

Automatically switch Iris shader packs per dimension.
Set one shader pack for the Overworld, another for the Nether, and a third for The End—then let the mod handle the rest whenever you join a world or change dimensions.
A config file is stored at config/dimension_based_shaders.json, however it is recommended to use ModMenu for an in-game visual settings screen.

The settings page (accesible through ModMenu) contains an input for each dimension. By specifying the exact name of the shader.
However, typing the whole name is tedious and could cause mispellings, so you can click "Get Current" to use to shader pack currently loaded.
1.21.11Q: Does this work on servers?
A: Yes—this is client-side visual behavior. Servers don’t need to install anything.
Q: Can I disable shaders in one dimension?
A: You can avoid using a shader by leaving the input field empty.
Q: Do I need Mod Menu?
A: Not required, but recommended for convenient in-game configuration.
Q: Does this mod support custom dimensions?
A: Yes, however some dimensions may only appear in the configuration menu only if you are present in that dimension. However, if you change the setting, it will be preserved even when exiting the dimension.
If you run into issues, please make sure you're using the correct: