Initial Light Coordinator
基本信息
com.mitchej123.supernova.light.InitialLightCoordinator ——
包私有 final class(无 public),协调区块的初始光照生成与发布。
构造
InitialLightCoordinator(LightQueue skyQueue, LightQueue blockQueue,
Publisher publisher, LongFunction<Chunk> loadedChunks)
两个队列分别对应天光与方块光,外加发布器与区块取用函数。
内部结构
| 成员 | 行 | 说明 |
|---|---|---|
publisher |
27 | 类型 Publisher |
static final class Generation |
134 | 一代光照生成的上下文 |
interface Publisher |
198 | 发布接口 |
Publisher 为何是接口
源码注释(第 197 行)原文:
An interface rather than a direct SupernovaChunk cast, so the coordinator needs no mixin-applied chunk.
即用接口而非直接强转 SupernovaChunk,
好处是协调器不必依赖 mixin 注入后的具体 chunk 类型 ——
解耦了它与 Mixin Chunk 的实现。
实现方
World Light Manager 里的内部类
ChunkLightPublisher implements InitialLightCoordinator.Publisher。
相关条目
源码
src/main/java/com/mitchej123/supernova/light/InitialLightCoordinator.java