Mod

Colorful Lighting: Sodium/Embeddium Edition

Quick rating

Colorful Lighting: Sodium/Embeddium Edition

No reviews yet

Colored Lighting that works with Embeddium/Sodium, Starlight, & more!

Performance & Optimization
Mod Loaders
Forge
Minecraft

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Dev Environment
Client Required
Server Unsupported

About

Project Details

Type
Mod
License
MIT License
Latest Version
colorful_lighting-1.20.1-2.6.1.jar

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

CurseForge ID
Modrinth ID

Resources

External Links

Source Issues Wiki Discord

About

Description

ℹ️ Fork Information

This mod is a direct fork of erykczy's Colorful Lighting. Our main goal with this fork is to extend mod compatibility for use in larger modpacks. If you find an incompatible mod, please report it on the GitHub Issues page.

❓ How It Works

Every light source gets a color, and that color spreads through the world just like vanilla light. Filters like stained glass tint the light passing through them. All the heavy lifting happens on a background thread, so your game stays smooth, and every color can be customized with a resource pack. Works on ANY server, no server-side install needed!

✨ Features

  • Different blocks can emit different colors
  • Light changes color when passing through stained glass and other filters
  • Light can be absorbed by specific blocks
  • Colors are fully customizable through resource packs
  • Block states and even NBT can define different colors (a beacon lit by its effect, a charged creeper, a potion by its type)
  • 100% client-side: use it on ANY server!

🎨 Resource Pack Addons

Ready-made addon packs that add colored lighting entries for popular mods:

Want to make your own? The full resource pack tutorial is on the GitHub page.

🔗 Mod Compatibility

Found an incompatible mod? Report it on GitHub Issues!

🗺️ Roadmap

  • Full support for Sodium itself, alongside Embeddium
  • Fabric, Forge and NeoForge support for every Minecraft version from 1.20.1 up to 26.2 (no backports below 1.20.1)
  • A new shader patcher with dedicated patches for specific shader packs, with the current auto-patcher staying as the fallback

No timelines are promised; follow the GitHub repository for progress.

⚠️ Known Issues

  • Distant Horizons: lights inside LODs are not colored yet, fix in development
  • Flerovium: held and dropped items appear dark, fix planned
  • AsyncParticles: particles appear dark, fix planned
  • Immersive Portals: Nether light can bleed into the Overworld while a portal is rendered

🔬 Want the Technical Breakdown?

The full documentation, including the complete resource pack tutorial (emitters, filters, absorbers, entity/item lights, NBT rules), the client config guide, and all the technical details, lives on the GitHub page.

ℹ️ Fork Information

This mod is a direct fork of erykczy's Colorful Lighting. Our main goal with this fork is to extend mod compatibility for use in larger modpacks. If you find an incompatible mod, please report it on the GitHub Issues page.

❓ How It Works

This mod is built on top of Minecraft's vanilla lighting engine. It works by storing an extra set of data alongside the vanilla light levels, representing the color of the light in that block. When a light-emitting block is placed, the mod checks a list of configurable "emitters" to see if it should have a color. If it does, the color is propagated outwards, block by block, diminishing with distance, just like the vanilla engine.

When light passes through a semi-transparent block, the mod checks a list of "filters". These filters can change the color of the light passing through them. For example, red-stained glass can be configured to filter out all but the red component of light. The amount of light that is blocked can also be configured.

To avoid performance issues, all of this light propagation is handled on a separate thread, which means it won't slow down your game. The mod also uses techniques like trilinear interpolation to smooth out the colors between blocks, which creates a more natural look.

✨ Features

  • Different blocks can emit different colors
  • Light can change color when passing through certain blocks
  • Light can be absorbed by specific blocks
  • Emitted colors and filtered colors can be customized in resource packs
  • Block states can define different colors
  • The mod is client-side - you can play with it on ANY server while still experiencing colorful lighting!

🔗 Mod Compatibility

  • Embeddium Support: Embeddium is fully compatible and a REQUIREMENT.
  • Starlight Support: Works seamlessly with Starlight.
  • True Darkness Support: Compatible with True Darkness.
  • Oculus Support: Colorful Lighting now ships a shaderpack auto-patcher (similar to Euphoria Patches). On startup it scans your shaderpacks folder and creates a patched <Pack> + ColorfulLighting copy of every recognized pack — select that copy in the Oculus shader GUI and the Colored Light Engine stays enabled. Unpatched packs still disable the engine automatically. Run /cl patchshaders to re-scan without restarting, or set autoPatchShaderpacks = false in the client config to opt out.
  • Dynamic Light Mods: Most Dynamic Light mods are NOW WORKING! Lively Lighting is still the only known working Dynamic Lighting Mod compatible with the filters.json entries.
  • Wakes: Reforged: Works perfectly with wakes and tints them accordingly
  • Flywheel: Flywheel rendered objects now render with colorful lighting since the Colorful Lighting 2.4.0 update (tested with flywheel 1.0.5).
  • Distant Horizons: Lights rendered inside LODs will not have color. This is something we are working on for a future release.
  • Flerovium: Held and dropped items will appear dark. This is something we are working on for a future release.
  • AsyncParticles: Particles appear dark. This is something we are working on for a future release.
  • Lively Lighting: Dynamic light sources will emit light with their respective color. Fixed lingering light!
  • Immersive Portals: Does not crash, but the light from the Nether will bleed into the Overworld when an immersive portal is being rendered. This may be fixed in the future.
  • Ponder (Create): Ponder works fine in recent updates, no more red tint issue!

🖼️ Resource Pack Tutorial

In your resourcepack's namespace folder (where folders like textures and models are located), create a light folder. There, you can create an emitters.json file, which defines what light colors blocks emit.

