Supernova Data Manager
基本信息
com.mitchej123.supernova.storage —— ChunkAPI 数据管理器,
负责彩色光照数据的存档持久化。这是 RGB 模式必须 ChunkAPI 的原因。
3 个类
| 类 | 说明 |
|---|---|
AbstractSupernovaDataManager |
包私有抽象基类,abstract class |
SupernovaDataManager |
方块光数据 |
SupernovaSkyDataManager |
天光数据 |
基类实现 ChunkAPI 的 com.falsepattern.chunk.api.DataManager 接口。
ChunkAPI 接口方法
| 方法 | 行 | 返回 |
|---|---|---|
domain() |
74 | modid 域 |
id() |
79 | 数据 id |
version() |
84 | 版本标记 |
newInstallDescription() |
89 | 新装提示 |
uninstallMessage() |
94 | 卸载提示 |
versionChangeMessage(String priorVersion) |
100 | 版本变更提示 |
writeChunkToNBT(Chunk, NBTTagCompound) |
107 | 写存档 |
⚠️ 关键陷阱:versionChangeMessage 必须返回 null
源码注释(第 98 行)原文:
ChunkAPI treats any non-null return as an incompatible change, so an unchanged version must answer null or every world load raises a startup query.
即:版本未变时若返回非 null,ChunkAPI 视为「不兼容变更」,
每次读世界都会弹出启动询问框。因此该方法在无变更时须返回 null。
这是 ChunkAPI 的一个反直觉约束 —— 「返回说明文字」不等于「报告兼容」。
相关条目
- SupernovaCore — 缺 ChunkAPI 强制降级 SCALAR
- Extended Chunk
- Supernova Config
源码
src/main/java/com/mitchej123/supernova/storage/AbstractSupernovaDataManager.javasrc/main/java/com/mitchej123/supernova/storage/SupernovaDataManager.javasrc/main/java/com/mitchej123/supernova/storage/SupernovaSkyDataManager.java