promotional bannermobile promotional banner

Truly Bright

Lightweight optimised Dynamic Lighting designed around Truly Dark and Mod Compatibility
Holding torches light up the world.

Holding torches light up the world.

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

The Truly Bright Team

profile avatar
  • 13
    Followers
  • 8
    Projects
  • 2.5M
    Downloads

Roblox Developer who ocasionally makes the friendgroups yearly modpack and dabbles with modding in the process.

More from dylanjklView all