EndlessIDs Compat
基本信息
com.mitchej123.supernova.compat.endlessids.EndlessIDsCompat ——
与 EndlessIDs(区块调色板扩展)的兼容层。
存在性探测
private static final class Holder {
static final boolean PRESENT = EndlessIDsCompat.class.getClassLoader()
.getResource("com/falsepattern/endlessids/mixin/helpers/SubChunkBlockHook.class") != null;
}
public static boolean isPresent() { ... }
用资源路径而非 modid 探测,与 SupernovaCore 探测 ChunkAPI 的做法一致。
放在私有静态内部类
Holder里 —— 惰性初始化 (资源查找只在首次访问isPresent()时发生一次)。
populateCache
public static void populateCache(ExtendedBlockStorage section, int idx,
byte[][] blockB1Cache, NibbleArray[] blockB2LowCache, ...)
在 EndlessIDs 改写方块存储(blockB1 / blockB2Low)后,
同步更新 Supernova 侧的缓存 —— 否则光照会基于过期的方块数据计算。
依赖关系
EndlessIDs 与 ChunkAPI 同属 com.falsepattern 生态
(资源路径同为 com/falsepattern/...),
两者常同时安装,但本兼容层不要求 EndlessIDs 存在。
相关条目
源码
src/main/java/com/mitchej123/supernova/compat/endlessids/EndlessIDsCompat.java