Held torches · Dropped lanterns · Burning mobs · Built for Truly Dark · Sodium-native · Create-compatible
https://www.curseforge.com/minecraft/mc-mods/truly-dark
You walk into a cave. You raise a torch. In vanilla Minecraft, the torch lights up… your hotbar. The cave stays dark. The mob three blocks away stays dark. The wall right in front of your face stays dark.
Truly Bright fixes that.
Every torch you hold, every lantern you drop, every creeper on fire, every glow squid you swim past — they all cast real dynamic light onto the world around them. Light follows the things that should be glowing, not just the icons in your inventory.
> 🌑 Built as the companion to Truly Dark — that mod takes the ambient sky-light out, this one puts the player's own light back in, only where you actually have it. They're designed as a pair: turn the world's lights off, then carry your own.
Anything that should glow, glows. Out of the box:
ItemEntity form on the groundEvery per-item luminance, falloff radius, and water-sensitivity flag is data-driven. Modded items can opt in via a JSON resource pack.
Built once, fast everywhere. Some of what's under the hood:
Loader-free engine, fully unit-tested without booting Minecraft.
This is the bit other dynamic-lighting mods quietly fail at.
LightDataCollector.collectSection. Your torch lights the kinetic contraption next to you, the train car going past you, the windmill three blocks away. (For four years, lambdynamiclights issue #120 has tracked the same architectural mismatch with no fix — Truly Bright fixes it on our side.)ClrwlEngine instantiates the same LightStorage, so the same hook covers it transparently✅ No special config needed. Drop the jar in. We detect Flywheel at load time and apply the compat mixin only when it's present — no NoClassDefFoundError on setups without it.
The two mods are built around the same world-feel:
| Truly Dark | Truly Bright | |
|---|---|---|
| Job | takes the ambient lights out | puts the player's lights back in |
| Layer | sky / fog / clouds / cave shadows | block-light at the world block grid |
| You'll feel it when… | midnight is genuinely dark | a torch you place actually illuminates a wall |
| Multiplayer-safe | ✅ client-only | ✅ client-only |
| Sodium-compatible | ✅ | ✅ |
Use them together for the experience they were both designed for: real darkness everywhere except where you chose to put a light.
Use either alone — both stand on their own.
| 1.20.1 | 1.21.1 | |
|---|---|---|
| Forge | ✅ | — |
| NeoForge | ✅ | ✅ |
| Fabric | ✅ | — |
| Quilt | ✅ | — |
✅ Client-side in function — runs on the client, no server-side gameplay changes ✅ Dedicated-server safe — gated initializers let the jar sit on a server for mod-list parity without touching rendering code ✅ Multiplayer-safe — no packets, no protocol changes, every player sees their own dynamic lights ✅ No required dependencies (besides Fabric API on Fabric / Quilt)
More 1.21.x ports landing as the loaders catch up.
Shader packs replace Minecraft's lighting pipeline. When a shader pack is active, Truly Bright's effect has the potential to be bypassed — it's the same architectural mismatch Truly Dark calls out, just from the brightness side instead of the darkness side.
Note that SOME SHADER PACKS will be compatible natively because simple packs (Sildur's Lite, default-configured BSL, vanilla-plus) sample the lightmap texture as part of their composite — that picks up our brightened pixels and the effect comes through for free. Heavy packs that reconstruct lighting from raw block-light values don't. It's pack-dependent — try it out and post a comment to help others know what works.
A first-class Iris/Oculus path with colored RGB output is on the roadmap — the engine already tracks color end-to-end internally, so when the shader-side wiring lands, no engine changes are needed.
tl;dr — same disclaimer as Truly Dark: try your shader, your mileage may vary.
Just: the torch in your hand actually does its job.
Mod by Dylan · All Rights Reserved
Companion mod: 🌑 Truly Dark