/gwm
基本信息
| 属性 | 值 |
|---|---|
| 指令名 | gwm |
| 注册位置 | src/main/java/org/dynmap/forge/DynmapPlugin.java:1475 |
| 处理类 | GwmCommand(GwmCommand.java:15) |
| 基类 | net.minecraft.command.CommandBase(GwmCommand.java:3 导入,:15 继承) |
| 子命令容器 | GwmCommand.subCommands(GwmCommand.java:17,HashMap<String,GwmSubCommand>) |
| 子命令基类 | GwmSubCommand(forge/GwmSubCommand.java) |
| 帮助表 | 无 —— /gwm help 只会回复 “See docs”(GwmCommand.java:37,方法签名在 :36) |
功能
本 fork 相对上游 Dynmap 追加的专用指令(gwm = GTNH Web Map)。与前 4 条指令不同,/gwm 的子命令在运行时按条件注册:只有对应前置 mod 存在、或对应功能开关打开时,该子命令才会出现。
分派逻辑极简(GwmCommand.java:39-52):无参数直接 return;否则以 args[0] 查 subCommands map,命中则把 args[1..] 复制后交给子命令。查不到则静默无响应——没有未知子命令的错误提示。
子命令
共 4 个,其中 1 个无条件注册、3 个条件注册:
| 子命令 | 注册位置 | 注册条件 |
|---|---|---|
biomedump |
GwmCommand.java:24 |
无条件(构造函数内直接注册) |
gtdump |
modsupport/gregtech/GregTechSupport.java:44 |
仅当 GregTechSupport 被实例化(GT5 存在) |
updatechunks |
forge/integration/ForgeChunkLoaderMarkers.java:45 |
仅当区块加载标记功能开启 |
updatesuclaims |
forge/integration/ServerUtilitiesClaimedChunksMarkers.java:50 |
仅当 ServerUtilities 认领标记开启 |
gtdump 的子命令名字符串在 GregTechSupport.java:264 super("gtdump");其注册发生在 GregTechSupport 的私有构造函数(GregTechSupport.java:43-45)内,因此该类不被加载时 /gwm gtdump 不存在。
后两个子命令的注册类本身也是条件创建的——DynmapMod.serverStarted 仅在 GwmConfig.enableChunkLoadingMarkers 为真时注册 ForgeChunkLoaderMarkers(DynmapMod.java:136-139),仅在 GwmConfig.enableServerUtilitiesClaimsMarkers 且 Loader.isModLoaded("serverutilities") 时注册 ServerUtilitiesClaimedChunksMarkers(DynmapMod.java:141-143)。
交互
| 触发 | 行为 |
|---|---|
| 无参数 | 直接返回,无任何输出(GwmCommand.java:41-42) |
help |
回复 “See docs”(GwmCommand.java:37) |
| 未知子命令 | 静默无响应(GwmCommand.java:47 的 if(sub != null) 无 else 分支) |
biomedump |
导出生物群系贴图(GwmCommand.java:55-56 的 BiomeDumpSubCommand) |
相关条目
- GT5 集成 -
gtdump的来源 - 区块加载标记 -
updatechunks的来源 - ServerUtilities 认领标记 -
updatesuclaims的来源