Community listing page, reviews may not be monitored by the author.
LightAPI
No reviews yet
High-performance dynamic lighting engine and spatial indexing API for Minecraft Fabric 1.21.11+. Features volumetric shapes, double-buffered bake pipeline, and multi-light grouping.
Community voices
Reviews
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
About
Project Details
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.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
About
Description
💡 LightAPI
LightAPI is a next-generation dynamic lighting framework and spatial registry created for modern Minecraft (1.21.11+). Built to bridge the gap following Mojang's extensive GPU and vertex consumer pipeline overhaul (OrderedRenderCommandQueue, ModelCommandRenderer), LightAPI provides a resilient, clean, and thread-safe abstraction for registering, updating, and querying dynamic light sources in the world.
🚀 Key Features
- 🌐 3D Spatial Partitioning:
- Chunk-based spatial hashing (
CellHasher,SpatialIndex) for \(O(1)\) spatial queries near players and cameras.
- Chunk-based spatial hashing (
- 🛡️ Thread-Safe Double Buffering (
LightBaker):- Staged write-buffers and atomic snapshot swapping (
LightSnapshot) ensure asynchronous light queries never cause concurrency locks or frame drops on the render thread.
- Staged write-buffers and atomic snapshot swapping (
- 📐 Geometric Shapes & Volumetric Lighting:
- Supports multiple volumetric emitters:
SPHERE,VOLUME_BOX,CAPSULE,EDGE_CURVE,PLANE,ELLIPSE, andCONE. - Physics-based attenuation curves:
LINEAR,QUADRATIC, andSMOOTHfalloff.
- Supports multiple volumetric emitters:
- 👥 Multi-Light Grouping (
LightGroupManager):- Contiguous light fixtures (such as modular neon strips or linked light bars) automatically merge into unified volumetric groups, dramatically reducing GPU overhead.
- 🔄 Decoupled Chromatic Math:
- Modular Dual-Mode Architecture:
- Standalone Mode: Zero external color dependencies. Operates as a pure vanilla lighting engine with 0–15 photometric scalar falloff.
- Chromatic Mode: Dynamically detects ColorAPI via Fabric Loader / SPI (
IColorEngineBridge) to unlock full multi-channel RGB/HSV spectral propagation without static bytecode coupling.
💻 Developer Quick Start
Add LightAPI to your build.gradle:
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
modImplementation "mb.bartra:colorapi:1.0"
modImplementation "mb.bartra:lightapi:1.0"
}
Registering a Dynamic Light Source:
import mb.bartra.lightapi.LightAPI;
import mb.bartra.lightapi.core.LightRegistration;
import mb.bartra.lightapi.core.LightHandle;
import mb.bartra.lightapi.core.CompositeLightShape;
import mb.bartra.lightapi.engine.TickMode;
import net.minecraft.util.math.BlockPos;
// 1. Quick Registration
LightHandle handle = LightAPI.registerLight(pos, 15.0f, 0xFF5500);
// 2. Advanced Volumetric Registration
LightRegistration reg = new LightRegistration(pos, 15.0f, 0x00FF88)
.compositeShape(CompositeLightShape.VOLUME_BOX)
.tickMode(TickMode.REAL_TIME);
LightHandle advancedHandle = LightAPI.registerLight(reg);
// 3. Remove when done
LightAPI.removeLight(handle);
🧩 Dependencies
- Fabric API (Required)
- ColorAPI (Optional / Soft Dependency — enables multi-channel RGB chromatic lighting; operates in standalone monochrome mode if absent)
📄 License
MIT License. Free to use in any CurseForge or Modrinth modpack.
Screenshots
Gallery
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
By the numbers
Statistics
Get it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources