neuralgia/kubejs/server_scripts/tfc/recipes.materials.js
Pyritie 8b3745f72f
Refactored ore recipes and moved them out of TFG-Core (#888)
* refactored ore recipes and moved them out of TFG-Core. Also fixed the quern producing more output than the others, and added a workaround for the greate millstone bug

* fixed VI centrifuging recipes and bulk washing recipes to be consistent with their LV versions

---------

Signed-off-by: Pyritie <pyritie@gmail.com>
2025-04-20 13:34:41 +01:00

1278 lines
No EOL
51 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// priority: 0
function registerTFCMaterialsRecipes(event) {
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY)
if (tfcProperty == null) {
return;
}
let outputMaterial = (tfcProperty.getOutputMaterial() == null) ? material : tfcProperty.getOutputMaterial()
// Ingots
let ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1)
if (!ingotItem.isEmpty()) {
// Декрафт слитка в жидкость
event.recipes.tfc.heating(ingotItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_ingot`)
if (material != GTMaterials.WroughtIron) {
// Отливка слитка в обычной форме
event.recipes.tfc.casting(ingotItem, 'tfc:ceramic/ingot_mold', Fluid.of(outputMaterial.getFluid(), 144), 0.1)
.id(`tfc:casting/${material.getName()}_ingot`)
// Отливка слитка в огнеупорной форме
event.recipes.tfc.casting(ingotItem, 'tfc:ceramic/fire_ingot_mold', Fluid.of(outputMaterial.getFluid(), 144), 0.01)
.id(`tfc:casting/${material.getName()}_fire_ingot`)
event.recipes.create.filling(
Item.of('tfc:ceramic/ingot_mold', getFillingNBT(outputMaterial, 144)),
[
Fluid.of(outputMaterial.getFluid(), 144),
Item.of('tfc:ceramic/ingot_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_ingot`)
event.recipes.create.filling(
Item.of('tfc:ceramic/fire_ingot_mold', getFillingNBT(outputMaterial, 144)),
[
Fluid.of(outputMaterial.getFluid(), 144),
Item.of('tfc:ceramic/fire_ingot_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_fire_ingot`)
}
// Double Ingots
let doubleIngotItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1)
if (!doubleIngotItem.isEmpty()) {
// Декрафт двойного слитка в жидкость
event.recipes.tfc.heating(doubleIngotItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.id(`tfc:heating/metal/${material.getName()}_double_ingot`)
// 2 слитка -> Двойной слиток
event.recipes.tfc.welding(doubleIngotItem, ingotItem, ingotItem, tfcProperty.getTier() - 1)
.id(`tfc:welding/${material.getName()}_double_ingot`)
// Plates
let plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1)
if (!plateItem.isEmpty()) {
// Декрафт пластины в жидкость
event.recipes.tfc.heating(plateItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_sheet`)
// Двойной слиток -> Пластина
event.recipes.tfc.anvil(plateItem, doubleIngotItem, ['hit_last', 'hit_second_last', 'hit_third_last'])
.tier(tfcProperty.getTier())
.id(`tfc:anvil/${material.getName()}_sheet`)
// Double Plate
let doublePlateItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1)
if (!doublePlateItem.isEmpty()) {
// Декрафт двойных пластин
event.recipes.tfc.heating(doublePlateItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.id(`tfc:heating/metal/${material.getName()}_double_sheet`)
// Две пластины -> Двойная пластина
event.recipes.tfc.welding(doublePlateItem, plateItem, plateItem)
.tier(tfcProperty.getTier())
.id(`tfc:welding/${material.getName()}_double_sheet`)
// Armor
if (material.hasFlag(TFGMaterialFlags.HAS_TFC_ARMOR)) {
//#region Шлем
// Декрафт незавершенного шлема в жидкость
event.recipes.tfc.heating(`tfc:metal/unfinished_helmet/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.id(`tfc:heating/metal/${material.getName()}_unfinished_helmet`)
// Незавершенный шлем
event.recipes.tfc.anvil(`tfc:metal/unfinished_helmet/${material.getName()}`, doublePlateItem, ['hit_last', 'bend_second_last', 'bend_third_last'])
.tier(tfcProperty.getTier())
.id(`tfc:anvil/${material.getName()}_unfinished_helmet`)
// Декрафт шлема в жидкость
event.recipes.tfc.heating(`tfc:metal/helmet/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 432))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_helmet`)
// Шлем
event.recipes.tfc.welding(`tfc:metal/helmet/${material.getName()}`, `tfc:metal/unfinished_helmet/${material.getName()}`, plateItem)
.tier(tfcProperty.getTier())
.id(`tfc:welding/${material.getName()}_helmet`)
//#endregion
//#region Нагрудник
// Декрафт незавершенного нагрудника в жидкость
event.recipes.tfc.heating(`tfc:metal/unfinished_chestplate/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.id(`tfc:heating/metal/${material.getName()}_unfinished_chestplate`)
// Незавершенный нагрудник
event.recipes.tfc.anvil(`tfc:metal/unfinished_chestplate/${material.getName()}`, doublePlateItem, ['hit_last', 'hit_second_last', 'upset_third_last'])
.tier(tfcProperty.getTier())
.id(`tfc:anvil/${material.getName()}_unfinished_chestplate`)
// Декрафт нагрудника в жидкость
event.recipes.tfc.heating(`tfc:metal/chestplate/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 576))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_chestplate`)
// Нагрудник
event.recipes.tfc.welding(`tfc:metal/chestplate/${material.getName()}`, `tfc:metal/unfinished_chestplate/${material.getName()}`, doublePlateItem)
.tier(tfcProperty.getTier())
.id(`tfc:welding/${material.getName()}_chestplate`)
//#endregion
//#region Поножи
// Декрафт незавершенных поножей в жидкость
event.recipes.tfc.heating(`tfc:metal/unfinished_greaves/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.id(`tfc:heating/metal/${material.getName()}_unfinished_greaves`)
// Незавершенные поножи
event.recipes.tfc.anvil(`tfc:metal/unfinished_greaves/${material.getName()}`, doublePlateItem, ['bend_any', 'draw_any', 'hit_any'])
.tier(tfcProperty.getTier())
.id(`tfc:anvil/${material.getName()}_unfinished_greaves`)
// Декрафт поножей в жидкость
event.recipes.tfc.heating(`tfc:metal/greaves/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 432))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_greaves`)
// Поножи
event.recipes.tfc.welding(`tfc:metal/greaves/${material.getName()}`, `tfc:metal/unfinished_greaves/${material.getName()}`, plateItem)
.tier(tfcProperty.getTier())
.id(`tfc:welding/${material.getName()}_greaves`)
//#endregion
//#region Ботинки
// Декрафт незавершенных ботинок в жидкость
event.recipes.tfc.heating(`tfc:metal/unfinished_boots/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_unfinished_boots`)
// Незавершенные ботинки
event.recipes.tfc.anvil(`tfc:metal/unfinished_boots/${material.getName()}`, plateItem, ['bend_last', 'bend_second_last', 'shrink_third_last'])
.tier(tfcProperty.getTier())
.id(`tfc:anvil/${material.getName()}_unfinished_boots`)
// Декрафт ботинок в жидкость
event.recipes.tfc.heating(`tfc:metal/boots/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_boots`)
// Ботинки
event.recipes.tfc.welding(`tfc:metal/boots/${material.getName()}`, `tfc:metal/unfinished_boots/${material.getName()}`, plateItem)
.tier(tfcProperty.getTier())
.id(`tfc:welding/${material.getName()}_boots`)
//#endregion
}
// Tools (From Double Plate)
if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) {
//#region Фурма
// Декрафт инструмента в жидкость
event.recipes.tfc.heating(`tfc:metal/tuyere/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_tuyere`)
// Фурма
event.recipes.tfc.anvil(`tfc:metal/tuyere/${material.getName()}`, doublePlateItem, ['bend_last', 'bend_second_last'])
.tier(tfcProperty.getTier())
.id(`tfc:anvil/${material.getName()}_tuyere`)
//#endregion
//#region Щит
// Декрафт щита в жидкость
event.recipes.tfc.heating(`tfc:metal/shield/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_shield`)
// Щит
event.recipes.tfc.anvil(`tfc:metal/shield/${material.getName()}`, doublePlateItem, ['upset_last', 'bend_second_last', 'bend_third_last'])
.tier(tfcProperty.getTier())
.id(`tfc:anvil/${material.getName()}_shield`)
//#endregion
//#region Конская броня
// Декрафт конской брони в жидкость
event.recipes.tfc.heating(`tfc:metal/horse_armor/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 864))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_horse_armor`)
//#endregion
}
}
// Tools (From Plate)
if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) {
//#region Удочка
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(`tfc:metal/fish_hook/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_fish_hook`)
// Крюк удочки
event.recipes.tfc.anvil(`tfc:metal/fish_hook/${material.getName()}`, plateItem, ['draw_not_last', 'bend_any', 'hit_any'])
.tier(tfcProperty.getTier())
.bonus(true)
.id(`tfc:anvil/${material.getName()}_fish_hook`)
// Декрафт инструмента в жидкость
event.recipes.tfc.heating(`tfc:metal/fishing_rod/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_fishing_rod`)
//#endregion
}
// Plated Blocks - applies for everything with a double ingot (except tin/red alloy)
if (material != GTMaterials.TinAlloy && material != GTMaterials.RedAlloy) {
generatePlatedBlockRecipe(event, material);
}
}
// Tools (From Double Ingots)
if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) {
//#region Меч
// Крафт инструмента
event.remove({ id: `tfc:crafting/metal/sword/${material.getName()}` })
// Декрафт инструмента в жидкость
let swordItem = ToolHelper.get(GTToolType.SWORD, material)
if (!swordItem.isEmpty()) {
event.recipes.tfc.heating(swordItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_sword`)
}
let swordHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadSword, material, 1)
if (!swordHeadItem.isEmpty()) {
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(swordHeadItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.id(`tfc:heating/metal/${material.getName()}_sword_blade`)
// Крафт оголовья
event.recipes.tfc.anvil(swordHeadItem, doubleIngotItem, ['punch_last', 'bend_not_last', 'draw_not_last'])
.tier(tfcProperty.getTier())
.bonus(true)
.id(`tfc:anvil/${material.getName()}_sword_blade`)
// Металл + Форма -> Оголовье
if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
event.recipes.tfc.casting(swordHeadItem, 'tfc:ceramic/sword_blade_mold', Fluid.of(outputMaterial.getFluid(), 288), 1)
.id(`tfc:casting/${material.getName()}_sword_blade`)
event.recipes.create.filling(
Item.of('tfc:ceramic/sword_blade_mold', getFillingNBT(outputMaterial, 288)),
[
Fluid.of(outputMaterial.getFluid(), 288),
Item.of('tfc:ceramic/sword_blade_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_sword_blade`)
}
}
//#endregion
//#region Дубина
// Декрафт инструмента в жидкость
event.recipes.tfc.heating(`tfc:metal/mace/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_mace`)
// Металл + Форма -> Оголовье
if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
event.recipes.tfc.casting(`tfc:metal/mace_head/${material.getName()}`, 'tfc:ceramic/mace_head_mold', Fluid.of(outputMaterial.getFluid(), 288), 1)
.id(`tfc:casting/${material.getName()}_mace_head`)
event.recipes.create.filling(
Item.of('tfc:ceramic/mace_head_mold', getFillingNBT(outputMaterial, 288)),
[
Fluid.of(outputMaterial.getFluid(), 288),
Item.of('tfc:ceramic/mace_head_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_mace_head`)
}
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(`tfc:metal/mace_head/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.id(`tfc:heating/metal/${material.getName()}_mace_head`)
//#endregion
//#region Мясницкий нож
// Декрафт инструмента в жидкость
let butcheryKnifeItem = ToolHelper.get(GTToolType.BUTCHERY_KNIFE, material)
if (!butcheryKnifeItem.isEmpty()) {
event.recipes.tfc.heating(butcheryKnifeItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_butchery_knife`)
}
let butcheryKnifeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadKnife, material, 1)
if (!butcheryKnifeHeadItem.isEmpty()) {
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(butcheryKnifeHeadItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_knife_butchery_head`)
// Крафт оголовья
event.recipes.tfc.anvil(butcheryKnifeHeadItem, `#forge:ingots/${material.getName()}`, ['punch_last', 'bend_not_last', 'bend_not_last'])
.tier(tfcProperty.getTier())
.bonus(true)
.id(`tfc:anvil/${material.getName()}_knife_butchery_head`)
}
//#endregion
//#region Молот шахтера
// Декрафт инструмента в жидкость
let miningHammerItem = ToolHelper.get(GTToolType.MINING_HAMMER, material)
if (!miningHammerItem.isEmpty()) {
event.recipes.tfc.heating(miningHammerItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_mining_hammer`)
}
let miningHammerHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadMiningHammer, material, 1)
if (!miningHammerHeadItem.isEmpty()) {
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(miningHammerHeadItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.id(`tfc:heating/metal/${material.getName()}_mining_hammer_head`)
// Крафт оголовья
event.recipes.tfc.anvil(miningHammerHeadItem, doubleIngotItem, ['punch_last', 'shrink_not_last'])
.tier(tfcProperty.getTier())
.bonus(true)
.id(`tfc:anvil/${material.getName()}_mining_hammer_head`)
}
//#endregion
//#region Большая лопата
// Декрафт инструмента в жидкость
let spadeItem = ToolHelper.get(GTToolType.SPADE, material)
if (!spadeItem.isEmpty()) {
event.recipes.tfc.heating(spadeItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_spade`)
}
let spadeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadSpade, material, 1)
if (!spadeHeadItem.isEmpty()) {
// Крафт оголовья
event.recipes.tfc.anvil(spadeHeadItem, doubleIngotItem, ['punch_last', 'hit_not_last'])
.tier(tfcProperty.getTier())
.bonus(true)
.id(`tfc:anvil/${material.getName()}_spade_head`)
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(spadeHeadItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.id(`tfc:heating/metal/${material.getName()}_spade_head`)
}
//#endregion
}
}
// Rods
let rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1)
if (!rodItem.isEmpty()) {
// Декрафт стержня в жидкость
event.recipes.tfc.heating(rodItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 72))
.id(`tfc:heating/metal/${material.getName()}_rod`)
// Слиток -> 2 Стержня
event.recipes.tfc.anvil(rodItem.withCount(2), ingotItem, ['bend_last', 'draw_second_last', 'draw_third_last'])
.tier(tfcProperty.getTier())
.id(`tfc:anvil/${material.getName()}_rod`)
// Long Rods
let longRodItem = ChemicalHelper.get(TagPrefix.rodLong, material, 1)
if (!longRodItem.isEmpty()) {
// Декрафт длинного стержня в жидкость
event.recipes.tfc.heating(longRodItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_long_rod`)
// Стержни -> Длинный стержень
event.recipes.tfc.welding(longRodItem, rodItem, rodItem)
.tier(tfcProperty.getTier())
.id(`tfc:anvil/${material.getName()}_long_rod`)
}
// Bolt
let boltItem = ChemicalHelper.get(TagPrefix.bolt, material, 1)
if (!boltItem.isEmpty()) {
// Болт -> Металл
event.recipes.tfc.heating(boltItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 18))
.id(`tfc:heating/metal/${material.getName()}_bolt`)
// Стержень -> Болт
event.recipes.tfc.anvil(boltItem.withCount(2), rodItem, ['punch_last', 'draw_second_last', 'draw_third_last'])
.tier(tfcProperty.getTier())
.id(`tfc:anvil/${material.getName()}_bolt`)
}
// Screw
let screwItem = ChemicalHelper.get(TagPrefix.screw, material, 1)
if (!screwItem.isEmpty()) {
// Винт -> Металл
event.recipes.tfc.heating(screwItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 16))
.id(`tfc:heating/metal/${material.getName()}_screw`)
// Стержень -> Винт
event.recipes.tfc.anvil(screwItem, rodItem, ['punch_last', 'punch_second_last', 'shrink_third_last'])
.tier(tfcProperty.getTier())
.id(`tfc:anvil/${material.getName()}_screw`)
}
let ringItem = ChemicalHelper.get(TagPrefix.ring, material, 1)
if (!ringItem.isEmpty()) {
// Кольцо -> Металл
event.recipes.tfc.heating(ringItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 36))
.id(`tfc:heating/metal/${material.getName()}_ring`)
// Стержень -> Кольцо
event.recipes.tfc.anvil(ringItem, rodItem, ['hit_last', 'hit_second_last', 'hit_third_last'])
.tier(tfcProperty.getTier())
.id(`tfc:anvil/${material.getName()}_ring`)
}
}
// Tools (From Ingot)
if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) {
//#region Кирка
// Крафт инструмента
event.remove({ id: `tfc:crafting/metal/pickaxe/${material.getName()}` })
// Декрафт инструмента в жидкость
let pickaxeItem = ToolHelper.get(GTToolType.PICKAXE, material)
if (!pickaxeItem.isEmpty()) {
event.recipes.tfc.heating(`gtceu:${material.getName()}_pickaxe`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_pickaxe`)
}
let pickaxeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadPickaxe, material, 1)
if (!pickaxeHeadItem.isEmpty()) {
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(pickaxeHeadItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_pickaxe_head`)
// Крафт оголовья
event.recipes.tfc.anvil(pickaxeHeadItem, ingotItem, ['punch_last', 'bend_not_last', 'draw_not_last'])
.tier(tfcProperty.getTier())
.bonus(true)
.id(`tfc:anvil/${material.getName()}_pickaxe_head`)
// Металл + Форма -> Оголовье
if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
event.recipes.tfc.casting(pickaxeHeadItem, 'tfc:ceramic/pickaxe_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
.id(`tfc:casting/${material.getName()}_pickaxe_head`)
event.recipes.create.filling(
Item.of('tfc:ceramic/pickaxe_head_mold', getFillingNBT(outputMaterial, 144)),
[
Fluid.of(outputMaterial.getFluid(), 144),
Item.of('tfc:ceramic/pickaxe_head_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_pickaxe_head`)
}
}
//#endregion
// #region Mattock
event.recipes.tfc.heating(`rnr:metal/mattock/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`rnr:heating/metal/${material.getName()}_mattock`)
event.recipes.tfc.heating(`rnr:metal/mattock_head/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`rnr:heating/metal/${material.getName()}_mattock_head`)
//#endregion
//#region Топор
// Крафт инструмента
event.remove({ id: `tfc:crafting/metal/axe/${material.getName()}` })
// Декрафт инструмента в жидкость
let axeItem = ToolHelper.get(GTToolType.AXE, material)
if (!axeItem.isEmpty()) {
event.recipes.tfc.heating(axeItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_axe`)
}
let axeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadAxe, material, 1)
if (!axeHeadItem.isEmpty()) {
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(axeHeadItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_axe_head`)
// Крафт оголовья
event.recipes.tfc.anvil(axeHeadItem, ingotItem, ['punch_last', 'hit_second_last', 'upset_third_last'])
.tier(tfcProperty.getTier())
.bonus(true)
.id(`tfc:anvil/${material.getName()}_axe_head`)
// Металл + Форма -> Оголовье
if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
event.recipes.tfc.casting(axeHeadItem, 'tfc:ceramic/axe_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
.id(`tfc:casting/${material.getName()}_axe_head`)
event.recipes.create.filling(
Item.of('tfc:ceramic/axe_head_mold', getFillingNBT(outputMaterial, 144)),
[
Fluid.of(outputMaterial.getFluid(), 144),
Item.of('tfc:ceramic/axe_head_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_axe_head`)
}
}
//#endregion
//#region Лопата
// Крафт инструмента
event.remove({ id: `tfc:crafting/metal/shovel/${material.getName()}` })
// Декрафт инструмента в жидкость
let shovelItem = ToolHelper.get(GTToolType.SHOVEL, material)
if (!shovelItem.isEmpty()) {
event.recipes.tfc.heating(shovelItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_shovel`)
}
let shovelHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadShovel, material, 1)
if (!shovelHeadItem.isEmpty()) {
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(shovelHeadItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_shovel_head`)
// Крафт оголовья
event.recipes.tfc.anvil(shovelHeadItem, ingotItem, ['punch_last', 'hit_not_last'])
.tier(tfcProperty.getTier())
.bonus(true)
.id(`tfc:anvil/${material.getName()}_shovel_head`)
// Металл + Форма -> Оголовье
if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
event.recipes.tfc.casting(shovelHeadItem, 'tfc:ceramic/shovel_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
.id(`tfc:casting/${material.getName()}_shovel_head`)
event.recipes.create.filling(
Item.of('tfc:ceramic/shovel_head_mold', getFillingNBT(outputMaterial, 144)),
[
Fluid.of(outputMaterial.getFluid(), 144),
Item.of('tfc:ceramic/shovel_head_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_shovel_head_mold`)
}
}
//#endregion
//#region Мотыга
// Крафт инструмента
event.remove({ id: `tfc:crafting/metal/hoe/${material.getName()}` })
// Декрафт инструмента в жидкость
let hoeItem = ToolHelper.get(GTToolType.HOE, material)
if (!hoeItem.isEmpty()) {
event.recipes.tfc.heating(hoeItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_hoe`)
}
let hoeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadHoe, material, 1)
if (!hoeHeadItem.isEmpty()) {
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(hoeHeadItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_hoe_head`)
// Крафт оголовья
event.recipes.tfc.anvil(hoeHeadItem, ingotItem, ['punch_last', 'hit_not_last', 'bend_not_last'])
.tier(tfcProperty.getTier())
.bonus(true)
.id(`tfc:anvil/${material.getName()}_hoe_head`)
// Металл + Форма -> Оголовье
if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
event.recipes.tfc.casting(hoeHeadItem, 'tfc:ceramic/hoe_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
.id(`tfc:casting/${material.getName()}_hoe_head`)
event.recipes.create.filling(
Item.of('tfc:ceramic/hoe_head_mold', getFillingNBT(outputMaterial, 144)),
[
Fluid.of(outputMaterial.getFluid(), 144),
Item.of('tfc:ceramic/hoe_head_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_hoe_head_mold`)
}
}
//#endregion
//#region Молот
// Крафт инструмента
event.remove({ id: `tfc:crafting/metal/hammer/${material.getName()}` })
// Декрафт инструмента в жидкость
let hammerItem = ToolHelper.get(GTToolType.HARD_HAMMER, material)
if (!hammerItem.isEmpty()) {
event.recipes.tfc.heating(hammerItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_hammer`)
}
let hammerHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadHammer, material, 1)
if (!hammerHeadItem.isEmpty()) {
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(hammerHeadItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_hammer_head`)
// Крафт оголовья
event.recipes.tfc.anvil(hammerHeadItem, ingotItem, ['punch_last', 'shrink_not_last'])
.tier(tfcProperty.getTier())
.bonus(true)
.id(`tfc:anvil/${material.getName()}_hammer_head`)
// Металл + Форма -> Оголовье
if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
event.recipes.tfc.casting(hammerHeadItem, 'tfc:ceramic/hammer_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
.id(`tfc:casting/${material.getName()}_hammer_head`)
event.recipes.create.filling(
Item.of('tfc:ceramic/hammer_head_mold', getFillingNBT(outputMaterial, 144)),
[
Fluid.of(outputMaterial.getFluid(), 144),
Item.of('tfc:ceramic/hammer_head_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_hammer_head_mold`)
}
}
//#endregion
//#region Пила
// Крафт инструмента
event.remove({ id: `tfc:crafting/metal/saw/${material.getName()}` })
// Декрафт инструмента в жидкость
let sawItem = ToolHelper.get(GTToolType.SAW, material)
if (!sawItem.isEmpty()) {
event.recipes.tfc.heating(sawItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_saw`)
}
let sawHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadSaw, material, 1)
if (!sawHeadItem.isEmpty()) {
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(sawHeadItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_saw_blade`)
// Крафт оголовья
event.recipes.tfc.anvil(sawHeadItem, ingotItem, ['hit_last', 'hit_second_last'])
.tier(tfcProperty.getTier())
.bonus(true)
.id(`tfc:anvil/${material.getName()}_saw_blade`)
// Металл + Форма -> Оголовье
if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
event.recipes.tfc.casting(sawHeadItem, 'tfc:ceramic/saw_blade_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
.id(`tfc:casting/${material.getName()}_saw_blade`)
event.recipes.create.filling(
Item.of('tfc:ceramic/saw_blade_mold', getFillingNBT(outputMaterial, 144)),
[
Fluid.of(outputMaterial.getFluid(), 144),
Item.of('tfc:ceramic/saw_blade_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_saw_blade_mold`)
}
}
//#endregion
//#region Коса
// Крафт инструмента
event.remove({ id: `tfc:crafting/metal/scythe/${material.getName()}` })
// Декрафт инструмента в жидкость
let scytheItem = ToolHelper.get(GTToolType.SCYTHE, material)
if (!scytheItem.isEmpty()) {
event.recipes.tfc.heating(scytheItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_scythe`)
}
let scytheHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadScythe, material, 1)
if (!scytheHeadItem.isEmpty()) {
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(scytheHeadItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_scythe_blade`)
// Крафт оголовья
event.recipes.tfc.anvil(scytheHeadItem, ingotItem, ['punch_last', 'bend_not_last', 'draw_not_last'])
.tier(tfcProperty.getTier())
.bonus(true)
.id(`tfc:anvil/${material.getName()}_scythe_blade`)
// Металл + Форма -> Оголовье
if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
event.recipes.tfc.casting(scytheHeadItem, 'tfc:ceramic/scythe_blade_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
.id(`tfc:casting/${material.getName()}_scythe_blade`)
event.recipes.create.filling(
Item.of('tfc:ceramic/scythe_blade_mold', getFillingNBT(outputMaterial, 144)),
[
Fluid.of(outputMaterial.getFluid(), 144),
Item.of('tfc:ceramic/scythe_blade_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_scythe_blade_mold`)
}
}
//#endregion
//#region Напильник
// Декрафт инструмента в жидкость
let fileItem = ToolHelper.get(GTToolType.FILE, material)
if (!fileItem.isEmpty()) {
event.recipes.tfc.heating(fileItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_file`)
}
let fileHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadFile, material, 1)
if (!fileHeadItem.isEmpty()) {
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(fileHeadItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_file_head`)
// Крафт оголовья
event.recipes.tfc.anvil(fileHeadItem, ingotItem, ['upset_last', 'bend_not_last', 'punch_not_last'])
.tier(tfcProperty.getTier())
.bonus(true)
.id(`tfc:anvil/${material.getName()}_file_head`)
}
//#endregion
//#region Нож
// Крафт инструмента
event.remove({ id: `tfc:crafting/metal/knife/${material.getName()}` })
// Декрафт инструмента в жидкость
let knifeItem = ToolHelper.get(GTToolType.KNIFE, material)
if (!knifeItem.isEmpty()) {
event.recipes.tfc.heating(knifeItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_knife`)
}
let knifeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadKnife, material, 1)
if (!knifeHeadItem.isEmpty()) {
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(knifeHeadItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_knife_blade`)
// Крафт оголовья
event.recipes.tfc.anvil(knifeHeadItem, ingotItem, ['punch_last', 'bend_not_last', 'draw_not_last'])
.tier(tfcProperty.getTier())
.bonus(true)
.id(`tfc:anvil/${material.getName()}_knife_blade`)
// Металл + Форма -> Оголовье
if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
event.recipes.tfc.casting(knifeHeadItem, 'tfc:ceramic/knife_blade_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
.id(`tfc:casting/${material.getName()}_knife_blade`)
event.recipes.create.filling(
Item.of('tfc:ceramic/knife_blade_mold', getFillingNBT(outputMaterial, 144)),
[
Fluid.of(outputMaterial.getFluid(), 144),
Item.of('tfc:ceramic/knife_blade_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_knife_blade_mold`)
}
//#region Ножницы
// Сварка оголовий
event.recipes.tfc.welding(`tfc:metal/shears/${material.getName()}`, knifeHeadItem, knifeHeadItem, tfcProperty.getTier())
.id(`tfc:welding/${material.getName()}_shears`)
// Декрафт инструмента в жидкость
event.recipes.tfc.heating(`tfc:metal/shears/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_shears`)
//#endregion
}
//#endregion
//#region Проспектор
// Декрафт инструмента в жидкость
event.recipes.tfc.heating(`tfc:metal/propick/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_propick`)
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(`tfc:metal/propick_head/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_propick_head`)
// Металл + Форма -> Оголовье
if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
event.recipes.tfc.casting(`tfc:metal/propick_head/${material.getName()}`, 'tfc:ceramic/propick_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
.id(`tfc:casting/${material.getName()}_propick_head`)
event.recipes.create.filling(
Item.of('tfc:ceramic/propick_head_mold', getFillingNBT(outputMaterial, 144)),
[
Fluid.of(outputMaterial.getFluid(), 144),
Item.of('tfc:ceramic/propick_head_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_propick_head_mold`)
}
//#endregion
//#region Стамеска
// Декрафт инструмента в жидкость
event.recipes.tfc.heating(`tfc:metal/chisel/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_chisel`)
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(`tfc:metal/chisel_head/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_chisel_head`)
// Металл + Форма -> Оголовье
if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
event.recipes.tfc.casting(`tfc:metal/chisel_head/${material.getName()}`, 'tfc:ceramic/chisel_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
.id(`tfc:casting/${material.getName()}_chisel_head`)
event.recipes.create.filling(
Item.of('tfc:ceramic/chisel_head_mold', getFillingNBT(outputMaterial, 144)),
[
Fluid.of(outputMaterial.getFluid(), 144),
Item.of('tfc:ceramic/chisel_head_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_chisel_head_mold`)
}
//#endregion
//#region Копье
// Декрафт инструмента в жидкость
event.recipes.tfc.heating(`tfc:metal/javelin/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_javelin`)
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(`tfc:metal/javelin_head/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_javelin_head`)
// Металл + Форма -> Оголовье
if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
event.recipes.tfc.casting(`tfc:metal/javelin_head/${material.getName()}`, 'tfc:ceramic/javelin_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
.id(`tfc:casting/${material.getName()}_javelin_head`)
event.recipes.create.filling(
Item.of('tfc:ceramic/javelin_head_mold', getFillingNBT(outputMaterial, 144)),
[
Fluid.of(outputMaterial.getFluid(), 144),
Item.of('tfc:ceramic/javelin_head_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_javelin_head_mold`)
}
//#endregion
}
}
// Blocks
let blockItem = ChemicalHelper.get(TagPrefix.block, material, 1)
if (!blockItem.isEmpty()) {
// Декрафт блока в жидкость
event.recipes.tfc.heating(`#forge:storage_blocks/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 1296))
.id(`tfc:heating/metal/${material.getName()}_storage_block`)
}
// Anvils, Lamps, Trapdors, Chains
if (material.hasFlag(TFGMaterialFlags.HAS_TFC_UTILITY)) {
// Декрафт незавершенной лампы в жидкость
event.recipes.tfc.heating(`tfc:metal/unfinished_lamp/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_unfinished_lamp`)
// Декрафт лампы в жидкость
event.recipes.tfc.heating(`tfc:metal/lamp/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_lamp`)
// Декрафт люка в жидкость
event.recipes.tfc.heating(`tfc:metal/trapdoor/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_trapdoor`)
let plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1);
// Люк
event.recipes.tfc.anvil(`tfc:metal/trapdoor/${material.getName()}`, plateItem, ['bend_last', 'draw_second_last', 'draw_third_last'])
.tier(tfcProperty.getTier())
.id(`tfc:anvil/${material.getName()}_trapdoor`)
// Декрафт решетки в жидкость
event.recipes.tfc.heating(`tfc:metal/bars/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 18))
.id(`tfc:heating/metal/${material.getName()}_bars`)
// 8x Решетка
event.recipes.tfc.anvil(`8x tfc:metal/bars/${material.getName()}`, plateItem, ['upset_last', 'punch_second_last', 'punch_third_last'])
.tier(tfcProperty.getTier())
.id(`tfc:anvil/${material.getName()}_bars`)
// 16x Решетка
event.recipes.tfc.anvil(`16x tfc:metal/bars/${material.getName()}`, ChemicalHelper.get(TagPrefix.plateDouble, material, 1), ['upset_last', 'punch_second_last', 'punch_third_last'])
.tier(tfcProperty.getTier())
.id(`tfc:anvil/${material.getName()}_bars_double`)
// Декрафт цепи в жидкость
event.recipes.tfc.heating(`tfc:metal/chain/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 9))
.id(`tfc:heating/metal/${material.getName()}_chain`)
// Декрафт наковальни в жидкость
event.recipes.tfc.heating(`tfc:metal/anvil/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 2016))
.id(`tfc:heating/metal/${material.getName()}_anvil`)
}
//#region Щипцы
let tongsStack = Item.of(`tfchotornot:tongs/${material.getName()}`)
let tongPartStack = Item.of(`tfchotornot:tong_part/${material.getName()}`)
if (!tongsStack.isEmpty() && !tongPartStack.isEmpty()) {
// Ручка щипцов
event.recipes.tfc.heating(tongPartStack, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfchotornot:heating/tong_part/${material.getName()}`)
// Щипцы
event.recipes.tfc.heating(tongsStack, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.useDurability(true)
.id(`tfchotornot:heating/tongs/${material.getName()}`)
}
//#endregion
// Small TFC Ores
if (material.hasFlag(TFGMaterialFlags.HAS_SMALL_TFC_ORE)) {
// Workaround for limonite/bismuth
let materialName = material.getName();
if (materialName == "yellow_limonite") {
materialName = "limonite";
}
else if (materialName == "bismuth") {
materialName = "bismuthinite";
}
// Декрафт мелкого кусочка в жидкость
event.recipes.tfc.heating(`tfc:ore/small_${materialName}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 16))
.id(`tfc:heating/ore/small_${materialName}`)
}
// Small Native TFC Ores
if (material.hasFlag(TFGMaterialFlags.HAS_SMALL_NATIVE_TFC_ORE)) {
// Декрафт мелкого кусочка в жидкость
event.recipes.tfc.heating(`tfc:ore/small_native_${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 16))
.id(`tfc:heating/ore/small_native_${material.getName()}`)
}
// Any Dusts from GTCEu
if (material.hasProperty(PropertyKey.DUST)) {
// Декрафт мелкой пыли
let tinyDust = ChemicalHelper.get(TagPrefix.dustTiny, material, 1)
if (!tinyDust.isEmpty()) {
event.recipes.tfc.heating(tinyDust, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(16, tfcProperty.getPercentOfMaterial())))
.id(`tfg:heating/tiny_dust/${material.getName()}`)
}
// Декрафт средней пыли
let smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1)
if (!smallDust.isEmpty()) {
event.recipes.tfc.heating(smallDust, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(36, tfcProperty.getPercentOfMaterial())))
.id(`tfg:heating/small_dust/${material.getName()}`)
}
// Декрафт пыли
let dust = ChemicalHelper.get(TagPrefix.dust, material, 1)
if (!dust.isEmpty()) {
event.recipes.tfc.heating(dust, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(144, tfcProperty.getPercentOfMaterial())))
.id(`tfg:heating/dust/${material.getName()}`)
}
// Декрафт грязной пыли
let impureDust = ChemicalHelper.get(TagPrefix.dustImpure, material, 1)
if (!impureDust.isEmpty()) {
event.recipes.tfc.heating(impureDust, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(80, tfcProperty.getPercentOfMaterial())))
.id(`tfg:heating/impure_dust/${material.getName()}`)
}
// Декрафт очищенной пыли
let purifiedDust = ChemicalHelper.get(TagPrefix.dustPure, material, 1)
if (!purifiedDust.isEmpty()) {
event.recipes.tfc.heating(purifiedDust, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(120, tfcProperty.getPercentOfMaterial())))
.id(`tfg:heating/purified_dust/${material.getName()}`)
}
}
// Any Ores from GTCEu
if (material.hasProperty(PropertyKey.ORE)) {
// Декрафт ломанной руды
let crushedOre = ChemicalHelper.get(TagPrefix.crushed, material, 1)
if (!crushedOre.isEmpty()) {
event.recipes.tfc.heating(crushedOre, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(80, tfcProperty.getPercentOfMaterial())))
.id(`tfg:heating/crushed_ore/${material.getName()}`)
}
// Декрафт ломанной очищенной руды
let crushedPurifiedOre = ChemicalHelper.get(TagPrefix.crushedPurified, material, 1)
if (!crushedPurifiedOre.isEmpty()) {
event.recipes.tfc.heating(crushedPurifiedOre, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(100, tfcProperty.getPercentOfMaterial())))
.id(`tfg:heating/crushed_purified_ore/${material.getName()}`)
}
// Декрафт центрифугированной ломанной руды
let crushedRefinedOre = ChemicalHelper.get(TagPrefix.crushedRefined, material, 1)
if (!crushedRefinedOre.isEmpty()) {
event.recipes.tfc.heating(crushedRefinedOre, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(110, tfcProperty.getPercentOfMaterial())))
.id(`tfg:heating/crushed_refined_ore/${material.getName()}`)
}
// Декрафт богатого куска руды
let richRawOre = ChemicalHelper.get(TFGTagPrefix.richRawOre, material, 1)
if (!richRawOre.isEmpty()) {
event.recipes.tfc.heating(richRawOre, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(48, tfcProperty.getPercentOfMaterial())))
.id(`tfg:heating/rich_raw/${material.getName()}`)
}
// Декрафт нормального куска руды
let normalRawOre = ChemicalHelper.get(TagPrefix.rawOre, material, 1)
if (!normalRawOre.isEmpty()) {
event.recipes.tfc.heating(normalRawOre, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial())))
.id(`tfg:heating/raw/${material.getName()}`)
}
// Декрафт бедного куска руды
let poorRawOre = ChemicalHelper.get(TFGTagPrefix.poorRawOre, material, 1)
if (!poorRawOre.isEmpty()) {
event.recipes.tfc.heating(poorRawOre, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(24, tfcProperty.getPercentOfMaterial())))
.id(`tfg:heating/poor_raw/${material.getName()}`)
}
}
// Nuggets
let nuggetItem = ChemicalHelper.get(TagPrefix.nugget, material, 1)
if (!nuggetItem.isEmpty()) {
// Декрафт самородков пыли
event.recipes.tfc.heating(nuggetItem, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial())))
.id(`tfg:heating/nugget/${material.getName()}`)
}
})
}