从minecraft服务器的dynmap插件创建非常大的图像。

dynmap_timemachine的Python项目详细描述


#minecraft dynmap time machine

python cli脚本,该脚本从minecraft的dynmap插件http服务器下载磁贴,并以非常大的分辨率合成一个适合打印的图像。

![缩小图像](https://raw.githubusercontent.com/martinsik/minecraft dynmap timemachine/master/doc/majncraft.3320.crop.png)

你也可以[下载389MB的全尺寸图片](https://www.dropbox.com/s/hhq6jbuxyu6fmr0/majncraft.20736.full.png?DL=0)。请参见下面的示例。


所有参数的列表如下:

$dynmap-timemachine.py-h
用法:dynmap-timemachine.py[-h][--list worlds][--list maps[-t[threshold][-q[-v]
base-url[world][map][center][boundary-size][zoom][dest]

位置参数:
基url dynamp服务器url
世界名称,使用--list worlds列出可用世界
地图名称,使用--list maps列出可用的地图
center minecraft coolidnates,使用格式:[x,y,z]
boundary_size size in tiles,使用格式:[h,v]
zoom zoom level,0=最大缩放
目标输出文件名或目录

列出这个世界的可用地图并退出
-t[阈值],--阈值[阈值]
timelapse图像的阈值
-q,--安静
-v,--详细安装

示例-捕获一个大图像

假设我们要从[map.majncraft.cz](http://map.majncraft.cz/)的minecraft位置`[3300,65,-2630]`.



1下载一个"20736x13824"像素的图像(286mpx图像)。**首先查看可用的世界和我们想要的世界的名称**

````
$dynmap-timemachine.py—列出世界http://map.majncraft.cz/
world-sv_t majncraft overworld
world_space-vesm_r_space
world_nether-nether reloaded
```

**然后列出这个世界上所有可用的地图**

````
$dynmap-timemachine.py--列出世界http://map.majncraft.cz/world
surface-prostorova-den
surface-night-prostorova-noc
populated-osídlensv-ta-prostorove
flat-ploch-den
填充的"平面-osídlenísv_ta-ploché
````

这将列出平面、等距、洞穴和所有其他类型的地图。映射名称取决于dynmap的配置。我们想要第一张叫做"surface"的等距图。**用minecraft的坐标制作一个测试图像**

在dynmap上检查您的坐标,或者只需在您要捕获的位置进入minecraft,然后按f3查看您的minecraft的坐标。然后制作一个测试图像以确保"minecraft dynmap timelapse"捕获的位置正确:

````
$dynmap-timemachine.py http://map.majncraft.cz/world surface\
[3300,65,-2630][3,2]0 majncraft.test.png
```


-`http://map.majncraft.cz/`-dynmap的http服务器url
-`world`-世界名称
-`surface`-地图名称
-`[3300,65,-2630]`-将自动转换为平铺名称的minecraft坐标
-`[3,2]`—要从指定坐标下载的每个方向的平铺数。左右各两个,上下各两个。这将是实际下载6x4网格,其中每个平铺为128x128像素。总的来说,该图像将是768x512像素
-`0`-缩放级别。0表示最大放大。缩放级别的数量取决于dynamp的配置
-`majncraft.test.png`-输出文件名


这将生成768x512图像:

![从6x4网格预览](https://raw.githubusercontent.com/martinsik/minecraft dynmap timemachine/master/doc/majncraft.3320.test.png)


4.**以20736x13824分辨率(162x108块)制作全尺寸图像)**


最后,我们可以制作全尺寸图像:

````
$dynmap-timemachine.py-v http://map.majncraft.cz/world surface\
[3300,65,-2630][81,54]0 majncraft.3320.full.png
```

这需要一段时间,因为总共需要下载"81*2*54*2=17496"块。最终图像有389MB。

![最终图像缩小到728px宽度](https://raw.githubusercontent.com/martinsik/minecraft dynmap timemachine/master/doc/majncraft.3320.thumb.png)

(https://www.dropbox.com/s/hhq6jbuxyu6fmr0/majncraft.20736.full.png?dl=0)或其他,[较小的16384x10240图像(168MB)](https://www.dropbox.com/s/c6zzpv2cd26x76g/majncraft.16384.png?如果你只想看看它在全分辨率下是什么样子的话。示例-create timelapse video

另一个用例是从一个dynmap捕获的多个图像创建timelapse动画。

用法与捕获单个图像相同,但这次最后一个参数不是输出文件名,而是timelapse图像的目录相反。自动生成文件名。脚本从dynmap捕获一个图像,然后将其与目录中的最后一个图像进行比较。只有当这两个明显不同时(默认为像素的1%;您可以用"-t--threshold"来更改它,它会保存新图像。

**为timelapse images创建一个目录**

````
$mkdir images
```

2。**定期运行"dynmap timemachine.py"(例如使用"cron")**

````
$dynmap-timemachine.py-v http://map.majncraft.cz/world surface\
[3300,65,-2630][4,3]0个图像/
```

请注意,该图像应该相对较小,因为我们希望它在这个特定时刻捕获地图。这就是为什么不能像前面的例子那样花几个小时。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javajexcel包装文本问题   EclipseJavaEnum缩进超过左括号。如何让它看起来更正常?   java有办法包含Tomcat 6 catalina。out和localhost。在网络应用的日志文件中记录内容?   java如何永久性地阻止JavaFX代码在eclipse中被突出显示为错误?   如何在java中优化两个for循环(for循环中的for循环)   java如何在我的windows机器上从jar文件创建mac osx的可执行文件   使用记忆化/动态规划的Java组合学   Java中的游荡对象垃圾收集   java为什么我在JSP和JDBC和MySQL中遇到连接失败错误   java轮询Pod的就绪状态   如何创建电子邮件并将其发送到Java中的特定地址?   java如何修复Dagger 2错误“。。。无法提供[…]”?   java Android单选按钮看起来太轻   Android Studio:开发在应用程序之间共享的通用java库