默认转换目标列表(Default Transformer List)

基本信息

属性 值
类型 字节码改写目标方法清单
定义位置 net.vfyjxf.nechar.NechConfig 的 defaultTransformerRegExp 与 defaultTransformerStringList
消费方 TransformerRegExp / TransformerString 的 getDefault()
正则列表 4 项(全部唯一)
子串列表 22 项(21 项唯一,含 1 处重复)

条目格式

"全限定类路径$内部类:方法名" —— MethodDecoder.addAll 按 ":" 分割,必须恰好 2 段,否则记 Invalid config syntax 并跳过。类名中的内部类用 $ 分隔;包分隔符已由 MethodDecoder 的调用方从 / 替换为 .。

这两组默认值会被写入配置文件 transformers 分类的 DefaultTransformerRegExp / DefaultTransformerString 两个键,注释均标注 “THIS IS GENERATED BY NECH, DON’T EDIT!”,且每次加载时 loadConfig 会用代码里的常量强制覆盖用户对这两个键的修改(config.getCategory(...).get(...).set(default))。要增删目标只能改 AdditionalTransformerStringList / AdditionalTransformerRegExpList。

正则目标列表(4 项)

对应 TransformerRegExp,改写 Pattern.matcher 与 String.matches。

# 目标方法 所属界面
1 appeng.client.me.ItemRepo:updateView Applied Energistics 2 搜索
2 net.p455w0rd.wirelesscraftingterminal.client.me.ItemRepo:updateView WirelessCraftingTerminal 搜索
3 com.glodblock.github.client.me.FluidRepo:addEntriesToView Ae2fc
4 com.glodblock.github.client.me.EssentiaRepo:updateView Ae2fc(要素仓库)

子串目标列表(22 项)

对应 TransformerString,改写 String.contains。

# 目标方法 所属界面
1 extracells.gui.GuiFluidTerminal:updateFluids Extra Cells 流体终端搜索
2 extracells.gui.GuiFluidStorage:updateFluids Extra Cells 无线终端搜索
3 witchinggadgets.client.ThaumonomiconIndexSearcher:buildEntryList Witching Gadgets 神秘学索引搜索
4 net.glease.tc4tweak.modules.researchBrowser.ThaumonomiconIndexSearcher:buildEntryList TC4 Tweaks 神秘学索引搜索
5 appeng.client.gui.implementations.GuiInterfaceTerminal:refreshList Applied Energistics 2 接口终端
6 appeng.client.gui.implementations.GuiInterfaceTerminal:itemStackMatchesSearchTerm Applied Energistics 2 接口终端
7 vswe.stevesfactory.components.ComponentMenuLiquid:updateSearch Steve’s Factory Manager 流体搜索
8 vswe.stevesfactory.components.ComponentMenuItem:updateSearch Steve’s Factory Manager 物品搜索
9 betterquesting.api2.client.gui.panels.lists.CanvasQuestSearch:queryMatches Better Questing 任务搜索(GTNH 版)
10 me.towdium.jecalculation.utils.Utilities$I18n:contains Just Enough Calculation
11 logisticspipes.gui.orderer.GuiOrderer:isSearched Logistics Pipes 订单器
12 logisticspipes.gui.orderer.GuiRequestTable:isSearched Logistics Pipes 请求表
13 mrtjp.projectred.transportation.GuiRequester$$anonfun$stringMatch$1$1:apply ProjectRed Expansion 路由请求管道
14 com.glodblock.github.client.gui.GuiInterfaceTerminalWireless:refreshList Ae2fc 无线接口终端
15 com.glodblock.github.client.gui.GuiInterfaceTerminalWireless:itemStackMatchesSearchTerm Ae2fc 无线接口终端
16 com.glodblock.github.client.gui.GuiInterfaceWireless$InterfaceWirelessList:updateList Ae2fc 无线接口终端
17 com.glodblock.github.client.gui.GuiInterfaceWireless:itemStackMatchesSearchTerm Ae2fc 无线接口终端
18 com.glodblock.github.client.gui.GuiLevelTerminal$LevelTerminalList:update Ae2fc 等级终端
19 com.glodblock.github.client.gui.GuiLevelTerminal:itemStackMatchesSearchTerm Ae2fc 等级终端
20 appeng.client.gui.implementations.GuiInterfaceTerminal$InterfaceTerminalList:update Applied Energistics 2 接口终端
21 appeng.client.gui.implementations.GuiInterfaceTerminal$InterfaceTerminalList:itemStackMatchesSearchTerm Applied Energistics 2 接口终端
22 com.glodblock.github.client.gui.GuiInterfaceWireless$InterfaceWirelessList:update Ae2fc 无线接口终端(与 #16 重复)

重复项说明

源码数组中 appeng.client.gui.implementations.GuiInterfaceTerminal:itemStackMatchesSearchTerm 出现 2 次(外层类 #6 与内部类列表 #21 之后各一次,位于数组首尾相邻位置)。由于方法表底层是 Guava HashMultimap(集合语义),重复项在 addAll 时被自动去重,实际生效目标为 21 个。

覆盖面小结

来源模组 目标项数
Applied Energistics 2 4(正则 1 + 子串 3)
Ae2fc 8(正则 2 + 子串 6,其中 1 项重复)
Extra Cells 2
Witching Gadgets 1
TC4 Tweaks 1
Steve’s Factory Manager 2
Better Questing 1
Just Enough Calculation 1
Logistics Pipes 2
ProjectRed Expansion 1
WirelessCraftingTerminal 1(正则)

所有目标均为其他模组的客户端界面方法,本模组不提供任何被改写方法的自有界面。

扩展与裁剪

方式 配置项 默认值
增加正则目标 transformers.AdditionalTransformerRegExpList 空列表
增加子串目标 transformers.AdditionalTransformerStringList 空列表
排除任意目标 transformers.transformerMethodBlackList 空列表

黑名单对两种转换器同时生效——reload() 中两个转换器都会执行 mdt.removeAll(NechConfig.transformerMethodBlackList)(见 转换器注册表)。

相关条目