修改配方 - FishInMars/Create GitHub Wiki
Create使用了在1.13版本被首次引入的JSON格式的配方形式。你可以通过你自己的数据包来更改或创建你所需要的的配方。无论是你整合包作者还是普通玩家,本文都将引领你了解数据包的基本形式,以及使用Openloader(Darkhax)和CraftTweaker(Jared)来修改出满足你需求的配方。
数据包是什么?
从 Minecraft Wiki 可以了解到,“数据包系统为玩家提供了一种进一步自定义 Minecraft 体验的方法”。数据包可以包含以下内容:不使用命令方块执行的命令,额外的配方,自定义战利品表(怪物和方块的掉率,战利品箱内的物品),新的进度,tags(可以用于配方中的一类物品)以及维度。由于本文将帮助你自定义你的配方,所以我们的关注点主要在额外的配方和tags。在原版,你可以通过在地图存档的 datapcks 文件夹中添加数据包来加载它。但如果你想要你所有的存档都加载数据包,Openloader或许是一个很好的工具。
我需要什么?
编辑器:至少,你需要学会如何访问 Minecraft 文件夹以及一个文本编辑器。但是,在没有高亮显示的文本编辑器中编写 JSON 文件显然不是一件愉快的事情。因此,我们推荐使用带有高亮显示以及语法验证的文本编辑器。你可以使用装载相应插件的 Notepad++ 或者装载相应插件的 Eclipse ,IDEA ,或者其他你习惯使用的编辑器。
Openloader (可选): Darkhax 所写的 Openloader 是一个实用的模组,它使得整合包作者们写的数据包可以在全局范围被应用。它是一个轻量级的,能在 1.14.4 和 1.15.2 使用的模组。
CraftTweaker (可选): CraftTweaker 可以帮助你获取所有有效的配方,并查看一个物品是属于什么 tag。这使得CraftTweaker 成为了在游戏中调试配方的一个极佳工具。但是要切记,CraftTweaker 允许完全清除配方。如果你添加了一个新配方,你通常会想要老配方消失。如果这个配方被添加在 .jar 文件中,那么 CraftTweaker 将会是禁用它的最佳选择。
JEI (可选): 我们建议使用 JEI 来快速查看你的更改。你当然可以不使用它,但它的确是一个十分有用的工具。
注意:这些模组都不是由Create开发团队所开发,对于在使用这些模组时您可能遇到的任何问题,Create开发团队概不负责
设置
要开始开发数据包,你首先需要将数据包的根目录放置在 saves 文件夹 /saves/world_name/datapacks/你数据包的根目录 或者 openloader 文件夹 /openloader/data/你数据包的根目录。我们建议使用命令 /datapack list
,来查看你是否正确的调用了数据包。 数据包名称不能以数字开头且只能包含小写字母,数字及下划线!!!
在数据包根目录中,您需要一个名为 pack.mcmeta 的文件,其中包含了数据包的基本信息。 pack.mcmeta 文件的示例如下:
{
"pack": {
"pack_format": 5,
"description": "Your interesting description"
}
}
除了 pack.mcmeta,你还需要在同一目录下放置一个 data 文件夹。其中需要有一个名为 your_data_pack_name 的新文件夹,(当然,这只是作为示例讲解。你可以根据你自己的需求更改文件夹名)
在这个新文件夹中你需要有 recipes 文件夹以及 tags 文件夹。
完成这些步骤后,重新启动游戏或使用命令 /reload
来应用你的更改, (/relaod
会更快), ,并执行 /datapack list
来查看你的数据包是否被正确加载。
如果数据包未显示,请检查其文件结构。如果正确加载却显示红色,请使用
/datapack enable "file/your_data_pack_name"
来启用数据包,并重新使用 list 命令进行检查。
可以在 这里 找到这些步骤的完整过程。
添加一个配方
配方以JSON文件形式编写。可以在Create Github找到配方的示例,这或许对你有些启发。
首先,在 recipe 文件夹添加一个新的 JSON 文件(与数据包的命名方式相同,文件扩展名为* .json *)。一个 JSON 文件只能添加一个配方。
第一个例子是通过洗涤石灰沙来获得粉碎锌矿石。
使用 F3 + H 可以使你看到物品 ID 的有关信息,你需要通过这些物品 ID 来修改你的配方。
{
"type": "create:splashing",
"ingredients": [
{
"item": "create:limesand"
}
],
"results": [
{
"item": "create:crushed_zinc_ore",
"count": 1,
"chance": 0.1
}
]
}
执行命令 /reload
,然后你应该可以在 JEI 中看到这个配方(如果你安装了 JEI 的话),或者可以亲自尝试一下配方是否完成。
注意: 在 Create 0.2.3 中,粉碎锌矿石的 ID 是 crushed_zinc,但在 Create 0.2.4+ 中,它的 ID 变成了 crushed_zinc_ore!
添加合成配方也是一样的简单 这个工具 或许会有所帮助
删除配方 (需要 CraftTweaker)
要删除一个配方,你需要执行命令 /ct dump recipes
。这个命令将所有可用配方转储到 logs 文件夹中的 crafttweaker.log 文件中。在这里,你可以检查你所有的配方。
要删除一个配方,你需要在 Minecraft 的 scripts 文件夹中创建一个新的 .zs 文件(只有在安装了 CraftTweaker 的情况下才会存在),然后像这样 <recipetype:create:splashing>.removeByName("create:splashing/soul_sand");
添加一个链接。
这行代码会删除灵魂沙的洗涤配方。如果你要删除其他配方,必须更改其配方类型以及配方名称。
Tags
要想在合成配方中使用 tag,你需要使用 "tag": "modname:tag_name"
例如, "tag": "forge:ingots/copper"
将接受所有以及被添加到 ingots/copper 中的铜锭。
tag 只能在合成原料中使用。