color banding be gone - Remove pesky color banding from Minecraft
cbbg/'kabij/ is a client-side Fabric mod that reduces visible color banding by:
- Using a higher-precision render target (RGBA16F)
- Applying STBN blue-noise dithering to the final image
This reduces banding in:
- Smooth lighting
- Skybox
- Vignette
- GUI background blurring
- Higher render precision: upgrades the main render target color attachment to RGBA16F.
- Blue-noise dithering: applies a lightweight full-screen pass using STBN noise to break up 8-bit quantization banding.
- Minecraft 26.2 requires Java 25. If your launcher manages Java automatically, use its runtime for 26.2; otherwise select Java 25 for this instance.
- Install Fabric Loader and Fabric API for your Minecraft version.
- Put the
cbbg-x.x.x.jarinto your.minecraft/modsfolder.
Install this client-only mod on your Minecraft client.
If you have Mod Menu installed, open cbbg's config screen and select:
- Enabled
- Disabled
- Demo (split): left = disabled (no dither), right = enabled (dither)
You can also control the mod using chat commands (useful if Mod Menu is not installed):
/cbbg mode: View the current mode./cbbg mode set <mode>: Set the mode. Valid modes areENABLED,DISABLED,DEMO.
Config file: .minecraft/config/cbbg.json
Example:
{
"mode": "ENABLED"
}Valid values: ENABLED, DISABLED, DEMO.
- Iris shaderpacks: when an Iris shaderpack is active, cbbg is forced OFF to avoid pipeline conflicts.
- GPU support: if RGBA16F allocation fails on your device/driver, cbbg will automatically fall back to RGBA8 for the remainder of the session.
Use CBBG Lib for noise generation, CPU image dithering and GPU dithering in your own mod or Java application. CBBG bundles its Minecraft library variant; the library and plain Java utilities are also released separately. The library README includes dependency setup and CPU/GPU integration examples.
Use Java 25 to run Gradle. The root commands select targets from targets.json;
the default is the current development target, 26.3 Fabric.
./gradlew build
./gradlew check -Ptarget=26.3-fabric
./gradlew build -Ptarget=26.2-fabric
./gradlew genSources -Ptarget=26.3-fabric
./gradlew runClient -Ptarget=26.3-fabricUse -Ptargets=id,id to build several targets. Shared artifacts compile once;
each loader still needs its own local game tests. checkCatalog validates the
catalog, and checkPackages checks production and source JARs. Build profiles
live under build-config/; generated files go under build/.
Release tasks bundle existing build outputs, verify provenance and local test results, then prepare uploads from an immutable GitHub release. See the build command reference for inputs. Python runs the local game tests and analyzes graphics results. CI runs non-graphical checks.
- AsmFabricLoader by FlorianMichael (Apache License 2.0)
- Minecraft 26.2 port by @Evoloxi