修改合成表
约 949 字大约 3 分钟
2025-11-05
女仆模组的大部分内容是通过本模组的祭坛合成的,祭坛也支持原版形式的数据包修改。你可以仿照原版数据包,来修改女仆模组的祭坛合成表。
女仆模组的祭坛是直接生成对应实体的,所以既可以用来生成物品,还可以用来获取其他实体(如女仆实体本身)。
生成物品
1.20.1 Forge
提示
位置:data/<任意资源域>/recipes/altar/ 目录下,文件格式为 JSON。
{
// 类型必须是 touhou_little_maid:altar_crafting
"type": "touhou_little_maid:altar_crafting",
// 输出物品的写法比较特殊
"output": {
// 类型必须是 minecraft:item
"type": "minecraft:item",
// 物品信息写在 nbt 字段内
"nbt": {
"Item": {
// 物品 ID
"id": "touhou_little_maid:trumpet",
// 物品数量,注意这个字段名是大写的 Count
// 问 Mojang 为什么会这样不规范? 我也不知道……
"Count": 1
}
}
},
// 合成所需要的 power 数值,玩家最大可存储的 power 为 5.0,超过则无法合成
"power": 0.1,
// 合成所需材料,和原版工作台的 ingredients 字段完全相同
"ingredients": [
{
"tag": "minecraft:planks"
},
{
"tag": "minecraft:planks"
},
{
"tag": "minecraft:planks"
},
{
"tag": "minecraft:planks"
},
{
"item": "minecraft:book"
},
{
"tag": "forge:gems/diamond"
}
]
}1.21.1 NeoForge
提示
位置:data/<任意资源域>/recipes/altar_recipe/ 目录下,文件格式为 JSON。
{
// 类型必须是 touhou_little_maid:altar_recipe_serializers
"type": "touhou_little_maid:altar_recipe_serializers",
// 输出物品,写法固定
"result": {
// 数量,此时是小写的字段名了
"count": 1,
// 物品 ID
"id": "touhou_little_maid:bookshelf"
},
// 合成所需要的 power 数值,玩家最大可存储的 power 为 5.0,超过则无法合成
"power": 0.1,
// 本合成表在 JEI 中显示所使用的语言文件的 key
// 物品合成一般使用 jei.touhou_little_maid.altar_craft.item_craft.result 就行
"lang": "jei.touhou_little_maid.altar_craft.item_craft.result",
// 合成所需材料,和原版工作台的 ingredients 字段完全相同
"ingredients": [
{
"tag": "minecraft:planks"
},
{
"tag": "minecraft:planks"
},
{
"tag": "minecraft:planks"
},
{
"tag": "minecraft:planks"
},
{
"item": "minecraft:book"
},
{
"tag": "c:gems/diamond"
}
]
}生成实体
因为祭坛是可以生成实体的,所以你也可以通过修改祭坛合成表来生成女仆实体本身,或者其他实体。
1.20.1 Forge
提示
位置:data/<任意资源域>/recipes/altar/ 目录下,文件格式为 JSON。
{
// 类型必须是 touhou_little_maid:altar_crafting
"type": "touhou_little_maid:altar_crafting",
// 生成实体
"output": {
// type 字段指定实体 ID
"type": "minecraft:lightning_bolt",
// 可以通过 nbt 字段来指定实体的 NBT 数据
// 或者者不指定 nbt 字段,直接生成默认实体
"nbt": {
}
},
// 合成所需要的 power 数值,玩家最大可存储的 power 为 5.0,超过则无法合成
"power": 0.1,
// 合成所需材料,和原版工作台的 ingredients 字段完全相同
"ingredients": [
{
"tag": "minecraft:planks"
},
{
"tag": "minecraft:planks"
},
{
"tag": "minecraft:planks"
},
{
"tag": "minecraft:planks"
},
{
"item": "minecraft:book"
},
{
"tag": "forge:gems/diamond"
}
]
}1.21.1 NeoForge
提示
位置:data/<任意资源域>/recipes/altar_recipe/ 目录下,文件格式为 JSON。
{
// 类型必须是 touhou_little_maid:altar_recipe_serializers
"type": "touhou_little_maid:altar_recipe_serializers",
// 生成实体,指定实体 ID
"entity": "minecraft:lightning_bolt",
// 此时 result 字段写法用处比较特殊
// 因为实体并不是物品,无法在 JEI 通过物品合成查询进行显示
// 所以这里使用一个占位物品来代表该实体
"result": {
// 专属的占位物品 ID,必须是 touhou_little_maid:entity_placeholder
"id": "touhou_little_maid:entity_placeholder",
// 数量
"count": 1,
// 通过 components 字段来指定该占位物品所代表的配方 ID
"components": {
// 配方 ID 一般就是这个 JSON 文件的名称
"touhou_little_maid:recipe_id": "spawn_lightning_bolt"
},
},
// 合成所需要的 power 数值,玩家最大可存储的 power 为 5.0,超过则无法合成
"power": 0.1,
// 本合成表在 JEI 中显示所使用的语言文件的 key
"lang": "jei.touhou_little_maid.altar_craft.spawn_lightning_bolt.result",
// 合成所需材料,和原版工作台的 ingredients 字段完全相同
"ingredients": [
{
"tag": "minecraft:planks"
},
{
"tag": "minecraft:planks"
},
{
"tag": "minecraft:planks"
},
{
"tag": "minecraft:planks"
},
{
"item": "minecraft:book"
},
{
"tag": "c:gems/diamond"
}
]
}