6个稳定版本
2.2.0 | 2024年6月23日 |
---|---|
2.1.1 | 2024年6月14日 |
2.1.0 | 2024年1月27日 |
2.0.1 | 2023年11月18日 |
2.0.0 | 2023年9月30日 |
#3 在 游戏 中
每月下载量 37
400KB
15K SLoC
矿图映射
- 渲染您 Minecraft 世界的美丽地图!
- 将它们放在Web服务器上,并在浏览器中查看!
- 与未经修改的Minecraft Java版1.8至1.21兼容(无需安装模组!)
- 光照层:夜晚的世界
- 快速:在单线程操作中,在不到5分钟内为高达3GB的存档创建完整地图
- 多线程支持:将
-j N
传递给渲染器以使用N
个并行线程进行生成 - 增量更新:仅重新创建已更改区域的地图瓦片
- 通常在单线程操作中占用不到100MB的RAM(当传递
-j
时可能更高) - 跨平台:在Linux、Windows上运行,可能还在MacOS等其他系统上运行
关于
矿图映射由两个组件组成:一个从Minecraft存档生成地图瓦片的地图渲染器,以及一个基于 Leaflet 的浏览器中显示和导航地图的查看器。地图渲染器深受 MapRend 的启发,但已从头开始重新实现(最初用C++,现在用Rust)以实现最佳性能。
如何使用
从GitHub发布页面下载与您的平台匹配的二进制发布版本(或使用 cargo
从源安装),以及平台无关的查看器存档。解压查看器存档。解压的目录包含操作查看器的HTML和JavaScript,并将公开在Web服务器上。由MinedMap生成的图像数据将存储在解压的查看器的 data
子目录中。
我的世界将保存数据存储在Linux的目录~/.minecraft/saves
,以及在Windows的C:\Users\<username>\AppData\Roaming\.minecraft\saves
。要从名为“World”的存档游戏中生成MinedMap瓦片数据,可以使用以下命令(将第一个参数替换为您的保存数据路径;<viewer>
指代您解压MinedMap查看器的目录)
minedmap ~/.minecraft/saves/World <viewer>/data
对于大型世界,第一次地图生成可能需要一些时间,但后续调用将只重建已更改的区域文件的瓦片,通常不超过一秒或两秒。这使得频繁更新地图变得可行,例如,每分钟运行MinedMap作为Cron作业。
请注意,没有网络服务器,无法打开查看器index.html,因为它无法从file://
URI加载生成的地图信息。出于测试目的,您可以使用最小化HTTP服务器,例如,如果您已安装Python,只需在查看器目录中运行以下命令
python3 -m http.server
此测试服务器非常慢,无法同时处理多个请求,因此请使用合适的网络服务器,如nginx,或将查看器与生成的地图文件一起上传到公共网络空间,以便其他人可以访问地图。
如果您将目录上传到远程网络服务器,您不需要上传<viewer>/data/processed
目录,因为该目录仅用于本地,以便更快速地处理更新。
标记
MinedMap可以在地图上显示标记标记,点击时将弹出一个显示标记文本的弹出窗口。
默认情况下,禁用了标记层的生成。可以通过向MinedMap传递--sign-prefix
或--sign-filter
选项来启用它。这些选项允许配置应显示哪些标记,并且可以多次传递以显示至少匹配一个前缀或过滤器的每个标记。
--sign-prefix
将使所有文本以给定前缀开始的标记可见,例如,--sign-prefix '[Map]'
将允许在Minecraft中放置以"[Map]"开头的标记以在地图上添加标记。可以(空前缀--sign-prefix ''
)用于使地图上的所有标记都可见。
--sign-filter
可以用于基于正则表达式的更高级过滤。 --sign-filter '\[Map\]'
将显示包含"[Map]"的任何地方的文本的所有标记,而--sign-filter '.'
则使所有非空标记(至少包含一个字符的标记)可见。有关受支持的语法的更多信息,请参阅regex crate的文档。
所有前缀和过滤器都单独应用于正面和背面文本,但当一个匹配时,正面和背面文本都将显示在弹出窗口中。
最后,--sign-transform
允许指定sed样式的替换模式来修改地图上显示的文本。如果--sign-prefix
或--sign-filter
匹配的文本不应显示,则可以使用此功能:--sign-filter 's/\[Map\]//'
将"[Map]"的每个出现替换为空字符串。
注意:在Windows上,必须使用双引号("
)来表示参数,而不是单引号('
),并且参数中的所有反斜杠都必须通过加倍它们来转义。这可能会使正则表达式的编写和阅读变得有些困难。
安装
Linux和Windows的地图生成器二进制构建以及包含查看器的存档可以在GitHub发行页面找到。
从源代码构建生成器需要最新的Rust工具链(1.72.0或更高版本)。以下命令可以用于构建当前的开发版本
cargo install --git 'https://github.com/neocturne/MinedMap.git'
此外,还需要CMake来构建zlib-ng库。如果您没有安装CMake,可以通过将--no-default-features
传递给cargo来禁用zlib-ng功能。将使用纯Rust的zlib实现,这更易于移植,但比zlib-ng慢。
如果您正在寻找MinedMap瓦片渲染器的较旧C++实现,请查看v1.19.1标签。
依赖项
~22–35MB
~586K SLoC