GenerateItemHash 模块
基本信息
net.glease.tc4tweak.modules.generateItemHash —— 为物品生成 int 哈希,
供 FindCrucibleRecipe 模块 直查坩埚配方。
3 个类
| 类 | 可见性 | 职责 |
|---|---|---|
GenerateItemHash |
public class |
主逻辑 |
CustomItemStacks |
public class |
FlushableCache<Set<String>> |
RangedObjectTags |
包私有 class |
FlushableCache<ConcurrentMap<Item, List<int[]>>> |
GenerateItemHash
| 成员 | 行 | 说明 |
|---|---|---|
generateItemHash(Item item, int meta) |
86 | 公开入口,返回 int |
onNewObjectTag(List<?> key) |
178 | 词典标签新增时失效缓存 |
onRemoveObjectTag(List<?> key) |
184 | 词典标签移除时失效缓存 |
反射读取 Thaumcraft 私有状态
tmp = ReflectionHelper.getPrivateValue(ThaumcraftApi.class, null, "groupedObjectTags");
Table<String, String, ItemStack> tmp = ReflectionHelper.getPrivateValue(
GameData.class, null, "customItemStacks");
两处直接反射取 Thaumcraft / Forge 的私有静态字段:
ThaumcraftApi.groupedObjectTagsGameData.customItemStacks(MineTweaker 的自定义物品表)
这是与 ASM 补丁并行的第二条接线方式:不用改字节码,直接反射读私有字段。
GT6 兼容失活
ASM 侧 ScanManager 的补丁在检测到 LoadingPlugin.gt6(Greg-ASM 存在)时被禁用:
generateItemHash patch disabled for GT6 compat.
相关条目
源码
src/main/java/net/glease/tc4tweak/modules/generateItemHash/GenerateItemHash.javasrc/main/java/net/glease/tc4tweak/modules/generateItemHash/CustomItemStacks.javasrc/main/java/net/glease/tc4tweak/modules/generateItemHash/RangedObjectTags.java