- 欢迎来到Minecraft插件百科!
- 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
- 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
Dynmap:修订间差异
无编辑摘要 |
无编辑摘要 |
||
(未显示9个用户的122个中间版本) | |||
第1行: | 第1行: | ||
{{ | {{急需改进|缺少概述表|存在维基语法错误}} | ||
Dynmap 是一个像谷歌地图一样的、为 Minecraft 服务器设计的地图插件,让你可以在浏览器查看服务器地图。 | |||
你可以使用 Dynmap 的集成的网络服务器立即上手,也可以将其部署到 Apache 等现有的网络服务器,易于使用。 | |||
Dynmap 可以使用不同的渲染器渲染你的地图,有的适用于高性能,而有的可以展示更详细的细节。 | |||
原始的项目是由 k-red 开发。 | |||
= | ==支持的基于Forge的Mod== | ||
支持以下的Mod,尽管这些Mod的老版本可能不支持,当前版本的某些方块也可能不支持: | |||
* Advanced Machines - IC2 | |||
* Advanced Power Management - IC2 | |||
* Advanced Solar Panels - IC2 | |||
* BetterWorlds | |||
* BuildCraft | |||
* Charging Bench - IC2 | |||
* Compact Solars - IC2 | |||
* ComputerCraft | |||
* Equivalent Exchange 2 | |||
* Ender Storage | |||
* ExtraBees | |||
* Extrabiomes XL (v2.x and v3.x) | |||
* Extrabiomes - Bunyan | |||
* Forestry (updated in 1.4) | |||
* Forgotten Nature | |||
* Greg's Lighting | |||
* IndustrialCraft 2 | |||
* Iron Chest | |||
* LC Trees++ | |||
* Millenaire | |||
* MystCraft | |||
* Metallurgy 2 | |||
* NetherOres | |||
* RailCraft | |||
* Red Power 2 | |||
* SuperSlopes | |||
* TerraFirmaCraft | |||
* ThaumCraft | |||
* Thermal Expansion | |||
* Tubestuff | |||
* Twilight Forest | |||
* XyCraft | |||
==支持的服务端== | |||
Dynmap 包括了除了 CraftBukkit 的其他版本。其他的最新的版本可以在[http://www.minecraftforum.net/topic/1543523-dynmap-dynamic-web-based-maps-for-minecraft/ 这里]找到。目前有 3 个Dynmap主要的平台: | |||
*[https://github.com/webbukkit/dynmap/ Bukkit Dynmap] | |||
*[https://github.com/webbukkit/DynmapForge/ DynmapForge] | |||
*[https://github.com/webbukkit/DynmapSpout/ DynmapSpout] | |||
;Spigot | |||
Spigot 通过 Bukkit Dynmap 被完全支持。 | |||
;MinecraftForge | |||
很多版本的 MinecraftForge 都是支持的,可以使用 DynmapForge 项目。所有的 Forge 版本的 Dynmap 都需要特定的 Forge 版本,升级 Forge 版本也需要升级到对应的 DynmapForge 版本。你应该按照如下的方法来安装或者升级: | |||
*下载对应的 ZIP 文件,对应 MC 版本。 | |||
*解压整个 ZIP 文件,包括子目录,至服务器的根目录。 | |||
*如果是升级,那么删除 'mods' 下老的 'Dynmap-x.y.zip'。 | |||
;MCPC+ | |||
目前 MCPC+ 的版本(v1.4.7 或之后) 只被 DynmapForge mods 支持对应的 Forge 版本。CraftBukkit 版本不被支持。安装请按照以下步骤。 你可以使用 DynmapCBBridge 来兼容使用的 Bukkit 的插件的数据(可以在[http://www.minecraftforum.net/topic/1543523-dynmap-dynamic-web-based-maps-for-minecraft/ 这里]找到)。这是一个 Bukkit 插件,所以应该放在 'plugins' 目录,并且只支持那些基于 Forge 的 Bukkit 服务器上。 | |||
;BukkitForge | |||
BukkitForge mod,一个基于 Forge 的 Mod,添加了Bukkit 的 API,是不被 Dynmap 的 Bukkit 版本支持的。可以使用 DynmapForge 版本,并且搭配 DynmapCBBridge 插件。安装过程与上方的 MCPC+ 相同。 | |||
;Tekkit Classic | |||
Tekkit Classic,和更老的 MCPC (没有+ - v1.2.5),被 DynmapBukkit 支持。 | |||
;Tekkit-Lite | |||
Tekkit-Lite 被 DynmapForge 支持,而不是 Bukkit Dynmap。按照上方 Forge 的安装方式安装 Dynmap。 | |||
;Tekkit | |||
[http://www.technicpack.net/tekkit/ Tekkit] 是一个将大量的 Minecraft Mods 整合在 Bukkit 服务器的服务端。Dynmap 支持 Tekkit,目前的 Dynmap 版本会自动检测 Mod,和他们的方块ID,渲染支持的方块。目前支持 Tekkit v3.1.3 | |||
;Spout | |||
Spout 服务器被 DynmapSpout 的实验项目支持(Spout 进行的重构使对其进行支持不切实际)。安装至 Spout 与 Bukkit 相同(解压到 plugins 目录)。注意:这个项目是给 Spout 服务器使用而不是 Bukkit 上的 Spout 插件。Spout插件可以使用 Bukkit Dynmap。 | |||
;从 Bukkit Dynmap 迁移到 Forge Dynmap | |||
将 Bukkit Dynmap 迁移到 Forge Dynmap 可以按照以下方式进行: | |||
*将 <base>/plugins/dynmap 目录(包括所有数据和子目录)移动到 Forge 服务器上的 <base>/dynmap 目录。 | |||
*编辑 configuration.txt: 替换 'render-triggers' 为以下信息: | |||
<pre> | |||
render-triggers: | |||
- blockupdate | |||
#- blockupdate-with-id | |||
#- lightingupdate | |||
- chunkpopulate | |||
- chunkgenerate | |||
#- none | |||
</pre> | |||
*删除 <base>/plugins/dynmap.jar | |||
*按照安装对应 Forge 版本的方法安装。 | |||
==安装== | |||
见:[[Dynmap/安装]] | |||
==配置== | |||
见:[[Dynmap/配置]] | |||
==命令== | |||
见:[[Dynmap/命令]] | |||
==权限== | |||
见:[[Dynmap/权限]] | |||
==网页参数== | |||
用于启动Web界面的URL可以有多个参数,可以用于改变发送给玩家的默认界面效果。这可以用来在加载WebUI时加载指定的世界或者地图,或者一个指定的缩放大小,或者将地图的中心设置为某个指定的世界坐标。 | |||
参数由一串属性-值组成,每个的参数格式就像这样:<code>attribute-id=value</code> | |||
基础的URL必须含有一个问号 (?) 在第一个参数之前,每个参数之间必须以这个符号间隔,所以,如果这是默认的dynmap网址:<code><nowiki>http://mygreatserver:8123/</nowiki></code> | |||
那么,直接打开“fred”世界并且显示“surface”地图的网页,就可以像这样:<code><nowiki>http://mygreatserver:8123/?worldname=fred&mapname=surface</nowiki></code> | |||
如果你想要使用一个外置的服务器,格式也是一样的 - 添加问号,使用 & 分隔参数:<code><nowiki>http://mycoolapacheserver.com/dynmap?worldname=fred&mapname=surface</nowiki></code> | |||
可用的参数如下: | |||
* worldname - 这个指定了世界的名称(不是标题)。如果没有定义,那么会显示第一个默认的世界(除非在 _configuration.txt里设置了显示哪个世界)。 | |||
* mapname - 这个指定了显示的地图的名称(不是标题),如果没有指定,那么将会显示选中的世界的第一个地图!(除非在_configuration.txt中设置了显示哪张地图)。 | |||
* zoom - 指定的缩放大小(0为最高的缩放),如果没有提供,。那么将会使用默认的缩放大小(除非在_configuration.txt中指定了默认的缩放大小)。 | |||
* x - 这个指定了X坐标(展示的世界的坐标),如果没有指定,那么将会显示center定义的x坐标(一般为0)。 | |||
* y - 这个指定了Y坐标(展示的世界的坐标),如果没有指定,那么将会显示center定义的y坐标(一般为0)。 | |||
* z - 这个指定了Z坐标(展示的世界的坐标),如果没有指定,那么将会显示center定义的z坐标(一般为0)。 | |||
* nopanel - 如果设置为true,那么地图显示的侧边栏将会移除。 | |||
* chatname - 如果设置为一个字符串,WebUI将会将其转变为发送者发送的聊天消息使用的名称。这将只有在 'trustclientname' 设置为 true时才会生效,作为 'allowurlname' 的附加。在0.28及以后的版本中支持。 | |||
* playername - 如果定义了并将其设置为玩家的账户的名称,并且玩家在线或者开启WebUI后一会儿玩家加入了服务器,WebUI将会将地图初始化在给定玩家的位置。 | |||
* hidechat - 如果设置为 'true',那么WebUI将会关闭所有的聊天输入和输出模块(气泡,输入框,聊天栏)。 | |||
* nogui - 如果设置为 'true',那么WebUI将会关闭所有的控制面板,就像只显示地图层一样。 | |||
* nocompass - 如果设置为 'true',那么UI上的指南针将会隐藏。(v2.2-alpha-1) | |||
==地图标记== | |||
见:[[Dynmap/地图标记]] | |||
==自定义方块== | |||
见:[[Dynmap/自定义方块]] | |||
==导出世界为WavefrontOBJ格式== | |||
在 Dynmap v1.9.3 中,我们支持了将地图生成并导出为 Wavefront OBJ 格式的文件,这个特性由 jmc-2-obj 工具启发而来,允许管理员(或控制台)选择并导出他们的部分世界为模型文件,用于其他支持 Wavefront OBJ 格式的建模软件的导入 - 包括了 Blender(一个免费开源的渲染和动画套件),Cinema 4D,Maya,3D Studio Max 和其他的软件。这些导出的模型可以用于 Dynmap 不支持的高级渲染(保举哦了更高级的光照和反射)。由于 Dynmap 导出的 OBJ 格式文件与 jmc-2-obj 软件产生的非常相似,所以针对 jmc-2-obj 的模型的导入和处理与 Dynmap 的 OBJ 导出非常相似。 | |||
导出和处理使用新的 /dynmapexp 命令完成,此命令可以设置一些属性来控制导出: | |||
* x0, y0, z0 : 这些是最小的 X, Y, 和 Z 轴的长方体/矩形棱柱的值 | |||
* x1, y1, z1 : 这些是最大的 X, Y, 和 Z 轴的长方体/矩形棱柱的值 | |||
* world : 用于导出的世界的名称 | |||
* byChunk : 如果设置为 true,这将会生成整个区块的所有方块的对象 | |||
* byBlockID : 如果设置为 true,这将会生成所有给定方块ID的对象 | |||
* byBlockIDData : 如果设置为 true,这将会生成所有给定方块ID和方块元数据的对象 | |||
* byTexture : 如果设置为 true,这将会生成所有给定材质的方块的对象 | |||
* shader : 指定用于导出的使用的材质的着色器,默认情况下使用 stdtexture,只有基于材质包的着色器才支持 | |||
/dynmapexp 的子命令包括了: | |||
* /dynmapexp set : 允许设置导出的属性(如上),附加的属性可以在同一个命令使用,如 /dynmapexp set x0 0 y0 0 z0 100。 | |||
* /dynmapexp radius : 只能由一个游戏中的玩家使用:此命令会指定导出的世界为玩家所在的世界,并设置半径为玩家所在位置的半径,Y 轴为 0-255 的所有方块。 | |||
* /dynmapexp info : 显示当前导出的属性 | |||
* /dynmapexp pos0 : 此命令只能由玩家在游戏中使用:设置导出范围的第一个点 | |||
* /dynmapexp pos1 : 此命令只能由玩家在游戏中使用:设置导出范围的第二个点 | |||
* /dynmapexp reset : 重置导出属性为默认值 | |||
* /dynmapexp export : 初始化一个导出,创建一个叫 .zip 的文件(默认在 dynmap 文件夹下的 export 文件夹,可以在 exportpath 中设置)。导出是异步处理的,并且会耗费几分钟完成,用时取决于选区的大小 | |||
* /dynmapexp purge : 删除上一个导出 | |||
完成后,ZIP文件中将会包含以下内容: | |||
* 一个 minecraft.obj 文件,包含导出的模型(可能非常大) | |||
* 一个 .mtl 文件,包含材质列表(对应每个minecraft材质) | |||
* 一个 目录,包含使用的材质文件 | |||
解压文件并将 minecraft.obj 导入到渲染/建模软件。 | |||
==开发者== | |||
Dynmap 项目包含了多个部分,可以支持多个服务器平台,也可以帮助我们清楚地发布API。用来构建 'dynmap'(Bukkit 的 Dynmap 插件)的有以下几部分(按照构建顺序): | |||
*[https://github.com/webbukkit/DynmapCoreAPI DynmapCoreAPI] - 这是无关平台的 Dynmap API:插件编写者可以使用这个接口来在任何平台使用 Dynmap(通过将插件转换为 org.dynmap.DynmapCoreAPI 示例) | |||
*[https://github.com/webbukkit/DynmapCore DynmapCore] - 这个服务器平台的 Dynmap 核心:几乎所有的网页和渲染都在这里(我们尽可能多的往里放)。在这里构建的结果是不可运行的 - 他们被放入 dynmap 的其他部分(比如,DynmapSpout 支持 Spout 平台)。 | |||
*[https://github.com/webbukkit/dynmap-api dynmap-api] - Dynmap 的 Bukkit 部分的 API - 定义了 org.dynmap.DynmapAPI 接口,包括了 Bukkit 的调用,通过配合 DynmapCoreAPI(DynmapAPI 继承),将插件实例转为 org.dynmap.DynmapAPI 来使用公布的接口。 | |||
*[https://github.com/webbukkit/dynmap dynmap] - 真正的 Dynmap Bukkit 的部分,包括了那些与服务器无关的代码。 | |||
===如何编译Dynmap=== | |||
编译 Dynmap 使用 [http://maven.apache.org/ Maven]。使用 Maven 的 mvn install 命令你就可以将项目安装在你的 Maven 仓库,这样就可以用于编译其他需要用此项目作为依赖的项目。基本的方法为,使用 git clone 下载代码,使用 mvn install 编译代码。 | |||
Dynmap 的核心系统基本不需要依赖项,核心用于实现特殊的框架,比如 Bukkit 和 Spout。在你编译某平台的框架之前,你应该复制并按顺序编译这些项目: | |||
*DynmapCoreAPI - git://github.com/webbukkit/DynmapCoreAPI.git | |||
*DynmapCore - git://github.com/webbukkit/DynmapCore.git | |||
;Dynmap for Bukkit | |||
复制并按顺序编译这些项目来编译 Bukkit 的 Dynmap: | |||
*dynmap-api - git://github.com/webbukkit/dynmap-api.git | |||
*dynmap - git://github.com/webbukkit/dynmap.git | |||
或者将以下复制进你的终端: | |||
<pre> | |||
git clone git://github.com/webbukkit/DynmapCoreAPI.git && (cd DynmapCoreAPI && mvn install) | |||
git clone git://github.com/webbukkit/DynmapCore.git && (cd DynmapCore && mvn install) | |||
git clone git://github.com/webbukkit/dynmap-api.git && (cd dynmap-api && mvn install) | |||
git clone git://github.com/webbukkit/dynmap.git && (cd dynmap && mvn install) | |||
</pre> | |||
包含 Dynmap 的 ZIP 文件位于 dynmap/target/dynmap-*-bin.zip. | |||
;Dynmap for 原版Spout | |||
复制并按顺序编译这些项目来编译 Spout 原版服务器的 Dynmap: | |||
*[https://github.com/SpoutDev/SpoutAPI SpoutAPI] - git://github.com/SpoutDev/SpoutAPI.git | |||
*[https://github.com/SpoutDev/Vanilla SpoutVanilla] - git://github.com/SpoutDev/Vanilla.git | |||
*[https://github.com/webbukkit/DynmapSpout DynmapSpout] - git://github.com/webbukkit/DynmapSpout.git | |||
或者将以下复制进你的终端: | |||
<pre> | |||
git clone git://github.com/webbukkit/DynmapCoreAPI.git && (cd DynmapCoreAPI && mvn install) | |||
git clone git://github.com/webbukkit/DynmapCore.git && (cd DynmapCore && mvn install) | |||
git clone git://github.com/SpoutDev/SpoutAPI.git && (cd SpoutAPI && mvn install) | |||
git clone git://github.com/SpoutDev/Vanilla.git && (cd Vanilla && mvn install) | |||
git clone git://github.com/webbukkit/DynmapSpout.git && (cd DynmapSpout && mvn install) | |||
</pre> | |||
包含 Dynmap 的 ZIP 文件位于 DynmapSpout/target/DynmapSpout-*-bin.zip. | |||
==联系方式== | |||
* [http://forums.bukkit.org/threads/misc-dynmap-v0-12-1-realtime-minecraft-maps-314.489/ Bukkit 论坛] | |||
* [http://dev.bukkit.org/server-mods/dynmap/ BukkitDev 项目页面] | |||
* IRC: irc://irc.esper.net/#dynmap ([http://webchat.esper.net/?nick=Webuser&channels=dynmap&prompt=0 在线]) | |||
==参考== | |||
* https://github.com/webbukkit/dynmap/wiki | |||
* https://pluginscdtribe.github.io/wiki/dynmap/ | |||
* http://www.mcbbs.net/thread-728931-1-1.html |
2021年8月16日 (一) 14:01的最新版本
Dynmap 是一个像谷歌地图一样的、为 Minecraft 服务器设计的地图插件,让你可以在浏览器查看服务器地图。
你可以使用 Dynmap 的集成的网络服务器立即上手,也可以将其部署到 Apache 等现有的网络服务器,易于使用。
Dynmap 可以使用不同的渲染器渲染你的地图,有的适用于高性能,而有的可以展示更详细的细节。
原始的项目是由 k-red 开发。
支持的基于Forge的Mod
支持以下的Mod,尽管这些Mod的老版本可能不支持,当前版本的某些方块也可能不支持:
- Advanced Machines - IC2
- Advanced Power Management - IC2
- Advanced Solar Panels - IC2
- BetterWorlds
- BuildCraft
- Charging Bench - IC2
- Compact Solars - IC2
- ComputerCraft
- Equivalent Exchange 2
- Ender Storage
- ExtraBees
- Extrabiomes XL (v2.x and v3.x)
- Extrabiomes - Bunyan
- Forestry (updated in 1.4)
- Forgotten Nature
- Greg's Lighting
- IndustrialCraft 2
- Iron Chest
- LC Trees++
- Millenaire
- MystCraft
- Metallurgy 2
- NetherOres
- RailCraft
- Red Power 2
- SuperSlopes
- TerraFirmaCraft
- ThaumCraft
- Thermal Expansion
- Tubestuff
- Twilight Forest
- XyCraft
支持的服务端
Dynmap 包括了除了 CraftBukkit 的其他版本。其他的最新的版本可以在这里找到。目前有 3 个Dynmap主要的平台:
- Spigot
Spigot 通过 Bukkit Dynmap 被完全支持。
- MinecraftForge
很多版本的 MinecraftForge 都是支持的,可以使用 DynmapForge 项目。所有的 Forge 版本的 Dynmap 都需要特定的 Forge 版本,升级 Forge 版本也需要升级到对应的 DynmapForge 版本。你应该按照如下的方法来安装或者升级:
- 下载对应的 ZIP 文件,对应 MC 版本。
- 解压整个 ZIP 文件,包括子目录,至服务器的根目录。
- 如果是升级,那么删除 'mods' 下老的 'Dynmap-x.y.zip'。
- MCPC+
目前 MCPC+ 的版本(v1.4.7 或之后) 只被 DynmapForge mods 支持对应的 Forge 版本。CraftBukkit 版本不被支持。安装请按照以下步骤。 你可以使用 DynmapCBBridge 来兼容使用的 Bukkit 的插件的数据(可以在这里找到)。这是一个 Bukkit 插件,所以应该放在 'plugins' 目录,并且只支持那些基于 Forge 的 Bukkit 服务器上。
- BukkitForge
BukkitForge mod,一个基于 Forge 的 Mod,添加了Bukkit 的 API,是不被 Dynmap 的 Bukkit 版本支持的。可以使用 DynmapForge 版本,并且搭配 DynmapCBBridge 插件。安装过程与上方的 MCPC+ 相同。
- Tekkit Classic
Tekkit Classic,和更老的 MCPC (没有+ - v1.2.5),被 DynmapBukkit 支持。
- Tekkit-Lite
Tekkit-Lite 被 DynmapForge 支持,而不是 Bukkit Dynmap。按照上方 Forge 的安装方式安装 Dynmap。
- Tekkit
Tekkit 是一个将大量的 Minecraft Mods 整合在 Bukkit 服务器的服务端。Dynmap 支持 Tekkit,目前的 Dynmap 版本会自动检测 Mod,和他们的方块ID,渲染支持的方块。目前支持 Tekkit v3.1.3
- Spout
Spout 服务器被 DynmapSpout 的实验项目支持(Spout 进行的重构使对其进行支持不切实际)。安装至 Spout 与 Bukkit 相同(解压到 plugins 目录)。注意:这个项目是给 Spout 服务器使用而不是 Bukkit 上的 Spout 插件。Spout插件可以使用 Bukkit Dynmap。
- 从 Bukkit Dynmap 迁移到 Forge Dynmap
将 Bukkit Dynmap 迁移到 Forge Dynmap 可以按照以下方式进行:
- 将 <base>/plugins/dynmap 目录(包括所有数据和子目录)移动到 Forge 服务器上的 <base>/dynmap 目录。
- 编辑 configuration.txt: 替换 'render-triggers' 为以下信息:
render-triggers: - blockupdate #- blockupdate-with-id #- lightingupdate - chunkpopulate - chunkgenerate #- none
- 删除 <base>/plugins/dynmap.jar
- 按照安装对应 Forge 版本的方法安装。
安装
配置
命令
权限
网页参数
用于启动Web界面的URL可以有多个参数,可以用于改变发送给玩家的默认界面效果。这可以用来在加载WebUI时加载指定的世界或者地图,或者一个指定的缩放大小,或者将地图的中心设置为某个指定的世界坐标。
参数由一串属性-值组成,每个的参数格式就像这样:attribute-id=value
基础的URL必须含有一个问号 (?) 在第一个参数之前,每个参数之间必须以这个符号间隔,所以,如果这是默认的dynmap网址:http://mygreatserver:8123/
那么,直接打开“fred”世界并且显示“surface”地图的网页,就可以像这样:http://mygreatserver:8123/?worldname=fred&mapname=surface
如果你想要使用一个外置的服务器,格式也是一样的 - 添加问号,使用 & 分隔参数:http://mycoolapacheserver.com/dynmap?worldname=fred&mapname=surface
可用的参数如下:
- worldname - 这个指定了世界的名称(不是标题)。如果没有定义,那么会显示第一个默认的世界(除非在 _configuration.txt里设置了显示哪个世界)。
- mapname - 这个指定了显示的地图的名称(不是标题),如果没有指定,那么将会显示选中的世界的第一个地图!(除非在_configuration.txt中设置了显示哪张地图)。
- zoom - 指定的缩放大小(0为最高的缩放),如果没有提供,。那么将会使用默认的缩放大小(除非在_configuration.txt中指定了默认的缩放大小)。
- x - 这个指定了X坐标(展示的世界的坐标),如果没有指定,那么将会显示center定义的x坐标(一般为0)。
- y - 这个指定了Y坐标(展示的世界的坐标),如果没有指定,那么将会显示center定义的y坐标(一般为0)。
- z - 这个指定了Z坐标(展示的世界的坐标),如果没有指定,那么将会显示center定义的z坐标(一般为0)。
- nopanel - 如果设置为true,那么地图显示的侧边栏将会移除。
- chatname - 如果设置为一个字符串,WebUI将会将其转变为发送者发送的聊天消息使用的名称。这将只有在 'trustclientname' 设置为 true时才会生效,作为 'allowurlname' 的附加。在0.28及以后的版本中支持。
- playername - 如果定义了并将其设置为玩家的账户的名称,并且玩家在线或者开启WebUI后一会儿玩家加入了服务器,WebUI将会将地图初始化在给定玩家的位置。
- hidechat - 如果设置为 'true',那么WebUI将会关闭所有的聊天输入和输出模块(气泡,输入框,聊天栏)。
- nogui - 如果设置为 'true',那么WebUI将会关闭所有的控制面板,就像只显示地图层一样。
- nocompass - 如果设置为 'true',那么UI上的指南针将会隐藏。(v2.2-alpha-1)
地图标记
自定义方块
导出世界为WavefrontOBJ格式
在 Dynmap v1.9.3 中,我们支持了将地图生成并导出为 Wavefront OBJ 格式的文件,这个特性由 jmc-2-obj 工具启发而来,允许管理员(或控制台)选择并导出他们的部分世界为模型文件,用于其他支持 Wavefront OBJ 格式的建模软件的导入 - 包括了 Blender(一个免费开源的渲染和动画套件),Cinema 4D,Maya,3D Studio Max 和其他的软件。这些导出的模型可以用于 Dynmap 不支持的高级渲染(保举哦了更高级的光照和反射)。由于 Dynmap 导出的 OBJ 格式文件与 jmc-2-obj 软件产生的非常相似,所以针对 jmc-2-obj 的模型的导入和处理与 Dynmap 的 OBJ 导出非常相似。
导出和处理使用新的 /dynmapexp 命令完成,此命令可以设置一些属性来控制导出:
- x0, y0, z0 : 这些是最小的 X, Y, 和 Z 轴的长方体/矩形棱柱的值
- x1, y1, z1 : 这些是最大的 X, Y, 和 Z 轴的长方体/矩形棱柱的值
- world : 用于导出的世界的名称
- byChunk : 如果设置为 true,这将会生成整个区块的所有方块的对象
- byBlockID : 如果设置为 true,这将会生成所有给定方块ID的对象
- byBlockIDData : 如果设置为 true,这将会生成所有给定方块ID和方块元数据的对象
- byTexture : 如果设置为 true,这将会生成所有给定材质的方块的对象
- shader : 指定用于导出的使用的材质的着色器,默认情况下使用 stdtexture,只有基于材质包的着色器才支持
/dynmapexp 的子命令包括了:
- /dynmapexp set : 允许设置导出的属性(如上),附加的属性可以在同一个命令使用,如 /dynmapexp set x0 0 y0 0 z0 100。
- /dynmapexp radius : 只能由一个游戏中的玩家使用:此命令会指定导出的世界为玩家所在的世界,并设置半径为玩家所在位置的半径,Y 轴为 0-255 的所有方块。
- /dynmapexp info : 显示当前导出的属性
- /dynmapexp pos0 : 此命令只能由玩家在游戏中使用:设置导出范围的第一个点
- /dynmapexp pos1 : 此命令只能由玩家在游戏中使用:设置导出范围的第二个点
- /dynmapexp reset : 重置导出属性为默认值
- /dynmapexp export : 初始化一个导出,创建一个叫 .zip 的文件(默认在 dynmap 文件夹下的 export 文件夹,可以在 exportpath 中设置)。导出是异步处理的,并且会耗费几分钟完成,用时取决于选区的大小
- /dynmapexp purge : 删除上一个导出
完成后,ZIP文件中将会包含以下内容:
- 一个 minecraft.obj 文件,包含导出的模型(可能非常大)
- 一个 .mtl 文件,包含材质列表(对应每个minecraft材质)
- 一个 目录,包含使用的材质文件
解压文件并将 minecraft.obj 导入到渲染/建模软件。
开发者
Dynmap 项目包含了多个部分,可以支持多个服务器平台,也可以帮助我们清楚地发布API。用来构建 'dynmap'(Bukkit 的 Dynmap 插件)的有以下几部分(按照构建顺序):
- DynmapCoreAPI - 这是无关平台的 Dynmap API:插件编写者可以使用这个接口来在任何平台使用 Dynmap(通过将插件转换为 org.dynmap.DynmapCoreAPI 示例)
- DynmapCore - 这个服务器平台的 Dynmap 核心:几乎所有的网页和渲染都在这里(我们尽可能多的往里放)。在这里构建的结果是不可运行的 - 他们被放入 dynmap 的其他部分(比如,DynmapSpout 支持 Spout 平台)。
- dynmap-api - Dynmap 的 Bukkit 部分的 API - 定义了 org.dynmap.DynmapAPI 接口,包括了 Bukkit 的调用,通过配合 DynmapCoreAPI(DynmapAPI 继承),将插件实例转为 org.dynmap.DynmapAPI 来使用公布的接口。
- dynmap - 真正的 Dynmap Bukkit 的部分,包括了那些与服务器无关的代码。
如何编译Dynmap
编译 Dynmap 使用 Maven。使用 Maven 的 mvn install 命令你就可以将项目安装在你的 Maven 仓库,这样就可以用于编译其他需要用此项目作为依赖的项目。基本的方法为,使用 git clone 下载代码,使用 mvn install 编译代码。
Dynmap 的核心系统基本不需要依赖项,核心用于实现特殊的框架,比如 Bukkit 和 Spout。在你编译某平台的框架之前,你应该复制并按顺序编译这些项目:
- DynmapCoreAPI - git://github.com/webbukkit/DynmapCoreAPI.git
- DynmapCore - git://github.com/webbukkit/DynmapCore.git
- Dynmap for Bukkit
复制并按顺序编译这些项目来编译 Bukkit 的 Dynmap:
- dynmap-api - git://github.com/webbukkit/dynmap-api.git
- dynmap - git://github.com/webbukkit/dynmap.git
或者将以下复制进你的终端:
git clone git://github.com/webbukkit/DynmapCoreAPI.git && (cd DynmapCoreAPI && mvn install) git clone git://github.com/webbukkit/DynmapCore.git && (cd DynmapCore && mvn install) git clone git://github.com/webbukkit/dynmap-api.git && (cd dynmap-api && mvn install) git clone git://github.com/webbukkit/dynmap.git && (cd dynmap && mvn install)
包含 Dynmap 的 ZIP 文件位于 dynmap/target/dynmap-*-bin.zip.
- Dynmap for 原版Spout
复制并按顺序编译这些项目来编译 Spout 原版服务器的 Dynmap:
- SpoutAPI - git://github.com/SpoutDev/SpoutAPI.git
- SpoutVanilla - git://github.com/SpoutDev/Vanilla.git
- DynmapSpout - git://github.com/webbukkit/DynmapSpout.git
或者将以下复制进你的终端:
git clone git://github.com/webbukkit/DynmapCoreAPI.git && (cd DynmapCoreAPI && mvn install) git clone git://github.com/webbukkit/DynmapCore.git && (cd DynmapCore && mvn install) git clone git://github.com/SpoutDev/SpoutAPI.git && (cd SpoutAPI && mvn install) git clone git://github.com/SpoutDev/Vanilla.git && (cd Vanilla && mvn install) git clone git://github.com/webbukkit/DynmapSpout.git && (cd DynmapSpout && mvn install)
包含 Dynmap 的 ZIP 文件位于 DynmapSpout/target/DynmapSpout-*-bin.zip.