Computronics 配方

基本信息

属性 值
实现包 pl.asie.computronics.integration(ModRecipes / RecipeUtils / RecipeColorizer / RecipeDecolorizer)
配方集 5 个,见下表

配方集总览

配方集 文件 数量 生效条件
默认配方 ModRecipes.java 37 条 addShapedRecipe 无条件注册(Railcraft 段另有 9 条,见下)
Railcraft 配方 ModRecipes.registerRailcraftRecipes(ModRecipes.java:497-588) 6 条 Mods.isLoaded(Mods.Railcraft)
GregTech 5 GregTech5Recipes.java 34 条 GT5 且 recipes.gtRecipeMode
GregTech 6 GregTech6Recipes.java 34 条 GT6 且 recipes.gtRecipeMode
OC 零件 IntegrationOpenComputers.postInit 15 条 !isGTNHLoaded
TIS-3D 模块 IntegrationTIS3D.postInit 3 条 itemModules != null
无人机对接站 IntegrationBuildCraft.postInitOC 1 条 !isGTNHLoaded

计数说明:grep -n 'addShapedRecipe' ModRecipes.java 共 37 条,按方法边界拆分——registerRailcraftRecipes(:497 起)内 6 条(:500、:516、:529、:544、:559、:572),核心段 31 条(:29–:474),后者覆盖 11 个方块 + 便携驱动器的 OC/无 OC 双配方、10 个磁带变体、录音带轨道、染色器与漂白器。GT5 / GT6 各 34 条(grep -c 'addShapedRecipe')。这些是源码文本计数,配方可能因材料回退而指向不同物品。

GTNH 特殊行为

Computronics.isGTNHLoaded = Loader.isModLoaded("dreamcraft")(Computronics.java:206)。

两处配方集在 GTNH 中被整体跳过:

配方集 门控位置
OC 零件 15 条 各自包在 if (!Computronics.isGTNHLoaded) 内(IntegrationOpenComputers.java:344、:367、:390、:412、:427、:446、:463、:478、:497、:517、:536、:555、:576、:597、:617)
无人机对接站 1 条 IntegrationBuildCraft.java:59

不受影响的:默认配方 31 条、Railcraft 6 条、GT5/GT6 各 34 条、TIS-3D 3 条。默认配方虽然在文件中位于 OC 判断分支内,但整个 ModRecipes.registerRecipes 方法无条件执行(Computronics.java:405-409),分支只决定「用 OC 材料还是无 OC 材料」。

配方选择逻辑

ModRecipes.registerRecipes 的统一门控(ModRecipes.java:62):

boolean useOC = Mods.isLoaded(Mods.OpenComputers) && !Config.NON_OC_RECIPES;
条件 结果
装了 OC 且 recipes.easyRecipeMode = false 用 OC 材料配方(oc:materialTransistor / oc:circuitChip1 / oc:materialCircuitBoardPrinted 等)
装了 OC 且 easyRecipeMode = true 用无 OC 配方
没装 OC 用无 OC 配方

easyRecipeMode 的语义是反向的,命名容易误解(Config.java:321-326)。

材料回退链

多个方块的配方使用逐级回退,取第一个非空物品(这是上游 GTNH 生态的通用写法,让配方跨 GT 版本工作):

材料 回退链 出现处
音源方块 扩音器 → 铁音符盒 → 音符盒 磁带机、语音盒、便携驱动器、鸣笛卡、噪音卡
磁带零件 录音带轨道 → 音符盒 加密机 / 高级加密机
Railcraft 板 part.plate meta 2 → minecraft:stonebrick 中继器、信号盒、售票机
Railcraft 板 part.plate meta 1 → ingotSteel / ingotIron 检测器、售票机
GT 工具 GT 工具 → 手持工具 / 方块回退 高级加密机、GT 录音带

物品加工配方

配方 作用 源行
RecipeColorizer 给磁带染色 ModRecipes.java:320
RecipeDecolorizer 漂白磁带 ModRecipes.java:321

二者是 AsieLib 提供的类(pl.asie.lib.util.color.RecipeColorizer / RecipeDecolorizer),不属于 Computronics 本仓库,通过 GameRegistry.addRecipe 注册而非 addShapedRecipe,因此不计入上表的 37 条。默认路径下两者包在 if (Computronics.itemTape != null) 内(ModRecipes.java:319)。

⚠️ 装了 GregTech 就无法漂白磁带。GT5(GregTech5Recipes.java:410)与 GT6(GregTech6Recipes.java:462)都只注册了 RecipeColorizer,没有 RecipeDecolorizer——GregTech5Recipes.registerRecipes() 整体替换了 ModRecipes 的角色(Computronics.java:397-409),默认路径那两行不再执行。

逐方块配方

11 个核心方块 + 便携驱动器的两套配方(OC / 无 OC)分别列在各方块条目的「## 合成配方」一节:

铁音符盒 · 音频线 · 扩音器 · 磁带机 · 摄像头 · 聊天盒 · 加密机 · 高级加密机 · 雷达 · 彩灯 · 语音盒 · 便携式磁带驱动器

Railcraft 配方见 Railcraft 集成。OC 零件 15 条见 OpenComputers 零件。TIS-3D 3 条见 TIS-3D 模块。

相关条目