默认转换目标列表(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)(见 转换器注册表)。
相关条目
- 转换器注册表 -
MethodDecoder的合并与去重逻辑 - TransformerString - 消费子串列表的转换器
- TransformerRegExp - 消费正则列表的转换器
- 配置系统 - 附加列表与黑名单配置项
- 性能分析器 Profiler - 扫描其他模组以发现新的可转换目标