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