promotional bannermobile promotional banner
premium banner
Lightweight optimised Dynamic Lighting designed around Truly Dark and Mod Compatibility

Description

🌟 Truly Bright - Dynamic Lighting

The torch in your hand should light the room, not just your inventory.

Held torches · Dropped lanterns · Burning mobs · Built for Truly Dark · Sodium-native · Create-compatible


🀝 Companion Mod

https://www.curseforge.com/minecraft/mc-mods/truly-dark


πŸ”¦ The Pitch

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.


πŸ’‘ What It Actually Lights

Anything that should glow, glows. Out of the box:

  • πŸ”₯ Held items — torches, lanterns, soul lanterns, glowstone, sea lanterns, redstone torches, jack-o'-lanterns, lava buckets, blaze rods, magma blocks
  • πŸ“¦ Dropped items — same list, in ItemEntity form on the ground
  • πŸ–ΌοΈ Item frames — a torch in a frame is still a torch
  • πŸ› Glow-emitting mobs — glow squid, magma cube, blaze
  • πŸ”₯ Burning entities — anything currently on fire (flaming arrows, ignited TNT, set-on-fire creepers) emits light at level 15
  • πŸ’§ Water-aware — torches go dark underwater; sea lanterns and glowstone keep glowing

Every per-item luminance, falloff radius, and water-sensitivity flag is data-driven. Modded items can opt in via a JSON resource pack.


βš™οΈ Engine Highlights

Built once, fast everywhere. Some of what's under the hood:

  • πŸš€ Sodium-native from day one — separate mixin path that taps directly into Sodium / Embeddium's chunk-builder so dynamic light bakes into your chunk vertices, not just the screen-space lightmap
  • 🧡 Lock-free, thread-safe — copy-on-publish snapshot architecture means Sodium's worker threads never wait on the engine and never see torn state
  • πŸ“ Exact-key spatial index — your fifth torch can never accidentally illuminate the cave you walked past five minutes ago because two cell coordinates happened to share a hash bucket
  • 🎚️ Per-source falloff curves — linear, inverse-square, or smoothstep, picked per light source. Smoothstep eliminates the visible "pop" when a moving torch crosses a chunk-section boundary
  • 🌈 RGB-tracked internally — color flows through the engine even when output is monochrome, so an Iris/Oculus path can pick it up later
  • πŸ“ Sub-block-level interpolation — luminance values written into the lightmap with full fractional precision, not snapped to integer 0–15 levels
  • πŸ” Incremental snapshot rebuilds — only sources whose fingerprint actually changed since last tick re-distribute; identical frames skip the rebuild entirely

Loader-free engine, fully unit-tested without booting Minecraft.


πŸ›ž Compatible With Mods That Replace Rendering

This is the bit other dynamic-lighting mods quietly fail at.

  • 🟩 Sodium / Embeddium — handled at the chunk-builder level. Your lit blocks bake into the geometry on Sodium's worker threads, just like vanilla light
  • βš™οΈ Create + Flywheel — Truly Bright hooks Flywheel's per-section GPU light buffer 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.)
  • πŸ›©οΈ Create Aeronautics — aircraft contraptions are rendered through Flywheel, so they're covered automatically. The torch on the deck of your airship actually lights the deck.
  • 🎨 Colorwheel (Iris × Flywheel bridge) — its ClrwlEngine instantiates the same LightStorage, so the same hook covers it transparently
  • πŸŒƒ Iris / Oculus shaders — see the section below

βœ… 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.


πŸŒ‘ Designed for Truly Dark

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.


πŸ› οΈ Loader & Version Compatibility

  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.


⚠️ About Shaders (Iris / Oculus)

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.


🚫 What It Is Not

  • ❌ Not a flashlight mod — it lights what should already be glowing, not the camera direction
  • ❌ Not a content mod — adds no items, blocks, or recipes
  • ❌ Not a server-side gameplay change — other players see their own lights
  • ❌ Not a shader — works without one, doesn't try to replace one
  • ❌ Not aggressive — every per-item luminance and falloff is tuneable, JSON-driven, and openly registerable

Just: the torch in your hand actually does its job.


Carry the dark. Carry the light.

Mod by Dylan · All Rights Reserved

Companion mod: πŸŒ‘ Truly Dark