跳到主要内容

催化剂系统

EMC 配方适配器支持为导入的配方添加 催化剂(Catalyst)。催化剂是一种不消耗的物品需求,放入后可以对配方产生修饰效果。

添加催化剂

使用 addCatalyst() 方法添加催化剂物品:

import mods.emcadapter.RecipeAdapter;

RecipeAdapter.create("my_machine", "mekanism:enrichment")
.addCatalyst(<minecraft:diamond>)
.build();

催化剂修饰方法

添加催化剂后,可以链式调用以下修饰方法(作用于最后添加的催化剂):

方法说明
modifySpeed(float)修改配方速度倍率
modifyEnergy(float)修改能量消耗倍率
modifyItemInput(float)修改物品输入倍率
modifyItemOutput(float)修改物品输出倍率
modifyFluidInput(float)修改流体输入倍率
modifyFluidOutput(float)修改流体输出倍率
addTooltip(string)添加催化剂提示文字
setCatalystTooltip(string...)设置催化剂提示(替换已有)

使用示例

速度催化剂

// 放入钻石催化剂,速度提升 50%
RecipeAdapter.create("my_machine", "thermalexpansion:pulverizer")
.addCatalyst(<minecraft:diamond>)
.modifySpeed(0.5)
.addTooltip("§a速度 +50%")
.build();

产量催化剂

// 放入下界之星,物品输出翻倍
RecipeAdapter.create("my_machine", "enderio:sagmill")
.addCatalyst(<minecraft:nether_star>)
.modifyItemOutput(2.0)
.addTooltip("§6产量 ×2")
.build();

多个催化剂

可以添加多个不同的催化剂,每个催化剂独立配置:

RecipeAdapter.create("my_machine", "mekanism:crusher")
// 催化剂 1:红石 — 加速
.addCatalyst(<minecraft:redstone>)
.modifySpeed(0.8)
.addTooltip("§e速度 +20%")
// 催化剂 2:钻石 — 加速更多
.addCatalyst(<minecraft:diamond>)
.modifySpeed(0.5)
.addTooltip("§a速度 +50%")
// 催化剂 3:下界之星 — 加速 + 双倍产出
.addCatalyst(<minecraft:nether_star>)
.modifySpeed(0.3)
.modifyItemOutput(2.0)
.addTooltip("§6速度 +70%")
.addTooltip("§6产量 ×2")
.build();

高级催化剂 API

如需完全控制催化剂,可使用底层 addCatalystInput() 方法:

import mods.modularmachinery.RecipeModifier;

RecipeAdapter.create("my_machine", "mekanism:enrichment")
.addCatalystInput(
<minecraft:diamond>,
["§a高级催化剂", "§7速度 +50%"] as string[],
[RecipeModifier.create("modularmachinery:duration", "input", 0.5, 1, false)] as RecipeModifier[]
)
.build();