* 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>
1278 lines
No EOL
51 KiB
JavaScript
1278 lines
No EOL
51 KiB
JavaScript
// 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()}`)
|
||
}
|
||
})
|
||
} |