FlushableCache

基本信息

net.glease.tc4tweak.modules.FlushableCache —— 所有模块缓存的抽象基类, 支持批量启用/禁用(调试用)。

泛型

public abstract class FlushableCache<E> {
    protected abstract E createCache();

子类实现 createCache() 造出具体的缓存容器 (ConcurrentMap、TIntObjectMap、Set<String> 等)。

静态控制

方法 行 说明
static enableAll(boolean doCreate) 25 启用全部缓存;doCreate 决定是否同时创建实例
static disableAll() 31 禁用全部缓存

enableAll / disableAll 是静态的 —— 说明内部维护一个全局缓存实例注册表 (所有子类实例),而非逐对象管理。

实例方法

方法 行 说明
isEnabled() 52 该缓存是否启用
getCache() 56 取缓存实例(禁用时应返回 null/空)

子类

子类 泛型实参
CrucibleRecipeByHash TIntObjectMap<CrucibleRecipe>
CustomItemStacks Set<String>
RangedObjectTags ConcurrentMap<Item, List<int[]>>
另见 ObjectTagsCache 等 —

语义用途

「禁用缓存」是调试手段:关掉后每次都重建,能暴露缓存不一致导致的 bug, 也能验证某功能是否依赖缓存。

相关条目

源码

  • src/main/java/net/glease/tc4tweak/modules/FlushableCache.java