配方开关配置 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)。见 材料逐项开关。