配置系统(NechConfig)
基本信息
| 属性 |
值 |
| 类型 |
Forge Configuration 配置加载器 |
| 实现类 |
net.vfyjxf.nechar.NechConfig |
| 配置文件 |
config/NotEnoughCharacters.cfg |
| 加载时机 |
static 初始化块——类一旦被加载立即 loadConfig(new File("config/NotEnoughCharacters.cfg")),源码注释说明"这样读者能拿到最新值" |
| 写回时机 |
if (config.hasChanged()) config.save(); |
| 配置分类 |
5 个:transformers、fuzzy、general、nei、search |
全部配置项
| 键名 |
类型 |
配置默认值 |
字段 |
说明 |
DefaultTransformerRegExp |
字符串列表 |
4 项正则目标(见下表) |
defaultTransformerRegExp |
只读展示项,每次加载被代码常量强制覆盖,注释标注 THIS IS GENERATED BY NECH, DON'T EDIT! |
DefaultTransformerString |
字符串列表 |
22 项子串目标 |
defaultTransformerStringList |
同上,只读且被强制覆盖 |
AdditionalTransformerRegExpList |
字符串列表 |
[] 空 |
transformerRegExpAdditionalList |
用户追加的正则改写目标,格式 全限定类路径$内部类:方法名 |
AdditionalTransformerStringList |
字符串列表 |
[] 空 |
transformerStringAdditionalList |
用户追加的子串改写目标,格式同上 |
transformerMethodBlackList |
字符串列表 |
[] 空 |
transformerMethodBlackList |
黑名单,对正则与子串两种转换器同时生效 |
DefaultTransformerRegExp 的 4 项默认值:appeng.client.me.ItemRepo:updateView、net.p455w0rd.wirelesscraftingterminal.client.me.ItemRepo:updateView、com.glodblock.github.client.me.FluidRepo:addEntriesToView、com.glodblock.github.client.me.EssentiaRepo:updateView(完整清单与对应界面见 默认转换目标列表)。
fuzzy 分类(模糊拼音)
全部为 boolean,默认全部 false。这些值经 NotEnoughCharacters.onConfigChange() 提交给 PinIn 的 config() 链式接口。
| 键名 |
类型 |
默认值 |
字段 |
含义 |
EnableFU2V |
boolean |
false |
EnableFU2V |
启用模糊 U ⇄ V |
EnableFZh2Z |
boolean |
false |
EnableFZh2Z |
启用模糊 Zh ⇄ Z |
EnableFSh2S |
boolean |
false |
EnableFSh2S |
启用模糊 Sh ⇄ S |
EnableFCh2C |
boolean |
false |
EnableFCh2C |
启用模糊 Ch ⇄ C |
EnableFAng2An |
boolean |
false |
EnableFAng2An |
启用模糊 Ang ⇄ An |
EnableFIng2In |
boolean |
false |
EnableFIng2In |
启用模糊 Ing ⇄ In |
EnableFEng2En |
boolean |
false |
EnableFEng2En |
启用模糊 Eng ⇄ En |
提交顺序(onConfigChange):fZh2Z → fSh2S → fCh2C → fAng2An → fIng2In → fEng2En → fU2V → keyboard → commit。
general 分类
| 键名 |
类型 |
默认值 |
字段 |
说明 |
KeyboardType |
字符串 |
"quanpin" |
KeyboardType(Spell 枚举) |
配置注释只列出 quanpin、daqian、xiaohe、ziranma 四个"可接受选项",但 Spell 枚举与 /nech keyboard 实际支持 9 个方案 |
解析逻辑:读入字符串后 Spell.valueOf(keyboardTypeString.toUpperCase());若抛 IllegalArgumentException,打印 Invalid keyboard type: <值> 错误日志并回退到 Spell.QUANPIN。
nei 分类
| 键名 |
类型 |
配置默认值 |
字段 |
说明 |
allowedLanguages |
字符串列表 |
["zh_CN", "zh_TW"] |
neiAllowedLanguages |
拼音搜索生效的语言白名单,注释为 List of languages PinIn is used for;用于过滤物品列表的全部语言得到"匹配语言"(见 搜索提供者) |
search 分类
| 键名 |
类型 |
默认值 |
字段 |
说明 |
enableIgnoreComma |
boolean |
false |
enableIgnoreComma |
数字间忽略千分位逗号;仅当搜索文本本身不含 , 时生效(见 NecharUtils.contain) |
enableVoltageSpecialSearchName |
boolean |
false |
enableVoltageSpecialSearchName |
物品名单独搜索电压等级;注释明确警告 !Slow! |
enableVoltageSpecialSearchTooltips |
boolean |
false |
enableVoltageSpecialSearchTooltips |
提示文本单独搜索电压等级;注释同样标注 !Slow! |
非配置文件字段
| 字段 |
类型 |
初始值 |
修改途径 |
enableVerbose |
boolean |
false |
仅 /nech verbose <true|false>(见 /nech 命令) |
KeyboardType |
Spell 枚举 |
QUANPIN |
配置文件 KeyboardType,或 /nech keyboard(后者不写回文件) |
字段初始值与配置默认值的差异
源码中的字段声明初始值与 config.get 传入的默认值并不总是一致,因为 static 块会立即用配置文件覆盖:
| 字段 |
字段声明初始值 |
配置默认值(实际生效) |
neiAllowedLanguages |
new String[0] |
["zh_CN", "zh_TW"] |
transformerRegExpAdditionalList |
new String[0] |
[] |
transformerStringAdditionalList |
new String[0] |
[] |
transformerMethodBlackList |
new String[0] |
[] |
KeyboardType |
Spell.QUANPIN |
由 KeyboardType 字符串解析,失败回退 QUANPIN |
defaultTransformerRegExp / defaultTransformerStringList 的字段初始值本身就是常量数组,与配置默认值相同。
Spell 枚举(9 个值)
每个枚举值持有一个 public final Keyboard keyboard 字段,由构造器注入:
| 枚举常量 |
me.towdium.pinin.Keyboard |
QUANPIN |
Keyboard.QUANPIN |
DAQIAN |
Keyboard.DAQIAN |
XIAOHE |
Keyboard.XIAOHE |
ZIRANMA |
Keyboard.ZIRANMA |
SOUGOU |
Keyboard.SOUGOU |
GUOBIAO |
Keyboard.GUOBIAO |
MICROSOFT |
Keyboard.MICROSOFT |
PINYINPP |
Keyboard.PINYINPP |
ZIGUANG |
Keyboard.ZIGUANG |
setKeyboard(Spell) 会赋值并立即调用 NotEnoughCharacters.onConfigChange() 提交到 PinIn。
相关条目