本篇教程由作者设定未经允许禁止转载。
在教程开始之前,请务必参照下列教程,初步了解如何制作数据包:
本教程的原始英文 wiki 在此。
教程使用的 Minecraft 版本为 1.19.3,懒人厨房版本为 14.0.1-Fabric。
懒人厨房默认支持的为可直接在手里拿着食用的物品(例如,MC 中的蛋糕原来是并不可以直接被懒人厨房所制作的,需要 json 支持,后续会讲到)。所以,部分食物 mod 中的原材料、调料等等,就无法被懒人厨房所制作。但是懒人厨房支持 json 数据自定义,使得兼容其他 mod 成为可能。
1. 让CB支持已有mod中漏掉的原料
以作物盛景(Croptopia)为例。懒人厨房已经支持了 Croptopia 中部分原料的制作,但是漏掉了一些原料,如酱油(Soy Sauce)和红辣椒(Paprika)使得游戏体验降低。没有修复之前, 我们是无法用烹饪台直接制作酱油和红辣椒的:
我们可以制作一个数据包来修复这一情况。
创建一个文件夹,这个文件夹是你的数据包的名字。
进入新建的文件夹,新建 pack.mcmeta 。具体的方式请参照教程顶部制作数据包的教程。
按照这种方式新建文件夹:
{$数据包名称}/data/{$随便起名}/cookingforblockheads/compat/
!注意!所有的文件夹都只能包括半角英文和数字!不能含中文!
在compat下新建一个json文件(名称随意,但推荐使用mod名称),使用记事本或你喜欢的IDE打开编辑。
{
"modid": "croptopia",
"foods": {
"INGREDIENTS": [
"croptopia:soy_sauce",
"croptopia:paprika"
]
}
}
相关的键名和键值代表的含义可以在文末找到。
把数据包文件打包成zip,添加到数据包文件夹,在游戏内输入/reload重载,输入/datapack list确认是否添加成功:
再进入烹饪台看一看:
成功添加原料。Enjoy!
2. 添加其他mod的支持
以糕蛋(ekaC) 为例。
与Vanilla的蛋糕一致,糕蛋只能被放下食用,无法拿在手里直接食用。所以无法被懒人厨房直接合成:
我们也可以如法炮制。新建一个数据包,在 json 文件内添加以下内容:
{
"modid": "ekac",
"foods": {
"GENERAL": [
"ekac:ekac"
]
}
}
添加数据包:
看看效果:
你可以将多个 json 文件集成到一个数据包内,方便分发与载入。
你也可以进入 Github 将 json 上传并提交 PR,帮助原作者兼容更多的 mod !
附录:json 键名的含义
键名 | 描述 |
modid | 要与 CB 整合的 mod 的 id。 只有加载了这个 id 所代表的 mod,json 文件才会被加载。 |
foods | 定义命名数组对象, 用来指定无法被自动添加的物品(例如,因为是原材料或调料而无法食用的物品, 或者如蛋糕一样只能被放下食用的物品)。 现在只接受 "GENERAL" 和 "INGREDIENTS" 的子键值。 |
tools | 定义物品注册表名数组对象,指定作为工具或厨具的物品。 如果缺失工具,不会不显示合成表,而会显示为“缺少厨具”。 |
water | 定义物品数组对象,指定可以等同于水桶的物品。 水槽可以代替提供这些物品的水源需求。 |
milk | 定义物品数组对象,指定可以等同于奶桶的物品。 奶罐和罐中奶牛可以代替提供这些物品的奶源需求。 |
toaster | 定义包括子键值"input","output"的数组对象, 指定可被吐司机烤制的物品。input输入, output输出。 (人话:input是放进吐司机的东西,output是吐司机吐出来的东西) |
kitchenConnectors | 定义方块实体或方块注册表名的数组对象,可指定用来 装饰或隔开厨房地板,但与厨房地板有相同的连接功能的方块。 (人话:跟厨房地板一样) |
kitchenItemProviders | 定义方块实体注册表名的数组对象, 实体中的物品可直接被多方块厨房所使用。 请务必谨慎添加,因为不是所有的物品栏都是正常工作的。 (人话:把这些东西变成像冰箱橱柜之类的存储物件) |