API 参考
本页列出 EMC 配方适配器提供的全部 ZenScript API。
RecipeAdapter
ZenClass: mods.emcadapter.RecipeAdapter
静态方法
create
创建一个 Builder 实例,用于链式配置后调用 .build() 注册。
static RecipeAdapter create(string machineName, string adapterType)
machineName— MMCE 机器的注册名adapterType— 适配器类型,格式模组ID:机器类型
adapter(快捷调用)
一行代码直接注册适配器,无需 Builder。
// 无倍率
static void adapter(string machineName, string adapterType)
// 4 倍率
static void adapter(string machineName, string adapterType,
double energyMult, double timeMult,
double itemInMult, double itemOutMult)
// 6 倍率
static void adapter(string machineName, string adapterType,
double energyMult, double timeMult,
double itemInMult, double itemOutMult,
double fluidInMult, double fluidOutMult)
倍率方法
| 方法 | 返回值 | 说明 |
|---|---|---|
setEnergyMultiplier(double) | RecipeAdapter | 能量消耗倍率 |
setTimeMultiplier(double) | RecipeAdapter | 配方时间倍率 |
setItemInputMultiplier(double) | RecipeAdapter | 物品输入数量倍率 |
setItemOutputMultiplier(double) | RecipeAdapter | 物品输出数量倍率 |
setFluidInputMultiplier(double) | RecipeAdapter | 流体输入量倍率 |
setFluidOutputMultiplier(double) | RecipeAdapter | 流体输出量倍率 |
addModifier(RecipeModifier) | RecipeAdapter | 添加自定义 MMCE 修改器 |
输入输出方法
| 方法 | 说明 |
|---|---|
addInput(IIngredient) | 添加物品输入 |
addInputs(IIngredient...) | 批量添加物品输入 |
addOutput(IIngredient) | 添加物品输出 |
addOutputs(IIngredient...) | 批量添加物品输出 |
addItemInput(IIngredient) | 添加物品输入(同 addInput) |
addItemInputs(IIngredient...) | 批量添加物品输入 |
addItemOutput(IIngredient) | 添加物品输出(同 addOutput) |
addItemOutputs(IIngredient...) | 批量添加物品输出 |
addFluidInput(ILiquidStack) | 添加流体输入 |
addFluidInputs(ILiquidStack...) | 批量添加流体输入 |
addFluidOutput(ILiquidStack) | 添加流体输出 |
addFluidOutputs(ILiquidStack...) | 批量添加流体输出 |
addFluidPerTickInput(ILiquidStack) | 添加每 tick 流体输入 |
addFluidPerTickOutput(ILiquidStack) | 添加每 tick 流体输出 |
addEnergyPerTickInput(long) | 添加每 tick 能量输入 |
addEnergyPerTickOutput(long) | 添加每 tick 能量输出 |
addFuelItemInput(int) | 添加燃料物品输入(按总燃烧时间) |
组件修饰方法
| 方法 | 说明 |
|---|---|
setChance(float) | 设置上一个组件的概率 |
setTag(string) | 设置组件选择器标签 |
setMinMaxAmount(int, int) | 设置最小/最大数量 |
setPreViewNBT(IData) | 设置 JEI 预览 NBT |
setTriggerTime(int) | 设置触发时间(tick) |
setTriggerRepeatable(boolean) | 设置触发是否可重复 |
setIgnoreOutputCheck(boolean) | 忽略输出检查 |
setParallelizeUnaffected(boolean) | 并行化不受影响 |
催化剂方法
| 方法 | 说明 |
|---|---|
addCatalyst(IIngredient) | 添加催化剂物品 |
addCatalystInput(IIngredient, string[], RecipeModifier[]) | 添加完整催化剂 |
modifySpeed(float) | 催化剂速度修饰 |
modifyEnergy(float) | 催化剂能量修饰 |
modifyItemInput(float) | 催化剂物品输入修饰 |
modifyItemOutput(float) | 催化剂物品输出修饰 |
modifyFluidInput(float) | 催化剂流体输入修饰 |
modifyFluidOutput(float) | 催化剂流体输出修饰 |
addTooltip(string) | 添加催化剂提示 |
setCatalystTooltip(string...) | 设置催化剂提示(替换) |
配方级属性
| 方法 | 说明 |
|---|---|
addRecipeTooltip(string...) | 添加配方提示文字 |
setMaxThreads(int) | 设置最大线程数 |
setThreadName(string) | 设置线程名称 |
事件处理器
| 方法 | 事件类型 |
|---|---|
addPreCheckHandler(handler) | 配方检查前 |
addPostCheckHandler(handler) | 配方检查后 |
addStartHandler(handler) | 配方启动 |
addPreTickHandler(handler) | tick 前 |
addPostTickHandler(handler) | tick 后 |
addFailureHandler(handler) | 配方失败 |
addFinishHandler(handler) | 配方完成 |
addFactoryStartHandler(handler) | 工厂配方启动 |
addFactoryPreTickHandler(handler) | 工厂 tick 前 |
addFactoryPostTickHandler(handler) | 工厂 tick 后 |
addFactoryFailureHandler(handler) | 工厂配方失败 |
addFactoryFinishHandler(handler) | 工厂配方完成 |
扩展资源方法(gugu-utils)
| 方法 | 说明 |
|---|---|
addManaInput(int) | Botania 魔力输入 |
addManaOutput(int) | Botania 魔力输出 |
addManaPerTickInput(int) | 每 tick 魔力输入 |
addManaPerTickOutput(int) | 每 tick 魔力输出 |
addEmberInput(int) | Embers 灰烬输入 |
addEmberOutput(int) | Embers 灰烬输出 |
addAuraInput(int) | NaturesAura 灵气输入 |
addAuraInput(int, boolean) | 灵气输入(peak 模式) |
addAuraOutput(int) | 灵气输出 |
addAuraOutput(int, boolean) | 灵气输出(peak 模式) |
addStarlightInput(int) | 星辉输入 |
addStarlightInput(int, string) | 星辉输入(指定星座) |
addAspectInput(int, string) | 神秘要素输入 |
addAspectOutput(int, string) | 神秘要素输出 |
addCompressedAirInput(float, int) | 压缩空气输入 |
addCompressedAirOutput(float, int) | 压缩空气输出 |
addCompressedAirPerTickInput(float, int) | 每 tick 压缩空气输入 |
addCompressedAirPerTickOutput(float, int) | 每 tick 压缩空气输出 |
addHotAirInput(int, int, int) | 热风输入 |
addHotAirOutput(int) | 热风输出 |
环境条件方法(gugu-utils)
| 方法 | 说明 |
|---|---|
setBiome(IBiome...) | 设置生物群系要求 |
setAltitude(int, int) | 设置高度范围要求 |
setTime(int, int) | 设置时间范围要求 |
setDimension(int...) | 设置维度要求 |
setMoonPhase(int...) | 设置月相要求 |
setWeather(string) | 设置天气要求 |
构建
void build()
调用 build() 完成注册,将适配器配方注册到 MMCE。
EnderIO 配方继承
ZenClass: mods.emcadapter.EnderIORecipeBuilder
专用于 EnderIO 机器的配方继承 API。
import mods.emcadapter.EnderIORecipeBuilder;
// 创建继承构建器
EnderIORecipeBuilder.inherit(enderioMachine, mmceMachineId)
参数:
enderioMachine— EnderIO 机器类型:alloy_smelter、sag_mill、slice_and_splice、vat、enchanter、soul_bindermmceMachineId— MMCE 机器注册名
示例:
import mods.emcadapter.EnderIORecipeBuilder;
// 将 EnderIO 合金炉的配方继承到 MMCE 机器
EnderIORecipeBuilder.inherit("alloy_smelter", "my_alloy_machine")
.build();