Light Registries
基本信息
com.mitchej123.supernova.light.LightRegistries —— 方块 → 光照属性的注册表,
以及 modid 重映射后的重建入口。
方法
| 方法 | 行 | 说明 |
|---|---|---|
rebuildAll() |
19 | 全量重建 |
rebuildCaches() |
25 | 仅重建缓存 |
metaAffectsLight(int blockId) |
33 | 该方块的 meta 是否影响光照 |
触发点
由 Supernova 的 onIdMapping(FMLModIdMappingEvent)
无条件调用 rebuildAll():
// Unconditional: revertToFrozen changes ids and fires with an empty remap list.
LightRegistries.rebuildAll();
原因见注释:revertToFrozen(GriefPrevention 类行为)改 ID 后
会以空 remap 列表触发该事件,所以不能只凭列表非空来判断。
metaAffectsLight 的意义
用于跳过「仅因 meta 不同就重算光照」的优化 —— 颜色若与 meta 无关(如纯色方块),可省一次光照传播。 实际声明见 Light Colors 与 Block Color Config。
⚠️ 类内含诊断设施
配套 Light Registry Diagnostics 提供自检/调试输出。
相关条目
源码
src/main/java/com/mitchej123/supernova/light/LightRegistries.java