跳到主要内容

倍率系统

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();