配方开关配置 enable.recipe.*

配置文件:config/TGregworks.cfg,分类由 Config.concat(Category.Enable, Category.Recipes, …) 拼出, 即全部落在 enable.recipe 这一个前缀下(前缀段固定为 enable + recipe,第三段是机器分类)。 共 18 个布尔开关(外加同段的 1 个 float 缩放器,见 general 段), 全部在 TGregworks.postInit 阶段读取。

Config.Category 常量表:机器分类有 4 个 (alloysmelter / extruder / fluidsolidifier / fluidextractor), Category.Recipes = "recipe"、Category.Enable = "enable"。

汇总表

完整键 所在子段 默认 控制的行为
enable.recipe.gemToolPartRecipes (顶层) true 锭取不到时回退用宝石 gem<材料> 出部件
enable.recipe.tinkersconstructcastrecipe (顶层) true 用 TiC 黑曜石碎片压出 碎片铸件 的 3 条挤压机配方
enable.recipe.gregtechcastrecipe (顶层) true 工作台合成 碎片铸件 的 ShapedOreRecipe
enable.recipe.addShardRepair (顶层) true 允许用 碎片 修工具(并注册碎片作为 PatternBuilder 材料)
enable.recipe.addIngotRepair (顶层) false 允许用锭 / 宝石修工具
enable.recipe.alloysmelter.reverseSmelting alloysmelter true 合金炉里把部件回炉成碎片
enable.recipe.alloysmelter.shardToIngotSmelting alloysmelter true 合金炉里 2 碎片合 1 锭
enable.recipe.extruder.extruderRecipes extruder true 锭/宝石 + pattern → 部件(主路径)
enable.recipe.extruder.shardToToolPartRecipe extruder true 碎片 + pattern → 部件(需同时开 extruderRecipes)
enable.recipe.extruder.ingotToShardRecipe extruder true(字段初值 false,被配置覆盖为 true) 1 锭 → 2 碎片
enable.recipe.extruder.castExtruderRecipes extruder CastLegacy.metalPattern != null 黄铜/金板压部件铸件(动态默认值)
enable.recipe.fluidsolidifier.solidifierRecipes fluidsolidifier false 熔融材料 + pattern → 部件
enable.recipe.fluidsolidifier.moltenToShardRecipe fluidsolidifier false 熔融材料 → 1 碎片
enable.recipe.fluidsolidifier.castSolidifierRecipes fluidsolidifier false 熔融黄铜/金 → 部件铸件
enable.recipe.fluidsolidifier.useNonGTFluidsForBolts fluidsolidifier true 弩箭流固机配方允许非 GT 流体
enable.recipe.fluidsolidifier.useNonGTToolRodsForBolts fluidsolidifier true 弩箭流固机配方允许非 GT 材料的手柄
enable.recipe.fluidextractor.fluidExtractorRecipes fluidextractor false 流体抽取机把部件抽回熔融材料
enable.recipe.fluidextractor.shardExtractorRecipes fluidextractor false 流体抽取机把碎片抽回熔融材料

⚠️ 字段初值 ≠ 配置默认值。TGregRecipeRegistry 的 15 个布尔字段声明里只有 5 个初始化为 true (addShardRepair / addGemToolPartRecipes / addCastExtruderRecipes / useNonGTFluidsForBolts / useNonGTToolRodsForBolts),其余 10 个都是 false。 但所有字段随后都被 getBoolean 的第二参数无条件覆盖,所以字段初值只在配置解析异常时才会留下; 真正生效的默认值是下表的第三列。

三个值得注意的默认值

castExtruderRecipes 的默认值是算出来的

源码写的是 CastLegacy.metalPattern != null,而 CastLegacy.metalPattern 只有在 Tinkers’ Smeltery 未加载时才被赋值(见 依赖门控)。因此:

  • 装了 Smeltery(GTNH 标准情况)→ 默认 false,因为铸件已经由 TiC 提供,GT 侧不必再压一遍;
  • 无 Smeltery → 默认 true,此时 23 个 legacy 铸件只能靠 GT 挤压机做出来。

副作用:tinkersconstructcastrecipe 里"黄铜板 + 黑曜石碎片 → 碎片铸件"这条配方注册条件是 brassstack != null && !addCastExtruderRecipes,也就是只在"无 Smeltery 铸件可用"时才补这一条。

addIngotRepair 默认关闭但代码路径完整

默认 false 时整段 if (addIngotRepair) 跳过。打开后会对每个已注册材料 GT_OreDictUnificator.getOres(OrePrefixes.ingot, m) 拿到全部锭变体(不止 1 个), 逐个注册成 OreDictRepairMaterial(m, "ingot<材料>", 2),价值 2(碎片的 2 倍); 若 gemToolPartRecipes 打开还会额外注册 gem<材料> 同为 2。 同时对每个锭变体调用 PatternBuilder.instance.registerMaterial(ingot, 1, mat.materialName) 或 registerFullMaterial(ingot, 2, …)。

enable.<材料> 是第三个前缀

Config.Category.Enable = "enable" 还被 TGregRegistry.registerToolParts 用于逐材料门控: config.get("enable", m.mName, true)。见 材料逐项开关。

相关条目