/nech 命令

基本信息

属性 值
类型 客户端指令
命令名 nech
实现类 net.vfyjxf.nechar.NechCommand(继承 CommandBase)
注册时机 NotEnoughCharacters#init(FMLInitializationEvent) → ClientCommandHandler.instance.registerCommand(...)
所需权限等级 1(getRequiredPermissionLevel())
实际可用性 canCommandSenderUseCommand 无条件返回 true,且注册在客户端命令处理器上,因此服务端无需安装、任何客户端玩家均可使用
用法字符串 ""(getCommandUsage 返回空串,不提供用法提示)

子命令

参数 参数个数 行为 成功反馈 失败反馈
profile 1 启动一条 MIN_PRIORITY 优先级线程执行 Profiler.run(),把结果以 Gson 缩进 JSON 写入 logs/necharacters-profiler.txt chat.start(开始)、chat.saved(已保存) chat.save_error(写文件抛 IOException 时)
verbose <true|false> 2 直接改写静态字段 NechConfig.enableVerbose 无 其他取值 → command.unknown
keyboard <方案名> 2 调用 NechConfig.setKeyboard(Spell) 切换拼音方案,该方法会再调用 NotEnoughCharacters.onConfigChange() 提交到 PinIn 无 其他取值 → command.unknown

任何不匹配的参数组合(包括无参数、参数过多、args[0] 不是这三个关键字)都走 else 分支输出 command.unknown(本地化键)。

verbose 取值

args[1].toLowerCase() 后匹配:

取值 结果
true NechConfig.enableVerbose = true
false NechConfig.enableVerbose = false
其他 command.unknown

注意 enableVerbose 不是配置文件项,仅由本指令在运行期修改,初始值为 false(见 配置系统)。profile 子命令结束后不会自动还原该开关。

keyboard 取值(9 个)

args[1].toLowerCase() 后映射到 NechConfig.Spell 枚举,注意指令参数名与枚举常量名并不一一同名:

指令参数 目标 Spell 枚举 对应 me.towdium.pinin.Keyboard
quanpin QUANPIN Keyboard.QUANPIN
daqian DAQIAN Keyboard.DAQIAN
xiaohe XIAOHE Keyboard.XIAOHE
ziranma ZIRANMA Keyboard.ZIRANMA
sougou SOUGOU Keyboard.SOUGOU
guobiao GUOBIAO Keyboard.GUOBIAO
microsoft MICROSOFT Keyboard.MICROSOFT
pinyinjiajia PINYINPP Keyboard.PINYINPP(⚠️ 参数名与常量名不同)
ziguang ZIGUANG Keyboard.ZIGUANG

Tab 补全(addTabCompletionOptions)

条件 补全候选
args.length == 1 profile、verbose、keyboard
args.length == 2 && args[0] == "verbose" true、false
args.length == 2 && args[0] == "keyboard" quanpin、daqian、xiaohe、ziranma、sougou、guobiao、microsoft、pinyinjiajia、ziguang
其他 null(不补全)

补全列表与实际可用参数完全一致。

与配置文件的关系

/nech keyboard 只改运行期状态并提交给 PinIn,不写回 KeyboardType 配置项;下次游戏启动时仍按配置文件的值生效。

相关条目