跳到主要内容

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_smeltersag_millslice_and_splicevatenchantersoul_binder
  • mmceMachineId — MMCE 机器注册名

示例:

import mods.emcadapter.EnderIORecipeBuilder;

// 将 EnderIO 合金炉的配方继承到 MMCE 机器
EnderIORecipeBuilder.inherit("alloy_smelter", "my_alloy_machine")
.build();