Back to mods
Sodium Core Shader Support project artwork

CurseForge · Minecraft mod

Sodium Core Shader Support

Enables resourcepacks to be able to replace sodium's shaders, similar to resourcepacks being able to replace vanilla's core shaders.

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which Sodium Core Shader Support release should I use?

Updated 2 months ago
Latest stable file 1.5.0-sodium0.9.0-b.1-fabric-mc26.1.2
Game version 26.1, 26.1.1, 26.1.2
Loader Fabric

Sodium Core Shader Support 1.5.0-sodium0.9.0-b.1-fabric-mc26.1.2 targets 26.1, 26.1.1, 26.1.2 with Fabric. The project page does not say whether this file belongs on the client, dedicated server, or both. No extra mods listed for this file.

Where it goes

Is Sodium Core Shader Support required on the client, server, or both?

The project page does not say whether this file belongs on the client, dedicated server, or both.

Client Source doesn’t say
Dedicated server Source doesn’t say
Loader for this release Fabric
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

The source does not explicitly classify this release as client-only or server-only.

What else does Sodium Core Shader Support 1.5.0-sodium0.9.0-b.1-fabric-mc26.1.2 need?

1.5.0-sodium0.9.0-b.1-fabric-mc26.1.2. Change the file and its required mods may change too.

No extra mods listed for this file

This file does not list any required mods. Do not add a library just because a different file uses it.

Sodium Optional for Sodium Core Shader Support 1.5.0-sodium0.9.0-b.1-fabric-mc26.1.2
optional
Matching file found Matched file: Sodium 0.9.1 for Fabric 26.1.2

We only count dependency files that match this setup. A file for another loader does not fill the gap.

Before you install it

Add Sodium Core Shader Support without breaking your instance.

Built for Sodium Core Shader Support 1.5.0-sodium0.9.0-b.1-fabric-mc26.1.2. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use 1.5.0-sodium0.9.0-b.1-fabric-mc26.1.2. It targets 26.1, 26.1.1, 26.1.2 with Fabric; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    This file does not list any required mods. Do not add a library just because a different file uses it.

  3. 03

    Put it on the correct side

    The project page does not say whether this file belongs on the client, dedicated server, or both.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside 1.5.0-sodium0.9.0-b.1-fabric-mc26.1.2. It opens that exact file at the source.

About this project

What does Sodium Core Shader Support add?

Sodium Core Shader Support

Modrinth Downloads CurseForge Downloads License Environment Client Discord

Enables resourcepacks to replace sodium's shaders, similar to resourcepacks being able to replace vanilla's core shaders. If you like my mods consider supporting the development by buying me a coffee:

ko-fi

Documentation for Users

Sodium Core Shader Support allows resourcepacks to replace sodiums core shaders with their own. That does not mean, that this mod makes every vanilla resourcepack work on sodium. The resourcepacks will only work if they specifically state, that they are compatible with sodium core shader support.

If you are using a supported resourcepack you can simply activate it like any other resourcepack.

Resourcepack incompatible

Sodium may display the message The following resource packs are incompatible with Sodium in the top right corner after reloading resources and listing your active core shaders. This message will always appear, even if the resourcepack supports sodium core shaders and can be ignored.

List of Resourcepacks

This is a small list of resourcepacks that work on sodium. If you have created a resourcepack yourself feel free to open an issue on my github to add it to this list!

Documentation for Shader Developers

It is important to understand that your vanilla shaders cannot just be copied to sodium shaders. Sodium has their own shaders for blocks and clouds:

- assets/sodium/shaders/
   | - clouds.fsh
   | - clouds.vsh
   | - blocks/
        | - block_layer_opaque.fsh
        | - block_layer_opaque.vsh
   | - include/
        | - fog.glsl 
        | - chunk_material.glsl
        | - chunk_matrices.glsl
        | - chunk_vertex.glsl

Unless you want to change sodium clouds the block_layer_opaque are usually the most important ones. You should not have to touch chunk_material.glsl, chunk_matrices.glsl and chunk_vertex.glsl unless you know what you are doing.

Retrieving sodium shaders source code

To retrieve the sodium shader source code for a specific sodium version, download the .jar file of that version and extract it like a .zip archive. Inside the extracted archive you will find a assets folder containing the directory structure mentioned above.

block_layer_opaque

The block_layer_opaque is used for all blocks and block entities. The vanilla minecraft equivalent is terrain.fsh and terrain.vsh (In older versions of minecraft the equivalent is rendertype_solid, rendertype_cutout, rendertype_cutout_mipped, …).

Additionally, sodium core shader support adds a few defines in the sodium shaders block_layer_opaque.fsh and block_layer_opaque.vsh for some terrain-types:

  • RENDER_PASS_SOLID: Solid Blocks
  • RENDER_PASS_CUTOUT: Blocks like leaves, grass, glass, …
  • RENDER_PASS_TRANSLUCENT: Blocks with actual transparency, e.g. water, honey, slime, …

Furthermore, the define SODIUM_CORE_SHADER_SUPPORT will be present in all shaders (mc >= 1.21.2 and version >= 1.3.8). These defines can be used like this:

#ifdef RENDER_PASS_SOLID
    // special shading for solid stuff
#endif

GameTime Uniform

As of Sodium Core Shader Support version 1.4.0 the u_GameTime uniform will be present in block_layer_opaque.fsh and block_layer_opaque.vsh. It can be used just like the vanilla GameTime uniform. Add it to your shaders using:

uniform float u_GameTime;

How to specify which sodium versions are supported

The sodium devs will change their internal shaders and shader related code without further notice. That's why it is important that you specify with which versions of sodium and minecraft your pack is compatible. This can be done in a special versions.json file. It should be located in your resourcepack in a new directory assets/sodiumcoreshadersupport with the file name versions.json inside. The contents of the file could look like this:

{
  "supported-versions": {
    "1.21": [ "0.5.11+mc1.21" ],
    "1.21.1": [ "0.5.11+mc1.21" ]
  }
}

In the above example the resourcepack states, that it is compatible with sodium 0.5.11 on minecraft 1.21 and 1.21.1. An abstract description is below:
More specifically, versions.json must contain a question object with the key supported-versions. The value of supported-versions must be a map, which maps different minecraft versions to an array of allowed sodium versions. The SodiumCoreShaderSupport mod will check if the installed sodium version is contained in the array of the installed minecraft version.

  • If the minecraft and/or sodium version is not inside supported-versions, the pack can be activated with a warning message.
  • If the user does not have sodium installed the pack can be activated.
  • If no versions.json is present, the pack can be activated with a warning message.
  • If the versions.json is malformed, the pack can be activated with a warning message.

Imports

Sodium Shaders must be in assets/sodium/shaders directory. But you can #import files from assets/minecraft/shaders using the #import directive. The following code will include the file assets/minecraft/shaders/include/test.glsl:

#import <minecraft:include/test.glsl>

With this trick you can create custom glsl files, which you can #import in your shaders (in both core shaders and sodium shaders). These files, should contain your main shader "logic". An example shaderpack, which works with this trick on both vanilla and sodium, can be found here.

Project description from CurseForge.

Pick your setup

Sodium Core Shader Support by Minecraft version and loader

Choose the version and loader you play, then open the matching release.

22 available setups

Showing the newest 12 of 15 game versions. Older files are in the list below.

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

Sodium Core Shader Support versions and loaders

100 of 100 releases match

Looking for an older file? The official CurseForge project page is in Resources.