/dynmapexp

基本信息

属性 值
指令名 dynmapexp
注册位置 src/main/java/org/dynmap/forge/DynmapPlugin.java:1474
处理类 DynmapExpCommand(DynmapPlugin.java:2064-2068)
分派入口 DynmapCore.processCommand 的 dynmapexp 分支(DynmapCore.java:1427-1433)
子命令实现 DynmapExpCommands.processCommand(DynmapExpCommands.java:62)
导出实现 org.dynmap.exporter.OBJExport(OBJExport.java:40)
帮助表 commandinfo 中本指令 7 行(DynmapCore.java:1185-1290)

功能

把已渲染的地图区域导出为 Wavefront OBJ 3D 模型,供外部建模/渲染工具使用。流程是"选区 → 导出":先用 pos0/pos1 或 radius 划定立方体区域,再 export 生成文件。

分派使用 DynmapExpCommands.java:65-89 的 equalsIgnoreCase 链,每个分支交给独立的 handle* 方法。上下文 ExportContext ctx = getContext(sender)(DynmapExpCommands.java:65)按发送者保存,因此两个玩家的选区互不干扰。

导出坐标做了轴序转换:OBJExport.java:122 注释 Minecraft XYZ maps to OBJ YZX,即 Minecraft 的 Y 轴(向上)在 OBJ 中映射到 Z 轴。

子命令

子命令 处理方法 源码行 作用
set handleSetExport DynmapExpCommands.java:66-67 设置导出参数
pos0 handlePosN(…, 0) DynmapExpCommands.java:72-73 选区角点 0
pos1 handlePosN(…, 1) DynmapExpCommands.java:75-76 选区角点 1
radius handleRadius DynmapExpCommands.java:69-70 以当前位置为心的半径选区
export handleDoExport DynmapExpCommands.java:78-79 执行导出
reset handleResetExport DynmapExpCommands.java:81-82 重置选区
purge handlePurgeExport DynmapExpCommands.java:84-85 清除导出产物
info handleInfo DynmapExpCommands.java:87-88 输出导出信息

数值

set 支持的分组开关(DynmapExpCommands.java:146-155),均为布尔:

开关 源码行
groupByChunk DynmapExpCommands.java:146
groupByBlockID DynmapExpCommands.java:149
groupByBlockIDData DynmapExpCommands.java:152
groupByTexture DynmapExpCommands.java:155

交互

触发 行为
未知子命令 processCommand 返回 false(DynmapExpCommands.java:65 起 rslt 初值 false),回落到 printCommandHelp(DynmapCore.java:1429-1431)
选区未定义即 export 由 handleDoExport 自行处理

已核实的不一致

purge 与 info 在运行时有分派但未登记进 commandinfo 帮助表(DynmapCore.java:1185-1290 内对应字符串出现 0 次)。/dynmapexp help 因此不会列出这两项。仓库中未找到注释表明这是有意省略,此处仅记录行为。

相关条目