This version removes ALL backward compatibility and focuses exclusively on Minecraft 1.21.9. All legacy APIs have been removed.
❌ REMOVED:
// This API no longer exists
CoreShader shader = Shaders.core(CoreShaderType.VANILLA_SOLID_BLOCKS)
.uniforms(
Uniforms.VANILLA_MODEL_VIEW_MATRIX,
Uniforms.VANILLA_PROJECTION_MATRIX,
Uniforms.of("ColorModulator", 1.0f, 1.0f, 1.0f, 1.0f)
)
.build();✅ REQUIRED:
// Use uniform blocks exclusively
CoreShader shader = Shaders.core(CoreShaderType.VANILLA_SOLID_BLOCKS)
.uniformBlocks(
UniformBlocks.MATRICES, // Contains ModelViewMat + ProjMat
UniformBlocks.COLOR // Contains ColorModulator
)
.build();- Updated from 34 → 69 for Minecraft 1.21.9 compatibility
- No backward compatibility with older Minecraft versions
❌ REMOVED deprecated methods:
uniform.name() // Use getName() instead
uniform.value() // Use getValues() instead
uniform.type() // Use getType() instead❌ REMOVED:
uniforms()method completely removed- Legacy uniform support removed from serialization
✅ ONLY SUPPORTED:
uniformBlocks()method for all uniform configuration
import org.krystilize.resourceful.shaders.data.Uniforms;
CoreShader legacyShader = Shaders.core(CoreShaderType.VANILLA_SOLID_BLOCKS)
.uniforms(
Uniforms.VANILLA_MODEL_VIEW_MATRIX,
Uniforms.VANILLA_PROJECTION_MATRIX,
Uniforms.of("ChunkOffset", 0.0F, 0.0F, 0.0F),
Uniforms.of("ColorModulator", 1.0F, 0.8F, 1.0F, 1.0F),
Uniforms.of("FogStart", 0.0F),
Uniforms.of("FogEnd", 1.0F),
Uniforms.of("FogColor", 0.0F, 0.0F, 0.0F, 0.0F)
)
.attributes(Attributes.VANILLA_POSITION, Attributes.VANILLA_COLOR)
.fragment(MyShaderClass.class)
.build();import org.krystilize.resourceful.shaders.data.UniformBlocks;
CoreShader modernShader = Shaders.core(CoreShaderType.VANILLA_SOLID_BLOCKS)
.uniformBlocks(
UniformBlocks.MATRICES, // ModelViewMat + ProjMat
UniformBlocks.CHUNK, // ChunkOffset
UniformBlocks.COLOR, // ColorModulator
UniformBlocks.FOG // FogStart + FogEnd + FogColor
)
.attributes(Attributes.VANILLA_POSITION, Attributes.VANILLA_COLOR)
.fragment(MyShaderClass.class)
.build();ModelViewMat(matrix4x4) - ReplacesUniforms.VANILLA_MODEL_VIEW_MATRIXProjMat(matrix4x4) - ReplacesUniforms.VANILLA_PROJECTION_MATRIX
FogStart(float) - ReplacesUniforms.of("FogStart", ...)FogEnd(float) - ReplacesUniforms.of("FogEnd", ...)FogColor(vec4) - ReplacesUniforms.of("FogColor", ...)
ColorModulator(vec4) - ReplacesUniforms.of("ColorModulator", ...)
ChunkOffset(vec3) - ReplacesUniforms.of("ChunkOffset", ...)
For custom uniforms, create your own blocks:
UniformBlock customBlock = UniformBlocks.block("MyCustomBlock",
Uniforms.of("MyFloat", 1.0f),
Uniforms.of("MyVec3", 1.0f, 0.5f, 0.0f),
Uniforms.of("MyMatrix", new Float[][]{ ... })
);
CoreShader shader = Shaders.core(CoreShaderType.VANILLA_SOLID_BLOCKS)
.uniformBlocks(customBlock)
.build();- Update imports: Remove
Uniformsimport, addUniformBlocks - Replace method calls: Change
.uniforms()to.uniformBlocks() - Map loose uniforms to blocks: Use the mapping table above
- Update Uniform method calls: Use non-deprecated methods
- Test with Minecraft 1.21.9: Verify compatibility
| Version | Support Status |
|---|---|
| < 1.21.9 | ❌ No longer supported |
| 1.21.9 | ✅ Only supported version |
All 6 post-processing effects supported:
PostShaderType.BLUR(newly added)PostShaderType.CREEPERPostShaderType.SPIDERPostShaderType.ENDERMANPostShaderType.GLOWING_ENTITYPostShaderType.FABULOUS_GRAPHICS
Required dependencies (automatically included):
org.ow2.asm:asm:9.6org.ow2.asm:asm-commons:9.6org.ow2.asm:asm-util:9.6
- ❌ Removed:
uniforms()method from ProgramBuilder - ❌ Removed: Legacy uniform fallback logic
- ❌ Removed: Deprecated methods from Uniform class
- ❌ Removed: Support for Minecraft versions < 1.21.9
- ❌ Removed: Loose uniform serialization format
- ✅ Required: Uniform blocks for all shader configuration
- ✅ Required: Minecraft 1.21.9 for generated resource packs