合金炉熔炼
GT_Values.RA.addAlloySmelterRecipe(input1, input2, output, duration, voltage)
在本 mod 只用于两个方向的转换,且两条默认都开启——
这是本 mod 默认配置下唯一"开箱即用"的 GT 机器配方组。
配方矩阵
| # | 配方 | 输入 | 输出 | 时长 | 开关 | 默认 |
|---|---|---|---|---|---|---|
| 1 | 部件 + 碎片铸件 → 碎片 | 1 部件 + 1 碎片铸件 | n(price) × 碎片 |
80 + mDurability × price |
reverseSmelting |
true |
| 2 | 碎片 + 锭铸件 → 锭 | 2 × 碎片 + MetalPatterns.ingot pattern |
1 × 锭 | max(160, mDurability) |
shardToIngotSmelting |
true |
配方 1:回炉(reverseSmelting)
stack = getChunk(m, price); // n(price) 个碎片
if (stack != null) {
if (addReverseSmelting)
addAlloySmelterRecipe(input.copy(), // 部件
new ItemStack(TGregworks.shardCast, 0, 0), // 碎片铸件
stack.copy(), // n(price) 个碎片
80 + (m.mDurability * price),
powerRequired);
}
price与挤压机配方是同一份PartTypes.price,所以回炉得到的碎片数恰好等于做出该部件所需的锭数;- 时长用
80 + …(加法)而挤压机/流固机用max(80, …)。因此高耐久材料的回炉时间 会比制作时间长80tick,不能靠回炉刷时间差; - 回炉配方在
if (stack != null)里但不在if (ingotStack != null)之外—— 它位于if (stack != null)原始输入非空的分支内,所以没有锭也没有宝石的材料回炉不了; - 碎片铸件的
new ItemStack(shardCast, 0, 0)stackSize 写的是 0(三处回炉/挤压配方都这样), GT 匹配配方时按物品类型处理,实际不影响使用。
配方 2:2 碎片合 1 锭
ItemStack stack = getChunk(m, 2); // 2 个碎片
ItemStack ingotStack = GT_OreDictUnificator.get(OrePrefixes.ingot, m, 1);
if (addGemToolPartRecipes && ingotStack == null)
ingotStack = GT_OreDictUnificator.get(OrePrefixes.gem, m, 1);
if (stack != null && ingotStack != null) {
if (addShardToIngotSmelting)
addAlloySmelterRecipe(stack.copy(),
new ItemStack(MetalPatterns.ingot.getPatternItem(), 0, MetalPatterns.ingot.ordinal()),
ingotStack.copy(),
Math.max(160, m.mDurability),
powerRequired);
}
这条位于部件循环之外(for 材料 的尾部),所以:
- pattern 是 TiC 的锭铸件(
MetalPatterns.ingot,metadata =ordinal()= 0), 不是本 mod 的 碎片铸件; - 2 碎片 → 1 锭,与部件价格无关;
- 允许宝石回退:锭取不到时若
gemToolPartRecipes打开就用宝石(此时产出也是宝石); - 这是唯一一条不要求"材料有锭形态"就能触发的碎片相关配方(
getChunk永远非空, 但ingotStack != null仍要求锭或宝石存在)。
与碎片↔锭的完整转换图
| 方向 | 机器 | 配方 | 开关 | 默认 |
|---|---|---|---|---|
| 1 锭 → 2 碎片 | GT 挤压机 + 碎片铸件 | ingotToShardRecipe |
挤压机配方 | true |
| 2 碎片 → 1 锭 | GT 合金炉 + 锭铸件 | shardToIngotSmelting |
本条目 | true |
| 144 mB 熔融 → 1 碎片 | GT 流固机 + 碎片铸件 | moltenToShardRecipe |
流固机配方 | false |
| 1 碎片 → 144 mB 熔融 | GT 流体抽取机 | shardExtractorRecipes |
流体抽取机配方 | false |
默认配置下唯一可用的一对是"锭 ↔ 2 碎片"(都在合金炉/挤压机上,不需要熔融形态), 这让"先用机器把锭压成碎片 → 碎片当维修材料"成为开箱玩法。
电压
getPowerRequired(m) = mToolQuality < 3 ? 30 : 120 × general.energyUsageMultiplier,
两条配方用同一个值。