promotional bannermobile promotional banner

Kubejs IU

KubeJS bridge for Industrial Upgrade machine recipes: inspect, add, remove and replace them from scripts. Includes in-game commands.
Back to Files

kubejs_iu-1.0.2.jar

File namekubejs_iu-1.0.2.jar
Uploader
MunichkidMunichkid
Uploaded
Sep 26, 2026
Downloads
17
Size
15.4 KB
Mod Loaders
NeoForge
File ID
8978197
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:kubejs-iu-1703839:8978197"

Learn more about Curse Maven

What's new

更新日志

1.0.2 (2026-09-23)

新增通用配方方法 addRecipeEx(...):一条调用就能描述「多物品输入(+ 流体输入)→ 多物品产出(+ 流体产出)+ 元数据」, 这是把铁砧工艺一类配方搬进 IU 机器所必需的能力。

新增

  • addRecipeEx(machine, inIds[], inCounts[], inFluid, inMb, outIds[], outCounts[], outFluid, outMb, meta)
    • 多物品输入 + 多物品产出(IU 的 RecipeOutput 本来就接受变长 ItemStack)。
    • 可选流体输入:有流体输入时改用 Input(FluidStack, IInputItemStack...)。
    • 可选流体产出:同时往 RecipesFluidCore 再写一条 BaseFluidMachineRecipe。这正是 IU 自己 BlockEntityFluidIntegrator#addRecipe 的双表写法——物品表 Input(流体, 物品们) -> 物品, 流体表 InputFluid(物品, 流体) -> 流体,所以「物品 + 流体 → 物品 + 流体」是原样支持的。
    • meta 为 key=value,key=value 字符串:energy=(double)、temperature=(short)、 percent=、rad_amount=(int),其余按 int → double → string 自动推断。
    • 返回实际写入的条数:0 = 失败,1 = 只写物品表,2 = 物品表 + 流体表。
    • 两个细节:给了流体产出却没给流体输入时,会跳过流体表并写 WARN(返回 1);流体表的物品侧只取第一个输入物品。
  • 配套私有方法 applyMeta(CompoundTag, String)。

示例

// 三重固态反应釜:2 铁 + 钻石 + 紫水晶 -> 4 皇家钢锭 + 6 皇家钢粒
iu.addRecipeEx('triple_solid_mixer',
    ['minecraft:iron_ingot', 'minecraft:diamond', 'minecraft:amethyst_shard'], [2, 1, 1],
    '', 0,
    ['anvilcraft:royal_steel_ingot', 'anvilcraft:royal_steel_nugget'], [4, 6],
    '', 0,
    'energy=4000')

兼容

  • 旧方法 addItemRecipe / addItemRecipeTag / addMachineRecipe / addMultiRecipe / addFluidRecipe / addFluidItemRecipe 等全部保留,签名与行为不变,老脚本无需改动。

1.0.1 (2026-09-23)

修掉「看不见 NBT」的问题。旧版的 listRecipes() / dumpMachines() 只打印 energy / temperature 两个元数据键,也不打印物品组件,照着 dump 做移植时会漏掉组件 (IU 的电路/芯片产物就带 industrialupgrade:level_microchip,因此移植过去只能得到空壳物品)。

修复 / 改进

  • 打印物品组件:输入与输出都会附上物品上显式设置的组件,形如 industrialupgrade:circuit/circuit_part2 x1 {industrialupgrade:level_microchip=3}; 没有组件的物品保持原样。
  • 元数据全量打印:不再写死 energy / temperature 键名,改为打印配方元数据 CompoundTag 里的所有键,例如 [energy=4000]、[temperature=4500], IU 核聚变反应堆的 [percent=…, rad_amount=…] 也不会再被吞掉。
  • 调用方无需改动:只是 listRecipes() / dumpMachines() 的文本更完整。

1.0.0 (2026-09)

首个版本。

功能

  • 新增桥梁类 com.kubejsiu.recipe.IURecipeBridge,把 Industrial Upgrade 的机器加工配方 开放给 KubeJS(这些配方注册在 Java 内存 com.denfop.api.recipe.RecipesCore.map_recipes 里,KubeJS 的 ServerEvents.recipes 完全访问不到)。
  • 新增配方:单物品、带能量、多槽(可带温度)、流体、流体+物品、热离心机、压缩机种子袋; 输入支持标签(如 "#c:plates/iron",注册时展开成每个成员一条)。
  • 查询:listMachines() / describeMachine() / countRecipes() / listRecipes() / dumpMachines()。
  • 删除 / 替换:按第一输入删(removeByInput)、按产物删(removeByOutput)、清空整台机器 (clearMachine)、整体替换(replaceItemRecipe / replaceFluidRecipe)、按注册类重放默认配方 (reloadRecipes)。
  • 游戏内查询命令:/kubejs_iu machines / /kubejs_iu recipes <机器名> / /kubejs_iu dump。

说明

  • 模组本身不含 mixin、方块、物品与网络包,只依赖 Industrial Upgrade;KubeJS 是可选依赖。
  • 调用必须写在 kubejs/startup_scripts/ 的 StartupEvents.postInit 里,改完需重启游戏。
  • 不包含 Industrial Upgrade 的任何代码或资源,仅作为编译期依赖。

This mod has no related projects