WDMla 客户端指令

基本信息

属性 值
指令数 2(均为客户端指令)
注册方式 ClientCommandHandler.instance.registerCommand(...)(ClientProxy.java:54-57)
基类 GTNHLib GTNHClientCommand(GenerateDumpCommand.java:31)
权限 无(GTNHLib 客户端指令默认不需要服务端权限节点)
服务端对应 无。WDMla.serverStarting 是空方法体(WDMla.java:74-76 → CommonProxy.java:85)

指令

/wdmladump

属性 值
指令名 wdmladump(GenerateDumpCommand.java:30)
生效条件 无条件注册(ClientProxy.java:54)
参数 无
输出 <游戏目录>/wdmla_handlers.md(GenerateDumpCommand.java:43)

把当前实际注册的全部 provider 连同其 uid、优先级等排布信息导出为一个 markdown 文件,文件首行是 # Wdmla Handler Dump(GenerateDumpCommand.java:57-59)。类的 javadoc 说明了用途:这是给「注册系统里的优先级问题」做排查用的(GenerateDumpCommand.java:23-25)。

执行后通过 GTNHLib.proxy.addMessageToChat 回一条本地化提示 chat.msg.wdmla.dump.success = “Dumped all providers to %s”(GenerateDumpCommand.java:45-48、en_US.lang:4)。写文件失败时走 WailaExceptionHandler.handleErr(GenerateDumpCommand.java:50-51)。

processCommand 开头有一道守卫:若发送者不是 EntityClientPlayerMP 直接返回(GenerateDumpCommand.java:35-37)。

/wdmlaprintte

属性 值
指令名 wdmlaprintte(PrintUnsupportedTEsCommand.java:28-30)
生效条件 仅开发环境——注册处包在 if (WDMla.isDevEnv()) 内(ClientProxy.java:55-57)
用途 列出尚未被支持的 TileEntity

isDevEnv() 读 Launch.blackboard.get("fml.deobfuscatedEnvironment")(WDMla.java:78-80),只有在反混淆的开发客户端中才为真。正式整合包里这条指令不存在。

交互

两条指令都注册在 ClientProxy.init 中,即客户端初始化阶段(ClientProxy.java:48-58)。同一方法还注册了 WDMlaTickHandler 到 FML bus 与 Forge EVENT_BUS(ClientProxy.java:50-52)。

相关条目