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)。