emitters.json

This file defines the color of light emitted by blocks. You can specify a simple color or use a more complex object to handle block states.

Simple Format

{
          "minecraft:torch": "vanilla",               // Same color used in Vanilla lighting
    "minecraft:glowstone": "#00FF00",           // color in hex
    "minecraft:red_candle": "red",              // Minecraft dye name
    "minecraft:redstone_lamp": [0,255,255],     // RGB array
    "minecraft:soul_torch": "purple;5",         // override light level emission value after ';' is a hex number from 0 to F (F = 15)
}

Block State Format

You can define different colors for different block states.

{
    "minecraft:furnace": {
        "default": "orange",
        "states": {
            "lit=true": "red",
            "lit=false": "#000000"
        }
    }
}

filters.json

This file defines how light is colored when passing through blocks (like stained glass). You can also specify light absorption (0-15), where 0 allows all light to pass and 15 blocks all light.

Simple Format

{
    "minecraft:red_stained_glass": "#00FF00", // color in hex
    "minecraft:green_stained_glass": "red",   // dye name
    "minecraft:glass": [ 0, 255, 255 ],       // RGB array
          "minecraft:oak_door": "white;5"           // light absorption (0=full pass, 15=blocked)
}

Block State Format

Similar to emitters, filters can also depend on block states.

{
    "minecraft:stained_glass_pane": {
        "default": "white",
        "states": {
            "waterlogged=true": "blue"
        }
    },
    "minecraft:oak_door": {
    "default": "white;15",
    "states": {
      "open=true": "white;0",
      "open=false": "white;15"
    }
}

absorbers.json

This file defines which blocks will completely eat (absorb) light around them. You can define the color of light it absorbs (or white for all light) as well as how much light it absorbs.

{
	"minecraft:end_portal": "#FFFFFF;15",
	"minecraft:end_gateway": "#FFFFFF;15"
}

entities.json

Define what light color entities emit (REQUIRES LIVELY LIGHTING).

{
    "minecraft:creeper": "#00FF00", // color in hex
    "minecraft:blaze": "orange"     // dye name
}

items.json

Define what light color held items emit (REQUIRES LIVELY LIGHTING).

{
    "minecraft:torch": "#00FF00",     // color in hex
    "minecraft:lava_bucket": "orange" // dye name
}

moon_phases.json

Define a separate light intensity/vibrancy value for each moon phase.

{
  "0": 0.45,
  "1": 0.60,
  "2": 0.75,
  "3": 0.90,
  "4": 1.0,
  "5": 0.90,
  "6": 0.75,
  "7": 0.45
}

‼️ Working Shader Packs

⚠️ Known Issues/Planned Fixes

  • Blocks with emissive textures don't properly propagate lighting outwards

Screenshots

Gallery

  • OCEAN MONUMENT
    OCEAN MONUMENT
  • CREEPER IN A CAVE WITH LAVA
    CREEPER IN A CAVE WITH LAVA
  • LIGHTING MIXING
    LIGHTING MIXING
  • AMETHYST GEODE
    AMETHYST GEODE
  • ANCIENT CITY
    ANCIENT CITY
  • DEEP DARK BELOW
    DEEP DARK BELOW
  • GLASS FILTER COLORS
    GLASS FILTER COLORS
  • SMOOTH LIGHTING OFF
    SMOOTH LIGHTING OFF
  • DOOR OPENED
    DOOR OPENED Block State example
  • DOOR CLOSED
    DOOR CLOSED Block State example
  • GLASS FILTERS & TRUE DARKNESS
    GLASS FILTERS & TRUE DARKNESS
  • CORAL REEFS
    CORAL REEFS
  • INSIDE AN END CITY
    INSIDE AN END CITY
  • TWO END CITIES
    TWO END CITIES
  • ANCIENT CITY
    ANCIENT CITY
  • LIGHT ABSORBING BLOCK EXAMPLE
    LIGHT ABSORBING BLOCK EXAMPLE
  • BLOCK STATE EXAMPLE
    BLOCK STATE EXAMPLE Redstone dust emits brighter light depending on its redstone power level!
  • 15780.png
    15780.png 15780.png
  • INSIDE AN END CITY
    INSIDE AN END CITY
  • BLOCK STATE EXAMPLE
    BLOCK STATE EXAMPLE Redstone dust emits brighter light depending on its redstone power level!
  • LIGHT MIXING
    LIGHT MIXING
  • THE LIGHT ROOM
    THE LIGHT ROOM
  • LIGHT ABSORBING BLOCK EXAMPLE
    LIGHT ABSORBING BLOCK EXAMPLE
  • TWO END CITIES
    TWO END CITIES
  • CORAL REEFS
    CORAL REEFS
  • RUINED PORTAL
    RUINED PORTAL
  • GLASS FILTERS & TRUE DARKNESS
    GLASS FILTERS & TRUE DARKNESS
  • CREEPER IN A CAVE WITH LAVA
    CREEPER IN A CAVE WITH LAVA
  • SMOOTH LIGHTING OFF
    SMOOTH LIGHTING OFF
  • ANCIENT CITY
    ANCIENT CITY
  • DOOR OPENED
    DOOR OPENED
  • DOOR CLOSED
    DOOR CLOSED

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
1
In stacks

By the numbers

Statistics

~32,000
Total Downloads
CurseForge
~25,000
Modrinth
~7,000
Last Updated
CurseForge
Modrinth
Created
CurseForge
Modrinth
Last synced
When ModDex last fetched and imported data for this project from CurseForge or Modrinth. High-traffic and active projects are checked more often.
Next pipeline sync