Colored Light Source
基本信息
com.mitchej123.supernova.api.ColoredLightSource 与
PositionalColoredLightSource —— 供其他 mod 实现的彩色发光方块接口。
| 接口 | 文件 | 抽象方法 |
|---|---|---|
ColoredLightSource |
api/ColoredLightSource.java |
int getColoredLightEmission(int meta) |
PositionalColoredLightSource |
api/PositionalColoredLightSource.java |
int getColoredLightEmission(IBlockAccess, int meta, int x, int y, int z) |
PositionalColoredLightSource extends ColoredLightSource, 因此实现位置相关版本时必须同时实现 meta 版本(源码只写了@Override, 未给默认实现)。
两种签名的区别
| 维度 | ColoredLightSource |
PositionalColoredLightSource |
|---|---|---|
| 输入 | 仅 meta | world + meta + 坐标 |
| 适合 | 苔石、彩色玻璃等固定色方块 | 熔岩、火把等随位置变色方块 |
| 引擎查询 | LightColorRegistry 静态查表 |
LightColorRegistry.isPositional() 判真后实时调用 |
返回值必须是 PackedColorLight.pack(r, g, b) 打包的 0x0R0G0B,
每通道 0–15;返回 0 表示不发光。
配套的透光接口
形状对称:见 Colored Translucency。
相关条目
- Light Color Registry — 消费这两个接口的注册表
- Packed Color Light —
pack(r,g,b)的定义 - Colored Translucency
- RGB Engines — 实际调用方
源码
src/main/java/com/mitchej123/supernova/api/ColoredLightSource.javasrc/main/java/com/mitchej123/supernova/api/PositionalColoredLightSource.java