Tao0Lu 发表于 2019-8-17 01:44:39

【VB】图像转mc存档Schematic工具 Image2Schematic

本帖最后由 套路 于 2020-2-20 21:22 编辑

最近突然想使用之前站长做的Wool Fill,然后发现生成的命令惊人的长。然后尝试各种方法修改啊:用命令方块OOC(Only One Command),命令方块字符有上限最多为64K、用sh文件啊,还要用Linux(我不想用懒)和mc的服务器端...
修改转成Schematic多简单啊,用MCEdit导入就成了,所以我就修改了Wool Fill。
...

[*]Schematic格式

        其实Wiki上有Schematic文件格式
        但是我使用MCEdit-Unified导出发现Schematic格式是这样的

        那么我们就用这个格式吧

[*]原理

       知道了格式接下来就好做了。
通过VB的Open函数,将数据写入文件,再通过同目录下的gzip.exe压缩,最后重命名为Schematic文件即可用MCEdit打开。
通过立体坐标计算那么坐标为(X,Y,Z)的方块位于第(Y - 1) * (BmpWidth * BmpHeight) + ( Z - 1) * BmpWidth + X
个数据内(BmpWidth 和 BmpHeight为总的长和宽),只要在这个位置写入Block数据和Data数据就可以了。

值得注意的是,在VB写入文件时,方块等数据不能使用Chr,这是因为Chr的Acsii编码超过128的都会被翻译成"?",所以需要通过写入Binary文件,调用CByte来写入文件。



PS:MCEdit-Unified最后支持的MC版本为1.11,然后作者弃坑,向MCEdit2发展。而此工具生成的是MCEdit-Unified支持的格式,所以我删掉了1.12的版本的调色板。


[*]下载地址

Image2Schematic
MCEdit-Unified

0xAA55 发表于 2019-8-18 16:07:30

画质感人。这颜色相似度算法怕不是有问题

Tao0Lu 发表于 2019-8-18 17:49:45

0xAA55 发表于 2019-8-18 16:07
画质感人。这颜色相似度算法怕不是有问题

这个是mcedit1的最后一个版本支持版本为1.11,所以用不了1.12的调色板。然后这是个用平面调色板生成的...之后再慢慢做mcedit2的版本和一些优化吧..

陈布衣 发表于 2019-8-24 07:55:23

(是IA我死了

CarbonEddy 发表于 2019-11-7 08:49:19

:P:P:P:P:P:P:P:P:P:P:P
页: [1]
查看完整版本: 【VB】图像转mc存档Schematic工具 Image2Schematic