# 自定义祭坛合成

1.1.9 版本添加 CraftTweaker 的兼容,现在可以通过 CraftTweaker 进行祭坛物品合成的修改了。

注意

当前仅能进行物品相关合成的修改,无法进行其他类型实体的生成。

使用此功能前请确保你已经了解基本的 CraftTweaker 脚本书写方式。

// 导入相关的 ZenClass,简化后面合成的书写
import mods.touhoulittlemaid.Altar;

// 添加物品合成
// 第一个参数:字符串,表明该合成的 ID,建议书写格式 xxxx:xxxx,且最好与其他合成不重名
// 第二个参数:浮点数,表明该合成需要消耗的 P 点
// 第三个参数:IItemStack 类型,该合成的输出物品
// 后续几个为可变参数,可书写 1-6 个参数,均为 IIngredient 类型,表示该合成的输入物品
Altar.addItemCraftRecipe("touhou_little_maid:craft_camera", 0.2,
                         <touhou_little_maid:camera>*2,
                         <ore:blockGlass>, <ore:sand>, <minecraft:diamond_sword>);

// 可变参数的示例,这里仅写成一个合成的输入物品
Altar.addItemCraftRecipe("touhou_little_maid:craft_apple", 0.2,
                         <touhou_little_maid:apple>*2,
                         <ore:blockGlass>);
// 生成女仆的合成添加
Altar.addMaidSpawnCraftRecipe("test:replace_maid", 0.5, 
                              <minecraft:grass>, <minecraft:grass>, <minecraft:grass>);

// 女仆手办复活的合成添加
// 这个合成只能书写 1-5 个物品,手办物品是直接强制内嵌在合成中的
Altar.addMaidReviveCraftRecipe("test:reborn_maid", 0.3, 
                               <minecraft:grass>, <minecraft:grass>, <minecraft:grass>);

// 其他生物的合成
// 第三个参数需要书写完整的实体 id
Altar.addEntitySpawnCraftRecipe("test:spawn_pig", 0.2, "minecraft:pig", 
                                <minecraft:stone>, <minecraft:stone>, <minecraft:stone>);

// 删除合成,通过合成的 id 来删除合成,这也是为什么上面多次提到需要设置独立合成 id 的原因
// 只有一个参数,即合成的 id,只需要通过 JEI 就能查到模组自带合成的 id
Altar.removeRecipe("touhou_little_maid:craft_camera");