/dmap
基本信息
| 属性 | 值 |
|---|---|
| 指令名 | dmap |
| 注册位置 | src/main/java/org/dynmap/forge/DynmapPlugin.java:1472 |
| 处理类 | DmapCommand(DynmapPlugin.java:2054-2058,继承 DynmapCommandHandler) |
| 分派入口 | DynmapCore.processCommand 的 dmap 分支(DynmapCore.java:1420-1426) |
| 子命令实现 | DynmapMapCommands.processCommand(DynmapMapCommands.java:38 起) |
| 帮助表 | commandinfo 中本指令 15 行(DynmapCore.java:1185-1290) |
功能
地图与世界配置的读写接口(区别于 /dynmap 的渲染控制)。增删改操作前必须先用 /dynmap pause all 暂停渲染,改完再 /dynmap pause none 恢复——该约束写在仓库 README.md 的 “Some useful commands to get started” 一节。
未知子命令不会静默失败:processCommand 返回 false 时回落到 printCommandHelp(DynmapCore.java:1421-1424),打印 “Invalid subcommand: <x>”(DynmapCore.java:1302)。
子命令
按 DynmapMapCommands.processCommand 的实际分派顺序(DynmapMapCommands.java:42-93):
| 子命令 | 作用 |
|---|---|
help |
打印帮助 |
worldlist |
列出已加载世界 |
perspectivelist |
列出可用透视 |
shaderlist |
列出可用着色器 |
lightinglist |
列出可用光照 |
maplist |
列出地图 |
blocklist |
列出方块渲染信息 |
worldset |
修改世界属性(enabled、order 等) |
mapdelete |
删除地图 |
worldreset |
重置世界配置 |
mapset |
修改地图属性 |
mapadd |
新建地图 |
enableonly |
仅启用列出的世界,其余禁用 |
exploremode |
隐藏除主世界外的所有维度 |
setorder |
将列出的世界移到列表顶部 |
disableworlds |
禁用列出的世界 |
数值
mapadd 的键值对解析写入 cn(cn.put("name", mname) 见 DynmapMapCommands.java:589),可识别 title、perspective、shader、lighting、mapzoomin 等键。仓库 README.md 给出实例:
/dmap mapadd world:surfaceNE title:"Surface NE" perspective:iso_NE_30_hires shader:stdtexture lighting:shadows mapzoomin:1
地图名格式为 <dim>:<mapname>,主世界维度名为 world(即 server.properties 中的名字),下界为 DIM-1、末地为 DIM1——见仓库 README.md “Some useful commands to get started” 小节。
交互
| 触发 | 行为 |
|---|---|
| 未知子命令 | 打印 “Invalid subcommand: <x>” 并列出全部子命令 |
| 修改前未暂停渲染 | 仓库 README.md 明确要求先 /dynmap pause all |
已核实的不一致
以下 4 个子命令在运行时有分派但未登记进 commandinfo 帮助表(DynmapCore.java:1185-1290 内对应字符串出现 0 次):
| 子命令 | 运行时分派 |
|---|---|
perspectivelist |
DynmapMapCommands.java:49 |
shaderlist |
DynmapMapCommands.java:52 |
lightinglist |
DynmapMapCommands.java:55 |
blocklist |
DynmapMapCommands.java:61 |
/dmap help 因此不会列出这 4 项。仓库中未找到注释表明这是有意省略,此处仅记录行为。