原版数据包(pack.mcmeta文件除外)将生成在当前文件夹的generated目录中。
难不成是打开方式不对?
来试试其他的功能吧,比如这个--help,看一下会有什么帮助:
java -cp D:\Minecraft\Minecraft Server\1.13.2\我的世界1.13.2官方服务端.jar net.minecraft.data.Main --help
结果......还是这个界面:
Option Description
-----------------
--all Include all generators
--client Include client generators
--dev Include development tools
--help Show the help menu
--input Input folder
--output Output folder (default: generated)
--reports Include data reports
--server Include server generators
就很离谱。
对了,我们最开始不是要转换文件的吗?咋弄成这个了?
好,那现在我们就开始尝试一下--dev:
java -cp D:\Minecraft\Minecraft Server\1.13.2\我的世界1.13.2官方服务端.jar net.minecraft.data.Main --dev --input“D:\Minecraft\Minecraft Server\1.13.2\world“
然后......
实际上这是一个错误的做法。正确的做法应该这样子:
在服务端这个目录创建一个新的文件夹(实际上也不用创建,创建只是为了更好的把要转换的文件集中起来),并将其取名为:input
然后,找到实际上是以NBT存储的.dat的文件(比如world下的level.dat),将它们丢进去。
接下来,改这些文件的后缀.dat为.nbt。
最后,最重要的一点,执行:
java -cp D:\Minecraft\Minecraft Server\1.13.2\我的世界1.13.2官方服务端.jar net.minecraft.data.Main --dev --input “D:\Minecraft\Minecraft Server\1.13.2\input“
(注意,空格一定要空,作者最开始时就是少了一个空格,然后就是一堆问题!特别是--input和后面的文件夹路径中间一定要空!这是个坑!)
然后,当出现:
[xx:xx:xx][main/INFO]: Starting provider: NBT to SNBT
[xx:xx:xx][main/INFO]: Converted level from NBT to SNBT
[xx:xx:xx][main/INFO]: NBT to SNBT finished after xxx ms
恭喜你!你成功了!
但转换后的文件去哪了呢?
答案很简单:
C:\Users\XXXXX\generated(Windows)
这章没有结束,请点击下一页继续阅读!
/Users/XXXXXX/generated(Mac)
找到这个目录,你就会发现了自己期待已久的:
.snbt!
这个文件你现在可以用记事本来打开并修改了。
但现在问题又来了,我们现在可以使用dev来进行.nbt→.snbt,那该怎么.nbt←.snbt呢?
很简单。我们把刚才弄出来的.snbt文件再放进input文件夹,顺便删掉那个.nbt。再度执行:
java -cp D:\Minecraft\Minecraft Server\1.13.2\我的世界1.13.2官方服务端.jar net.minecraft.data.Main --dev --input “D:\Minecraft\Minecraft Server\1.13.2\input“
然后你就会发现这不行。
为啥呢?Minecraft Wiki上说:
用于NBT文件和SNBT文件的相互转换[需要验证]
很明显这里错了,--dev只能是.nbt→.snbt,并不能.nbt←.snbt。
那该怎么办呢?
使用--client:
java -cp D:\Minecraft\Minecraft Server\1.13.2\我的世界1.13.2官方服务端.jar net.minecraft.data.Main --client --input “D:\Minecraft\Minecraft Server\1.13.2\input“
然后:
[xx:xx:xx][main/INFO]: Starting provider: SNBT - NBT
[xx:xx:xx][main/INFO]: SNBT - NBT finished after xxx ms
Minecraft Wiki上这样介绍--client:
生成assets/minecraft文件夹,包含blockstates和models文件夹
很明显这句话完全错误(来自2021-8-5的注:实际上并不是完全错误,确实有这功能,只不过还附带了.nbt←.snbt的功能)。实际上,--client的作用就是.nbt←.snbt。现在你打开generated,你就会发现.snbt重新被转换成了.nbt。
现在我们知道了--dev是.nbt→.snbt,--client是.nbt←.snbt,也发现了Minecraft Wiki中的错误。剩下的内容,我们就以后再研究了,毕竟剩下的不是本章的重点。
OK那么NBT就讲到这了。我们下一章再见。