ObjectTagsCache

基本信息

net.glease.tc4tweak.modules.objectTag.ObjectTagsCache —— 三层嵌套的要素映射缓存。

泛型

class ObjectTagsCache extends FlushableCache<ConcurrentMap<Item, TIntObjectMap<AspectList>>>

⚠️ 无 public —— 包私有类。

三层结构

层 键/值 类型
1 Item → {meta → AspectList} ConcurrentMap
2 meta(int) TIntObjectMap
3 — AspectList

即:物品 → 物品的每个 meta → 该 meta 的要素集合。 两层都不可省:Item 不含 meta,只用 Item 做键会把不同 meta 的要素混在一起。

createCache()

第 34 行 public ConcurrentMap<Item, TIntObjectMap<AspectList>> createCache() —— 实现父类 FlushableCache.createCache() 的抽象方法。 按父类约定,getCache() 在缓存禁用时不应创建实例。

写入拦截

该 Map 由 GetObjectTags.newReplacementObjectTagsMap() 返回的 InterceptingConcurrentHashMap 承接写入,每次 put 触发变更追踪 (见 ObjectTags 模块)。

相关条目

源码

  • src/main/java/net/glease/tc4tweak/modules/objectTag/ObjectTagsCache.java