/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 项。仓库中未找到注释表明这是有意省略,此处仅记录行为。

相关条目

  • /dynmap - 渲染控制;pause 是本指令改配置的前提
  • 地图模板 - mapadd 可引用的模板来源
  • 透视 - perspectivelist 列出的 102 项