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