
Flashlight: Shader Light Engine
Handheld flashlight and work lantern with real dynamic lighting: a shader-driven beam that casts true shadows from actual block shapes, zooms with the mouse wheel, and blinds anyone who looks in. Plus night vision goggles and signal flares.
0.2.0+26.1.2
Compatibility
Changes
Minecraft 26.1.x · Fabric Loader ≥ 0.19.3
New
- Night Vision Goggles — worn on the head, toggled with G. Honest overexposure: daylight, torches and flashlight beams burn out to pale green per-pixel. ~3 s tube warm-up synced to the power-on sound, film grain, 576-line scanline effect. Powered by an AA battery (30 min) with hot-swap on the same key. Craft-only.
- Signal Flare — right-click to ignite, thrown in an arc, lands and burns for 60 s. Red point light from the flashlight engine + a column of red smoke. Cannot be extinguished.
- Sounds — flashlight click, focus zoom, NVG on/off, work lantern hum (loop). Subtitles in en/ru.
- Loot & recipes — flashlight and batteries in villages, work lantern and battery packs in dungeons/mineshafts/strongholds.
Engine
- Per-chunk light limit: at most 4 sources per chunk, global cap raised 16 → 32 — a crowd of flashlights in one spot no longer starves light in neighboring chunks.
- Faster, softer shadows: distance-based LOD (5 rays up close, 1 beyond ~25 blocks where the penumbra is subpixel anyway), a two-radius sample disk + interleaved gradient noise instead of a static pattern.
- Voxel occluder v2: only slices with actually-changed blocks get rescanned — a static world no longer burns ~14,000 block checks per frame.
- Entity shadows no longer flicker on teleport / dimension change.
- GPU resources and native memory are released when leaving a world.
Fixes
- A landed flare no longer sinks or jitters for other players (landed state is now synced).
- The reload pose no longer flickers with items in both hands and is frame-rate independent.
- NVG warm-up freezes while the game is paused; no residual blind flash after rejoining a world.
- Creative mode no longer drains charge or consumes batteries.
- Scroll-wheel focus now works for an off-hand flashlight.
- Rate limit on NVG toggle packets (sound anti-grief).
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:xAYUZD4M:vfVA06fU"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:xAYUZD4M:vfVA06fU"
}
