倍率系统
EMC 配方适配器提供 6 个维度 的倍率调节,可以精确控制导入配方的各项数值。
倍率方法一览
| 方法 | 说明 | 默认值 |
|---|---|---|
setEnergyMultiplier(double) | 能量消耗倍率 | 1.0 |
setTimeMultiplier(double) | 配方时间倍率 | 1.0 |
setItemInputMultiplier(double) | 物品输入数量倍率 | 1.0 |
setItemOutputMultiplier(double) | 物品输出数量倍率 | 1.0 |
setFluidInputMultiplier(double) | 流体输入量倍率 | 1.0 |
setFluidOutputMultiplier(double) | 流体输出量倍率 | 1.0 |
使用示例
基础倍率
import mods.emcadapter.RecipeAdapter;
// 能量消耗翻倍,时间减半
RecipeAdapter.create("fast_crusher", "mekanism:crusher")
.setEnergyMultiplier(2.0)
.setTimeMultiplier(0.5)
.build();
产量加倍
// 物品输出翻倍(双倍产出)
RecipeAdapter.create("double_output_mill", "thermalexpansion:pulverizer")
.setItemOutputMultiplier(2.0)
.build();
全面调节
// 六维全调节
RecipeAdapter.create("balanced_machine", "enderio:alloysmelter")
.setEnergyMultiplier(1.5) // 能量 ×1.5
.setTimeMultiplier(0.8) // 时间 ×0.8(加速 20%)
.setItemInputMultiplier(0.5) // 物品输入减半
.setItemOutputMultiplier(1.5) // 物品输出 ×1.5
.setFluidInputMultiplier(1.0) // 流体输入不变
.setFluidOutputMultiplier(2.0)// 流体输出翻倍
.build();
快捷调用
4 参数快捷调用:
// adapter(机器名, 适配器类型, 能量倍率, 时间倍率, 物品输入倍率, 物品输出倍率)
RecipeAdapter.adapter("my_machine", "mekanism:enrichment", 2.0, 0.5, 1.0, 2.0);
6 参数快捷调用:
// adapter(机器名, 适配器类型, 能量×, 时间×, 物品输入×, 物品输出×, 流体输入×, 流体输出×)
RecipeAdapter.adapter("my_machine", "thermalexpansion:brewer", 1.0, 1.0, 1.0, 1.0, 2.0, 0.5);
倍率计算规则
- 倍率作用于原始配方的对应数值
- 最终结果四舍五入为整数(物品数量、能量值等)
- 时间倍率最终结果最小为 1 tick
- 倍率
0不会移除该需求,而是将数值设为 0 - 多个倍率可以叠加使用
自定义修改器
如需更复杂的修改逻辑,可使用 addModifier() 直接添加 MMCE 的 RecipeModifier:
import mods.modularmachinery.RecipeModifierBuilder;
RecipeAdapter.create("my_machine", "mekanism:enrichment")
.addModifier(RecipeModifierBuilder.create("modularmachinery:energy", "input", 2.0, 1, false).build())
.build();