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

相关条目