Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement
Information icon
此特性为Java版独有。

本教程将介绍如何运行在服务端中包含的数据生成器。

本教程以Java版1.18为准,1.13~1.17版本的用法和输出可能不同。

用途[]

数据生成器可以:

  • 输出原版资源包的内容(方块状态、模型)。
  • 输出原版数据包的内容(进度、战利品表、配方、标签、世界生成)。
  • 输出分别列出所有方块状态、所有注册项和完整命令树的JSON文件。
  • 实现NBT格式文件(.nbt文件)和String NBT格式文件(.snbt文件)的相互转换。

开始[]

为了使用数据生成器,你需要下载对应游戏版本的官方服务端。请确保你已经安装了Java,Java版1.17要求Java16以上,而Java版1.18要求Java17以上。

在你保存服务端.jar文件的文件夹里,打开bash或其他命令行窗口,然后运行如下命令:

java -DbundlerMainClass=net.minecraft.data.Main -jar server.jarJava版1.18及以后)

java -cp server.jar net.minecraft.data.MainJava版1.13 - Java版1.17.1

如果你的设置正确,命令行中将显示选项和描述列表。选项列表及其作用如下:

选项 命令行内描述 作用
--all Include all generators 包含所有的生成器(--client--server--reports--dev)。
--client Include client generators 生成assets/minecraft文件夹,包含blockstatesmodels文件夹。
将SNBT文件转换为NBT文件。
--dev Include development tools 将NBT文件转换为SNBT文件。
--help Show the help menu 显示帮助列表。
--input <String> Input folder 指定输入文件夹。
--output <String> Output folder (default: generated) 指定输出文件夹。默认为generated
--reports Include data reports 生成reports文件夹,包含worldgen文件夹和blockscommandsregistries三个JSON文件。
--server Include server generators 生成data/minecraft文件夹,包含advancementsloot_tablesrecipestags四个文件夹。
将SNBT文件转换为NBT文件。
--validate Validate inputs -

输出内容[]

在上述命令行界面运行

java -DbundlerMainClass=net.minecraft.data.Main -jar server.jar --all

所有支持内容都会被输出。

若只想要输出部分内容,将其中的--all替换为对应的生成器选项(--client--server--reports)即可。

NBT文件转换为SNBT文件[]

运行

java -DbundlerMainClass=net.minecraft.data.Main -jar server.jar --dev --input "directory"

其中directory是含有扩展名为NBT的文件的目录。此命令会尝试将该目录(包括其子目录)下的所有的扩展名为.nbt的文件转换为同名的.snbt文件,并输出至generated目录(可以通过--output选项更改目标文件夹),同时保留原目录结构。若被转换的文件不是NBT格式,或未经GZIP压缩,此文件将被跳过,并抛出对应的异常。

SNBT文件转换为NBT文件[]

运行

java -DbundlerMainClass=net.minecraft.data.Main -jar server.jar --client --input "directory"

其中directory是含有扩展名为SNBT的文件的目录。此命令会尝试将该目录(包括其子目录)下的所有的扩展名为.snbt的文件转换为同名的.nbt文件,并输出至generated目录(可以通过--output选项更改目标文件夹),同时保留原目录结构。

参见[]

语言

Advertisement