neuralgia/kubejs/server_scripts/tfc/recipes.js
2024-02-10 13:35:31 +07:00

3066 lines
No EOL
138 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
const registerTFCRecipes = (event) => {
//#region Металлы
// Удаление рецептов руд TFC
event.remove({ id: /tfc:heating\/ore\/poor_*/ })
event.remove({ id: /tfc:heating\/ore\/normal_*/ })
event.remove({ id: /tfc:heating\/ore\/rich_*/ })
// Удаление рецептов блоков
event.remove({ id: /tfc:crafting\/metal\/block\/*/ })
event.remove({ id: /tfc:heating\/metal\/*_block/ })
// Удаление рецептов ступеней
event.remove({ id: /tfc:crafting\/metal\/block\/*_stairs/ })
event.remove({ id: /tfc:heating\/metal\/*_block_stairs/ })
// Удалание рецептов полублоков
event.remove({ id: /tfc:crafting\/metal\/block\/*_slab/ })
event.remove({ id: /tfc:heating\/metal\/*_block_slab/ })
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY)
if (tfcProperty != null) {
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`)
}
// 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
}
}
// 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`)
}
}
//#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.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.toolHeadButcheryKnife, 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(), 36))
.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(), 72))
.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(), 72))
.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`)
}
}
//#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`)
}
}
//#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`)
}
}
//#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`)
}
}
//#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`)
}
}
//#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`)
}
}
//#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`)
}
}
//#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`)
}
//#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`)
}
//#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`)
}
//#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`)
}
//#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()}_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`)
// Люк
event.recipes.tfc.anvil(`tfc:metal/trapdoor/${material.getName()}`, `gtceu:${material.getName()}_plate`, ['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()}`, `gtceu:${material.getName()}_plate`, ['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()}`, `gtceu:double_${material.getName()}_plate`, ['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`)
// Наковальня из слитков
event.recipes.gtceu.alloy_smelter(`ingots_to_${material.getName()}_anvil`)
.itemInputs(`14x #forge:ingots/${material.getName()}`)
.notConsumable('gtceu:anvil_casting_mold')
.itemOutputs(`tfc:metal/anvil/${material.getName()}`)
.duration(1680)
.EUt(16)
// Наковальня из жидкости
event.recipes.gtceu.fluid_solidifier(`solidify_${material.getName()}_anvil`)
.inputFluids(Fluid.of(outputMaterial.getFluid(), 2016))
.notConsumable('gtceu:anvil_casting_mold')
.itemOutputs(`tfc:metal/anvil/${material.getName()}`)
.duration(1680)
.EUt(16)
}
// Small TFC Ores
if (material.hasFlag(TFGMaterialFlags.HAS_SMALL_TFC_ORE)) {
// Декрафт мелкого кусочка в жидкость
event.recipes.tfc.heating(`tfc:ore/small_${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 16))
.id(`tfc:heating/ore/small_${material.getName()}`)
}
// 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.calcAmountOfMetal(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.calcAmountOfMetal(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.calcAmountOfMetal(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.calcAmountOfMetal(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.calcAmountOfMetal(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.calcAmountOfMetal(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.calcAmountOfMetal(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.calcAmountOfMetal(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()}`)
}
}
})
//#region Рецепты для новых сплавов
event.recipes.tfc.alloy('tfg:red_alloy', [
TFC.alloyPart('tfg:redstone', 0.15, 0.25),
TFC.alloyPart('tfc:copper', 0.75, 0.85)
]).id('tfg:alloy/red_alloy')
event.recipes.tfc.alloy('tfg:tin_alloy', [
TFC.alloyPart('tfc:tin', 0.45, 0.55),
TFC.alloyPart('tfc:cast_iron', 0.45, 0.55)
]).id('tfg:alloy/tin_alloy')
//#endregion
//#region Удаление рецептов для предметов из Cast Iron
// Блок
event.remove({ id: `tfc:crafting/metal/block/cast_iron` })
event.remove({ id: `tfc:heating/metal/cast_iron_block` })
// Ступень
event.remove({ id: `tfc:crafting/metal/block/cast_iron_stairs` })
event.remove({ id: `tfc:heating/metal/cast_iron_block_stairs` })
// Полублок
event.remove({ id: `tfc:crafting/metal/block/cast_iron_slab` })
event.remove({ id: `tfc:heating/metal/cast_iron_block_slab` })
// Слиток
event.remove({ id: `tfc:casting/cast_iron_ingot` })
event.remove({ id: `tfc:casting/cast_iron_fire_ingot` })
event.remove({ id: `tfc:heating/metal/cast_iron_ingot` })
event.remove({ id: `tfc:welding/cast_iron_double_ingot` })
event.remove({ id: `tfc:anvil/cast_iron_rod` })
// Двойной слиток
event.remove({ id: `tfc:heating/metal/cast_iron_double_ingot` })
event.remove({ id: `tfc:anvil/cast_iron_sheet` })
// Пластина
event.remove({ id: `tfc:heating/metal/cast_iron_sheet` })
event.remove({ id: `tfc:welding/cast_iron_double_sheet` })
// Двойная пластина
event.remove({ id: `tfc:heating/metal/cast_iron_double_sheet` })
// Стержень
event.remove({ id: `tfc:heating/metal/cast_iron_rod` })
// Блок
event.remove({ id: `tfc:crafting/metal/block/cast_iron` })
event.remove({ id: `tfc:heating/metal/cast_iron_block` })
// Ступенька
event.remove({ id: `tfc:crafting/metal/block/cast_iron_stairs` })
event.remove({ id: `tfc:heating/metal/cast_iron_block_stairs` })
// Полублок
event.remove({ id: `tfc:crafting/metal/block/cast_iron_slab` })
event.remove({ id: `tfc:heating/metal/cast_iron_block_slab` })
//#endregion
//#region Фикс рецептов колоколов
//#region Из золота
event.recipes.tfc.casting(`minecraft:bell`, 'tfc:ceramic/bell_mold', Fluid.of('gtceu:gold', 144), 1)
.id(`tfc:casting/gold_bell`)
event.recipes.tfc.heating(`minecraft:bell`, 1060)
.resultFluid(Fluid.of('gtceu:gold', 144))
.id(`tfc:heating/gold_bell`)
//#endregion
//#region Из латуни
event.recipes.tfc.casting(`tfc:brass_bell`, 'tfc:ceramic/bell_mold', Fluid.of('gtceu:brass', 144), 1)
.id(`tfc:casting/brass_bell`)
event.recipes.tfc.heating(`tfc:brass_bell`, 930)
.resultFluid(Fluid.of('gtceu:brass', 144))
.id(`tfc:heating/brass_bell`)
//#endregion
//#region Из бронзы
event.recipes.tfc.casting(`tfc:bronze_bell`, 'tfc:ceramic/bell_mold', Fluid.of('gtceu:bronze', 144), 1)
.id(`tfc:casting/bronze_bell`)
event.recipes.tfc.heating(`tfc:bronze_bell`, 930)
.resultFluid(Fluid.of('gtceu:bronze', 144))
.id(`tfc:heating/bronze_bell`)
//#endregion
//#endregion
//#region Рецепты ковки TFC слитков в GT машинах
// Сырая крица -> Укрепленная крица
event.recipes.gtceu.forge_hammer('tfg/refined_bloom')
.itemInputs('tfc:raw_iron_bloom')
.itemOutputs('tfc:refined_iron_bloom')
.duration(1000)
.EUt(4)
// Укрепленная крица -> Слиток кованного железа
event.recipes.gtceu.forge_hammer('tfg/wrought_iron_ingot')
.itemInputs('tfc:refined_iron_bloom')
.itemOutputs('gtceu:wrought_iron_ingot')
.duration(1000)
.EUt(4)
// Чугун -> Высокоуглеродная сталь
event.recipes.gtceu.forge_hammer('tfg/high_carbon_steel')
.itemInputs('tfc:metal/ingot/pig_iron')
.itemOutputs('tfc:metal/ingot/high_carbon_steel')
.duration(1000)
.EUt(4)
// Высокоуглеродная сталь -> Cталь
event.recipes.gtceu.forge_hammer('tfg/steel')
.itemInputs('tfc:metal/ingot/high_carbon_steel')
.itemOutputs('gtceu:steel_ingot')
.duration(1000)
.EUt(4)
// Высокоуглеродная черная сталь -> черная сталь
event.recipes.gtceu.forge_hammer('tfg/black_steel')
.itemInputs('tfc:metal/ingot/high_carbon_black_steel')
.itemOutputs('gtceu:black_steel_ingot')
.duration(1000)
.EUt(4)
// Высокоуглеродная синяя сталь -> синяя сталь
event.recipes.gtceu.forge_hammer('tfg/blue_steel')
.itemInputs('tfc:metal/ingot/high_carbon_blue_steel')
.itemOutputs('gtceu:blue_steel_ingot')
.duration(1000)
.EUt(4)
// Высокоуглеродная красная сталь -> красная сталь
event.recipes.gtceu.forge_hammer('tfg/red_steel')
.itemInputs('tfc:metal/ingot/high_carbon_red_steel')
.itemOutputs('gtceu:red_steel_ingot')
.duration(1000)
.EUt(4)
// Слабая сталь + Чугун -> Высокоуглеродная черная сталь
event.recipes.gtceu.alloy_smelter('tfg/high_carbon_black_steel')
.itemInputs('tfc:metal/ingot/weak_steel', 'tfc:metal/ingot/pig_iron')
.itemOutputs('tfc:metal/ingot/high_carbon_black_steel')
.duration(1600)
.EUt(4)
// Слабая синяя сталь + Черная сталь -> Высокоуглеродная синяя сталь
event.recipes.gtceu.alloy_smelter('tfg/high_carbon_blue_steel')
.itemInputs('tfc:metal/ingot/weak_blue_steel', 'gtceu:black_steel_ingot')
.itemOutputs('tfc:metal/ingot/high_carbon_blue_steel')
.duration(1600)
.EUt(4)
// Слабая красная сталь + Черная сталь -> Высокоуглеродная красная сталь
event.recipes.gtceu.alloy_smelter('tfg/high_carbon_red_steel')
.itemInputs('tfc:metal/ingot/weak_red_steel', 'gtceu:black_steel_ingot')
.itemOutputs('tfc:metal/ingot/high_carbon_red_steel')
.duration(1600)
.EUt(4)
//#endregion
//#region Фикс рецептов металлических предметов
// Рецепт Jacks
event.recipes.tfc.welding('tfc:jacks', '#forge:rods/brass', '#forge:plates/brass', 2)
.id(`tfc:welding/jacks`)
// Декрафт Jacks
event.recipes.tfc.heating('tfc:jacks', 930)
.resultFluid(Fluid.of('gtceu:brass', 144))
.id(`tfc:heating/jacks`)
// Декрафт Gem Saw
event.recipes.tfc.heating('tfc:gem_saw', 930)
.resultFluid(Fluid.of('gtceu:brass', 72))
.id(`tfc:heating/gem_saw`)
// Декрафт сырой крицы в жидкость
event.recipes.tfc.heating(`tfc:raw_iron_bloom`, 1535)
.resultFluid(Fluid.of('gtceu:iron', 144))
.id(`tfc:heating/raw_bloom`)
// Декрафт укрепленной крицы в жидкость
event.recipes.tfc.heating(`tfc:refined_iron_bloom`, 1535)
.resultFluid(Fluid.of('gtceu:iron', 144))
.id(`tfc:heating/refined_bloom`)
// Гриль
event.recipes.tfc.heating('tfc:wrought_iron_grill', 1535)
.resultFluid(Fluid.of('gtceu:iron', 288))
.id(`tfc:heating/grill`)
// Ванильная дверь декрафт
event.recipes.tfc.heating('minecraft:iron_door', 1535)
.resultFluid(Fluid.of('gtceu:iron', 288))
.id(`tfc:heating/iron_door`)
// Ванильная дверь на наковальне
event.recipes.tfc.anvil('minecraft:iron_door', '#forge:plates/wrought_iron', ['hit_last', 'draw_not_last', 'punch_not_last'])
.tier(3)
.id(`tfc:anvil/iron_door`)
// Bloom -> Wrought Iron Ingot
event.recipes.tfc.anvil('gtceu:wrought_iron_ingot', 'tfc:refined_iron_bloom', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(2)
.id('tfc:anvil/wrought_iron_from_bloom')
// High Carbon Steel Ingot -> Steel Ingot
event.recipes.tfc.anvil('gtceu:steel_ingot', 'tfc:metal/ingot/high_carbon_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(3)
.id('tfc:anvil/steel_ingot')
// High Carbon Black Steel Ingot -> Black Steel Ingot
event.recipes.tfc.anvil('gtceu:black_steel_ingot', 'tfc:metal/ingot/high_carbon_black_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(4)
.id('tfc:anvil/black_steel_ingot')
// High Carbon Red Steel Ingot -> Red Steel Ingot
event.recipes.tfc.anvil('gtceu:red_steel_ingot', 'tfc:metal/ingot/high_carbon_red_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(5)
.id('tfc:anvil/red_steel_ingot')
// High Carbon Blue Steel Ingot -> Blue Steel Ingot
event.recipes.tfc.anvil('gtceu:blue_steel_ingot', 'tfc:metal/ingot/high_carbon_blue_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(5)
.id('tfc:anvil/blue_steel_ingot')
// Cast iron -> Raw Iron Bloom
event.recipes.tfc.bloomery('tfc:raw_iron_bloom', 'minecraft:charcoal', Fluid.of('gtceu:iron', 144), 15000)
.id('tfc:bloomery/raw_iron_bloom')
// Cast Iron -> Pig Iron
event.recipes.tfc.blast_furnace(Fluid.of('gtceu:pig_iron', 1), '#tfc:flux', Fluid.of('gtceu:iron', 1))
.id('tfc:blast_furnace/pig_iron')
//#endregion
//#endregion
//#region Земля
// Loam + Silt -> Silty Loam (Миксер)
event.recipes.gtceu.mixer('silty_loam_dirt')
.itemInputs('tfc:dirt/loam', 'tfc:dirt/silt')
.itemOutputs('tfc:dirt/silty_loam')
.duration(1600)
.EUt(12)
// Silty Loam + Sticks -> Rooted Silty Loam (Миксер)
event.recipes.gtceu.mixer('rooted_silty_loam_dirt')
.itemInputs('tfc:dirt/silty_loam', '#tfc:can_be_lit_on_torch')
.itemOutputs('tfc:rooted_dirt/silty_loam')
.duration(1600)
.EUt(12)
// Loam + Sand -> Sandy Loam (Миксер)
event.recipes.gtceu.mixer('sandy_loam_dirt')
.itemInputs('tfc:dirt/loam', '#forge:sand')
.itemOutputs('tfc:dirt/sandy_loam')
.duration(1600)
.EUt(12)
// Loam + Silt -> Silty Loam (Create Миксер)
event.recipes.gtceu.create_mixer('silty_loam_dirt')
.itemInputs('tfc:dirt/loam', 'tfc:dirt/silt')
.itemOutputs('tfc:dirt/silty_loam')
.duration(1600)
.EUt(12)
.rpm(60)
// Silty Loam + Sticks -> Rooted Silty Loam (Create Миксер)
event.recipes.gtceu.create_mixer('rooted_silty_loam_dirt')
.itemInputs('tfc:dirt/silty_loam', '#tfc:can_be_lit_on_torch')
.itemOutputs('tfc:rooted_dirt/silty_loam')
.duration(1600)
.EUt(12)
.rpm(60)
// Loam + Sand -> Sandy Loam (Create Миксер)
event.recipes.gtceu.create_mixer('sandy_loam_dirt')
.itemInputs('tfc:dirt/loam', '#forge:sand')
.itemOutputs('tfc:dirt/sandy_loam')
.duration(1600)
.EUt(12)
.rpm(60)
global.TFC_MUD_TYPES.forEach(mud => {
event.smelting(`tfc:dirt/${mud}`, `tfc:mud/${mud}`)
.id(`tfg:smelting/${mud}_mud_to_grass`)
})
//#endregion
//#region Грязь
global.TFC_MUD_TYPES.forEach(mud => {
// Dirt -> Mud
event.recipes.gtceu.mixer(`${mud}_grass_to_mud`)
.itemInputs(`tfc:dirt/${mud}`)
.inputFluids(Fluid.of('minecraft:water', 100))
.itemOutputs(`tfc:mud/${mud}`)
.duration(200)
.EUt(16)
})
//#endregion
//#region Грязь кирпичи
global.TFC_MUD_TYPES.forEach(mud => {
// Влажный кирпич -> Кирпич
event.smelting(`tfc:mud_brick/${mud}`, `tfc:drying_bricks/${mud}`)
.id(`tfg:smelting/${mud}_drying_brick_to_brick`)
event.custom({
type: "firmalife:drying",
ingredient: {
item: `tfc:drying_bricks/${mud}`
},
result: {
item: `tfc:mud_brick/${mud}`
}
}).id(`tfg:drying/${mud}_drying_brick_to_brick`)
// Кирпич -> Блок кирпичей
event.shaped(`tfc:mud_bricks/${mud}`, [
'ABA',
'BAB',
'ABA'
], {
A: `tfc:mud_brick/${mud}`,
B: '#tfc:mortar'
}).id(`tfc:crafting/soil/${mud}_mud_bricks`)
event.recipes.gtceu.assembler(`mud_bricks_${mud}`)
.itemInputs(`5x tfc:mud_brick/${mud}`)
.inputFluids(Fluid.of('gtceu:concrete', 72))
.itemOutputs(`4x tfc:mud_bricks/${mud}`)
.duration(50)
.EUt(2)
// Блок кирпичей -> Ступени
event.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_stairs` })
event.stonecutting(`tfc:mud_bricks/${mud}_stairs`, `tfc:mud_bricks/${mud}`)
.id(`tfc:stonecutting/soil/${mud}_mud_bricks_stairs`)
generateCutterRecipe(event, `tfc:mud_bricks/${mud}`, 0, `tfc:mud_bricks/${mud}_stairs`, 100, 8, `${mud}_mud_bricks_to_stairs`)
// Блок кирпичей -> Плиты
event.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_slab` })
event.stonecutting(`2x tfc:mud_bricks/${mud}_slab`, `tfc:mud_bricks/${mud}`)
.id(`tfc:stonecutting/soil/${mud}_mud_bricks_slab`)
generateCutterRecipe(event, `tfc:mud_bricks/${mud}`, 1, `2x tfc:mud_bricks/${mud}_slab`, 100, 8, `${mud}_mud_bricks_to_slab`)
// Блок кирпичей -> Стена
event.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_wall` })
event.stonecutting(`tfc:mud_bricks/${mud}_wall`, `tfc:mud_bricks/${mud}`)
.id(`tfc:stonecutting/soil/${mud}_mud_bricks_wall`)
generateCutterRecipe(event, `tfc:mud_bricks/${mud}`, 2, `tfc:mud_bricks/${mud}_wall`, 100, 8, `${mud}_mud_bricks_to_wall`)
})
//#endregion
//#region Камень
global.TFC_STONE_TYPES.forEach(stone => {
let stoneMaterial = GTMaterials.get(stone);
let stoneDust = ChemicalHelper.get(TagPrefix.dust, stoneMaterial, 1)
// Кирпич (предмет)
event.recipes.gtceu.assembler(`tfg:tfc/${stone}_loose_to_brick`)
.itemInputs(`tfc:rock/loose/${stone}`)
.itemOutputs(`tfc:brick/${stone}`)
.duration(40)
.EUt(8)
//#region Сырой камень
// Сырой камень -> Сырой камень
event.recipes.gtceu.rock_breaker(`${stone}_raw`)
.notConsumable(`tfc:rock/raw/${stone}`)
.itemOutputs(`tfc:rock/raw/${stone}`)
.duration(16)
.EUt(7)
// Сырой камень -> Булыжник
event.recipes.gtceu.forge_hammer(`${stone}_raw_to_cobble`)
.itemInputs(`tfc:rock/raw/${stone}`)
.itemOutputs(`tfc:rock/cobble/${stone}`)
.duration(10)
.EUt(16)
// Сырой камень -> Ступени
event.remove({ id: `tfc:crafting/rock/${stone}_raw_stairs` })
generateCutterRecipe(event, `tfc:rock/raw/${stone}`, 0, [`tfc:rock/raw/${stone}_stairs`, stoneDust], 100, 8, `${stone}_raw_to_stairs`)
// Сырой камень -> Плиты
event.remove({ id: `tfc:crafting/rock/${stone}_raw_slab` })
generateCutterRecipe(event, `tfc:rock/raw/${stone}`, 1, [`2x tfc:rock/raw/${stone}_slab`, stoneDust], 100, 8, `${stone}_raw_to_slab`)
// Сырой камень -> Стена
event.remove({ id: `tfc:crafting/rock/${stone}_raw_wall` })
generateCutterRecipe(event, `tfc:rock/raw/${stone}`, 2, [`tfc:rock/raw/${stone}_wall`, stoneDust], 100, 8, `${stone}_raw_to_wall`)
// ? -> Сырая нажимная пластина
event.shaped(`tfc:rock/pressure_plate/${stone}`, [
'ABA',
'CDC',
'AEA'
], {
A: '#forge:screws/wrought_iron',
B: '#tfc:hammers',
C: `tfc:rock/raw/${stone}_slab`,
D: '#forge:springs',
E: '#forge:tools/screwdrivers'
}).id(`tfc:crafting/rock/${stone}_pressure_plate`)
event.recipes.gtceu.assembler(`${stone}_raw_pressure_plate`)
.itemInputs('#forge:springs', `2x tfc:rock/raw/${stone}_slab`)
.circuit(0)
.itemOutputs(`2x tfc:rock/pressure_plate/${stone}`)
.duration(50)
.EUt(2)
// ? -> Сырая кнопка
event.remove({ id: `tfc:crafting/rock/${stone}_button` })
generateCutterRecipe(event, `tfc:rock/pressure_plate/${stone}`, 0, `6x tfc:rock/button/${stone}`, 50, 2, `${stone}_raw_button`)
//#endregion
//#region Булыжник
// Булыжник -> Булыжник
event.recipes.gtceu.rock_breaker(`${stone}_cobble`)
.notConsumable(`tfc:rock/cobble/${stone}`)
.itemOutputs(`tfc:rock/cobble/${stone}`)
.duration(16)
.EUt(7)
// Булыжник -> Гравий
event.recipes.gtceu.forge_hammer(`${stone}_cobble_to_gravel`)
.itemInputs(`tfc:rock/cobble/${stone}`)
.itemOutputs(`tfc:rock/gravel/${stone}`)
.duration(10)
.EUt(16)
// Камни -> Булыжник
event.shaped(`tfc:rock/cobble/${stone}`, [
'ABA',
'BAB',
'ABA'
], {
A: `tfc:rock/loose/${stone}`,
B: '#tfc:mortar'
}).id(`tfc:crafting/rock/${stone}_loose_rocks_to_cobble`)
event.recipes.gtceu.assembler(`${stone}_loose_rocks_to_cobble`)
.itemInputs(`4x tfc:rock/loose/${stone}`)
.circuit(0)
.inputFluids(Fluid.of('gtceu:concrete', 72))
.itemOutputs(`tfc:rock/cobble/${stone}`)
.duration(50)
.EUt(2)
// Булыжник -> Ступени
event.remove({ id: `tfc:crafting/rock/${stone}_cobble_stairs` })
generateCutterRecipe(event, `tfc:rock/cobble/${stone}`, 0, [`tfc:rock/cobble/${stone}_stairs`, stoneDust], 100, 8, `${stone}_cobble_to_stairs`)
// Булыжник -> Плиты
event.remove({ id: `tfc:crafting/rock/${stone}_cobble_slab` })
generateCutterRecipe(event, `tfc:rock/cobble/${stone}`, 1, [`2x tfc:rock/cobble/${stone}_slab`, stoneDust], 100, 8, `${stone}_cobble_to_slab`)
// Булыжник -> Стена
event.remove({ id: `tfc:crafting/rock/${stone}_cobble_wall` })
generateCutterRecipe(event, `tfc:rock/cobble/${stone}`, 2, [`tfc:rock/cobble/${stone}_wall`, stoneDust], 100, 8, `${stone}_cobble_to_wall`)
//#endregion
//#region Гладкий
// Сырой камень -> Гладкий
event.recipes.gtceu.laser_engraver(`raw_${stone}_to_smooth`)
.itemInputs(`tfc:rock/raw/${stone}`)
.notConsumable('gtceu:glass_lens')
.itemOutputs(`tfc:rock/smooth/${stone}`)
.duration(32)
.EUt(100)
// Укрепленный сырой камень -> Гладкий
event.recipes.gtceu.laser_engraver(`hardened_${stone}_to_smooth`)
.itemInputs(`tfc:rock/hardened/${stone}`)
.notConsumable('gtceu:glass_lens')
.itemOutputs(`tfc:rock/smooth/${stone}`)
.duration(32)
.EUt(100)
// Булыжник -> Ступени
event.remove({ id: `tfc:crafting/rock/${stone}_smooth_stairs` })
generateCutterRecipe(event, `tfc:rock/smooth/${stone}`, 0, [`tfc:rock/smooth/${stone}_stairs`, stoneDust], 100, 8, `${stone}_smooth_to_stairs`)
// Булыжник -> Плиты
event.remove({ id: `tfc:crafting/rock/${stone}_smooth_slab` })
generateCutterRecipe(event, `tfc:rock/smooth/${stone}`, 1, [`2x tfc:rock/smooth/${stone}_slab`, stoneDust], 100, 8, `${stone}_smooth_to_slab`)
// Булыжник -> Стена
event.remove({ id: `tfc:crafting/rock/${stone}_smooth_wall` })
generateCutterRecipe(event, `tfc:rock/smooth/${stone}`, 2, [`tfc:rock/smooth/${stone}_wall`, stoneDust], 100, 8, `${stone}_smooth_to_wall`)
//#endregion
//#region Кирпич
// Кирпич -> Блок кирпичей
event.recipes.gtceu.assembler(`bricks_${stone}`)
.itemInputs(`5x tfc:brick/${stone}`)
.circuit(0)
.inputFluids(Fluid.of('gtceu:concrete', 72))
.itemOutputs(`4x tfc:rock/bricks/${stone}`)
.duration(50)
.EUt(2)
// Блок кирпичей -> Ступени
event.remove({ id: `tfc:crafting/rock/${stone}_bricks_stairs` })
generateCutterRecipe(event, `tfc:rock/bricks/${stone}`, 0, [`tfc:rock/bricks/${stone}_stairs`, stoneDust], 100, 8, `${stone}_bricks_to_stairs`)
// Блок кирпичей -> Плиты
event.remove({ id: `tfc:crafting/rock/${stone}_bricks_slab` })
generateCutterRecipe(event, `tfc:rock/bricks/${stone}`, 1, [`2x tfc:rock/bricks/${stone}_slab`, stoneDust], 100, 8, `${stone}_bricks_to_slab`)
// Блок кирпичей -> Стена
event.remove({ id: `tfc:crafting/rock/${stone}_bricks_wall` })
generateCutterRecipe(event, `tfc:rock/bricks/${stone}`, 2, [`tfc:rock/bricks/${stone}_wall`, stoneDust], 100, 8, `${stone}_bricks_to_wall`)
//#endregion
//#region Потрескавшийся кирпич
// Кирпич -> Потрескавшийся кирпич
event.recipes.gtceu.forge_hammer(`cracked_bricks_${stone}`)
.itemInputs(`tfc:rock/bricks/${stone}`)
.itemOutputs(`tfc:rock/cracked_bricks/${stone}`)
.duration(25)
.EUt(8)
// Потрескавшийся кирпич -> Ступени
event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_stairs` })
generateCutterRecipe(event, `tfc:rock/cracked_bricks/${stone}`, 0, [`tfc:rock/cracked_bricks/${stone}_stairs`, stoneDust], 100, 8, `${stone}_cracked_bricks_to_stairs`)
// Потрескавшийся кирпич -> Плиты
event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_slab` })
generateCutterRecipe(event, `tfc:rock/cracked_bricks/${stone}`, 1, [`2x tfc:rock/cracked_bricks/${stone}_slab`, stoneDust], 100, 8, `${stone}_cracked_bricks_to_slab`)
// Потрескавшийся кирпич -> Стена
event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_wall` })
generateCutterRecipe(event, `tfc:rock/cracked_bricks/${stone}`, 2, [`tfc:rock/cracked_bricks/${stone}_wall`, stoneDust], 100, 8, `${stone}_cracked_bricks_to_wall`)
//#endregion
//#region Замшелый булыжник
// Булыжник -> Замшелый булыжник
event.shaped(`tfc:rock/mossy_cobble/${stone}`, [
'ABA',
'BAB',
'ABA'
], {
A: `tfc:rock/mossy_loose/${stone}`,
B: '#tfc:mortar'
}).id(`tfc:crafting/rock/${stone}_mossy_loose_rocks_to_cobble`)
event.recipes.gtceu.assembler(`${stone}_mossy_loose_rocks_to_mossy_cobble`)
.itemInputs(`4x tfc:rock/mossy_loose/${stone}`)
.circuit(0)
.inputFluids(Fluid.of('gtceu:concrete', 72))
.itemOutputs(`tfc:rock/mossy_cobble/${stone}`)
.duration(50)
.EUt(2)
event.recipes.gtceu.assembler(`${stone}_cobble_rocks_to_mossy_cobble`)
.itemInputs(`tfc:rock/cobble/${stone}`, '#tfc:compost_greens_low')
.circuit(0)
.inputFluids(Fluid.of('minecraft:water', 144))
.itemOutputs(`tfc:rock/mossy_cobble/${stone}`)
.duration(50)
.EUt(2)
// Замшелый булыжник -> Ступени
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_stairs` })
generateCutterRecipe(event, `tfc:rock/mossy_cobble/${stone}`, 0, [`tfc:rock/mossy_cobble/${stone}_stairs`, stoneDust], 100, 8, `${stone}_mossy_cobble_to_stairs`)
//Замшелый булыжник -> Плиты
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_slab` })
generateCutterRecipe(event, `tfc:rock/mossy_cobble/${stone}`, 1, [`2x tfc:rock/mossy_cobble/${stone}_slab`, stoneDust], 100, 8, `${stone}_mossy_cobble_to_slab`)
// Замшелый булыжник -> Стена
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_wall` })
generateCutterRecipe(event, `tfc:rock/mossy_cobble/${stone}`, 2, [`tfc:rock/mossy_cobble/${stone}_wall`, stoneDust], 100, 8, `${stone}_mossy_cobble_to_wall`)
//#endregion
//#region Замшелый кирпич
// Блок кирпичей -> Замшелый кирпич
event.recipes.gtceu.assembler(`mossy_bricks_${stone}`)
.itemInputs(`tfc:rock/bricks/${stone}`, '#tfc:compost_greens_low')
.circuit(0)
.inputFluids(Fluid.of('minecraft:water', 144))
.itemOutputs(`tfc:rock/mossy_bricks/${stone}`)
.duration(50)
.EUt(2)
// Замшелый булыжник -> Ступени
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_stairs` })
generateCutterRecipe(event, `tfc:rock/mossy_bricks/${stone}`, 0, [`tfc:rock/mossy_bricks/${stone}_stairs`, stoneDust], 100, 8, `${stone}_mossy_bricks_to_stairs`)
//Замшелый булыжник -> Плиты
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_slab` })
generateCutterRecipe(event, `tfc:rock/mossy_bricks/${stone}`, 1, [`2x tfc:rock/mossy_bricks/${stone}_slab`, stoneDust], 100, 8, `${stone}_mossy_bricks_to_slab`)
// Замшелый булыжник -> Стена
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_wall` })
generateCutterRecipe(event, `tfc:rock/mossy_bricks/${stone}`, 2, [`tfc:rock/mossy_bricks/${stone}_wall`, stoneDust], 100, 8, `${stone}_mossy_bricks_to_wall`)
//#endregion
//#region Укрепленный камень
event.recipes.gtceu.assembler(`hardened_${stone}`)
.itemInputs(`5x tfc:rock/raw/${stone}`)
.circuit(0)
.inputFluids(Fluid.of('gtceu:concrete', 72))
.itemOutputs(`2x tfc:rock/hardened/${stone}`)
.duration(250)
.EUt(8)
//#endregion
//#region Акведук
event.recipes.gtceu.assembler(`aqueduct_${stone}`)
.itemInputs(`3x tfc:brick/${stone}`)
.circuit(1)
.inputFluids(Fluid.of('gtceu:concrete', 16))
.itemOutputs(`tfc:rock/aqueduct/${stone}`)
.duration(50)
.EUt(2)
//#endregion
//#region Резной кирпич
// Блок кирпичей -> Резной кирпич
event.recipes.gtceu.laser_engraver(`chiseled_${stone}`)
.itemInputs(`tfc:rock/bricks/${stone}`)
.notConsumable('gtceu:glass_lens')
.itemOutputs(`tfc:rock/chiseled/${stone}`)
.duration(32)
.EUt(100)
//#endregion
//#region Декрафт блоков камня в пыль
//#region Целый блок
// Сырой
event.recipes.gtceu.macerator(`raw_${stone}_to_dust`)
.itemInputs(`tfc:rock/raw/${stone}`)
.itemOutputs(`gtceu:${stone}_dust`)
.duration(4)
.EUt(75)
// Булыжник
event.recipes.gtceu.macerator(`cobble_${stone}_to_dust`)
.itemInputs(`tfc:rock/cobble/${stone}`)
.itemOutputs(`gtceu:${stone}_dust`)
.duration(4)
.EUt(75)
// Гладкий
event.recipes.gtceu.macerator(`smooth_${stone}_to_dust`)
.itemInputs(`tfc:rock/smooth/${stone}`)
.itemOutputs(`gtceu:${stone}_dust`)
.duration(4)
.EUt(75)
// Кирпичи
event.recipes.gtceu.macerator(`bricks_${stone}_to_dust`)
.itemInputs(`tfc:rock/bricks/${stone}`)
.itemOutputs(`gtceu:${stone}_dust`)
.duration(4)
.EUt(75)
// Потрескавшиеся кирпичи
event.recipes.gtceu.macerator(`cracked_bricks_${stone}_to_dust`)
.itemInputs(`tfc:rock/cracked_bricks/${stone}`)
.itemOutputs(`gtceu:${stone}_dust`)
.duration(4)
.EUt(75)
// Замшелый булыжник
event.recipes.gtceu.macerator(`mossy_cobble_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_cobble/${stone}`)
.itemOutputs(`gtceu:${stone}_dust`)
.duration(4)
.EUt(75)
// Замшелый кирпич
event.recipes.gtceu.macerator(`mossy_bricks_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_bricks/${stone}`)
.itemOutputs(`gtceu:${stone}_dust`)
.duration(4)
.EUt(75)
//#endregion
//#region Ступень
// Сырой
event.recipes.gtceu.macerator(`raw_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/raw/${stone}_stairs`)
.itemOutputs(`6x gtceu:small_${stone}_dust`)
.duration(4)
.EUt(75)
// Булыжник
event.recipes.gtceu.macerator(`cobble_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/cobble/${stone}_stairs`)
.itemOutputs(`6x gtceu:small_${stone}_dust`)
.duration(4)
.EUt(75)
// Гладкий
event.recipes.gtceu.macerator(`smooth_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/smooth/${stone}_stairs`)
.itemOutputs(`6x gtceu:small_${stone}_dust`)
.duration(4)
.EUt(75)
// Кирпичи
event.recipes.gtceu.macerator(`bricks_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/bricks/${stone}_stairs`)
.itemOutputs(`6x gtceu:small_${stone}_dust`)
.duration(4)
.EUt(75)
// Потрескавшиеся кирпичи
event.recipes.gtceu.macerator(`cracked_bricks_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/cracked_bricks/${stone}_stairs`)
.itemOutputs(`6x gtceu:small_${stone}_dust`)
.duration(4)
.EUt(75)
// Замшелый булыжник
event.recipes.gtceu.macerator(`mossy_cobble_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_cobble/${stone}_stairs`)
.itemOutputs(`6x gtceu:small_${stone}_dust`)
.duration(4)
.EUt(75)
// Замшелый кирпич
event.recipes.gtceu.macerator(`mossy_bricks_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_bricks/${stone}_stairs`)
.itemOutputs(`6x gtceu:small_${stone}_dust`)
.duration(4)
.EUt(75)
//#endregion
//#region Плита
// Сырой
event.recipes.gtceu.macerator(`raw_slab_${stone}_to_dust`)
.itemInputs(`tfc:rock/raw/${stone}_slab`)
.itemOutputs(`2x gtceu:small_${stone}_dust`)
.duration(4)
.EUt(75)
// Булыжник
event.recipes.gtceu.macerator(`cobble_slab_${stone}_to_dust`)
.itemInputs(`tfc:rock/cobble/${stone}_slab`)
.itemOutputs(`2x gtceu:small_${stone}_dust`)
.duration(4)
.EUt(75)
// Гладкий
event.recipes.gtceu.macerator(`smooth_slab_${stone}_to_dust`)
.itemInputs(`tfc:rock/smooth/${stone}_slab`)
.itemOutputs(`2x gtceu:small_${stone}_dust`)
.duration(4)
.EUt(75)
// Кирпичи
event.recipes.gtceu.macerator(`bricks_slab_${stone}_to_dust`)
.itemInputs(`tfc:rock/bricks/${stone}_slab`)
.itemOutputs(`2x gtceu:small_${stone}_dust`)
.duration(4)
.EUt(75)
// Потрескавшиеся кирпичи
event.recipes.gtceu.macerator(`cracked_bricks_slab_${stone}_to_dust`)
.itemInputs(`tfc:rock/cracked_bricks/${stone}_slab`)
.itemOutputs(`2x gtceu:small_${stone}_dust`)
.duration(4)
.EUt(75)
// Замшелый булыжник
event.recipes.gtceu.macerator(`mossy_cobble_slab_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_cobble/${stone}_slab`)
.itemOutputs(`2x gtceu:small_${stone}_dust`)
.duration(4)
.EUt(75)
// Замшелый кирпич
event.recipes.gtceu.macerator(`mossy_bricks_slab_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_bricks/${stone}_slab`)
.itemOutputs(`2x gtceu:small_${stone}_dust`)
.duration(4)
.EUt(75)
//#endregion
//#region Стена
// Сырой
event.recipes.gtceu.macerator(`raw_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/raw/${stone}_wall`)
.itemOutputs(`gtceu:${stone}_dust`)
.duration(4)
.EUt(75)
// Булыжник
event.recipes.gtceu.macerator(`cobble_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/cobble/${stone}_wall`)
.itemOutputs(`gtceu:${stone}_dust`)
.duration(4)
.EUt(75)
// Гладкий
event.recipes.gtceu.macerator(`smooth_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/smooth/${stone}_wall`)
.itemOutputs(`gtceu:${stone}_dust`)
.duration(4)
.EUt(75)
// Кирпичи
event.recipes.gtceu.macerator(`bricks_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/bricks/${stone}_wall`)
.itemOutputs(`gtceu:${stone}_dust`)
.duration(4)
.EUt(75)
// Потрескавшиеся кирпичи
event.recipes.gtceu.macerator(`cracked_bricks_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/cracked_bricks/${stone}_wall`)
.itemOutputs(`gtceu:${stone}_dust`)
.duration(4)
.EUt(75)
// Замшелый булыжник
event.recipes.gtceu.macerator(`mossy_cobble_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_cobble/${stone}_wall`)
.itemOutputs(`gtceu:${stone}_dust`)
.duration(4)
.EUt(75)
// Замшелый кирпич
event.recipes.gtceu.macerator(`mossy_bricks_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_bricks/${stone}_wall`)
.itemOutputs(`gtceu:${stone}_dust`)
.duration(4)
.EUt(75)
//#endregion
// Резной кирпич
event.recipes.gtceu.macerator(`chiseled_${stone}_to_dust`)
.itemInputs(`tfc:rock/chiseled/${stone}`)
.itemOutputs(`gtceu:${stone}_dust`)
.duration(4)
.EUt(75)
// Укрепленный
event.recipes.gtceu.macerator(`hardened_${stone}_to_dust`)
.itemInputs(`tfc:rock/hardened/${stone}`)
.itemOutputs(`2x gtceu:${stone}_dust`)
.duration(8)
.EUt(150)
//#endregion
})
//#endregion
//#region Песок
// Песок душ -> Желтый песок
// TODO: Включить после добавления ада
/*
event.recipes.gtceu.centrifuge('soul_sand_separation')
.itemInputs('minecraft:soul_sand')
.chancedOutput('tfc:sand/yellow', 9000, 130)
.chancedOutput('gtceu:small_saltpeter_dust', 8000, 480)
.chancedOutput('gtceu:tiny_coal_dust', 2000, 340)
.outputFluids(Fluid.of('gtceu:oil', 80))
.duration(200)
.EUt(80)*/
// Нефтеносный -> Желтый песок
event.recipes.gtceu.centrifuge('oilsands_ore_separation')
.itemInputs('#forge:ores/oilsands')
.chancedOutput('tfc:sand/yellow', 5000, 5000)
.outputFluids(Fluid.of('gtceu:oil', 2000))
.duration(200)
.EUt(30)
// Пыль нефтеносного песка -> Желтый песок
event.recipes.gtceu.centrifuge('oilsands_dust_separation')
.itemInputs('gtceu:oilsands_dust')
.chancedOutput('tfc:sand/yellow', 5000, 5000)
.outputFluids(Fluid.of('gtceu:oil', 2000))
.duration(200)
.EUt(30)
// Земля -> Желтый песок
event.recipes.gtceu.centrifuge('dirt_separation')
.itemInputs('#tfc:dirt')
.chancedOutput('gtceu:plant_ball', 1250, 700)
.chancedOutput('tfc:sand/yellow', 5000, 1200)
.chancedOutput('gtceu:tiny_clay_dust', 4000, 900)
.duration(250)
.EUt(30)
// Рецепты где нужно итерироваться по всем цветам
global.SAND_COLORS.forEach(sandColor => {
// Песчанник -> Песок
event.recipes.gtceu.forge_hammer(`raw_${sandColor}_sandstone_to_sand`)
.itemInputs(`tfc:raw_sandstone/${sandColor}`)
.itemOutputs(`tfc:sand/${sandColor}`)
.duration(400)
.EUt(2)
// Гладкий песчанник -> Песок
event.recipes.gtceu.forge_hammer(`smooth_${sandColor}_sandstone_to_sand`)
.itemInputs(`tfc:smooth_sandstone/${sandColor}`)
.itemOutputs(`tfc:sand/${sandColor}`)
.duration(400)
.EUt(2)
// Обрезанный песчанник -> Песок
event.recipes.gtceu.forge_hammer(`cut_${sandColor}_sandstone_to_sand`)
.itemInputs(`tfc:cut_sandstone/${sandColor}`)
.itemOutputs(`tfc:sand/${sandColor}`)
.duration(400)
.EUt(2)
// Песок -> Песчанник
event.recipes.gtceu.compressor(`sand_${sandColor}_to_sandstone`)
.itemInputs(`4x tfc:sand/${sandColor}`)
.itemOutputs(`tfc:raw_sandstone/${sandColor}`)
.duration(800)
.EUt(2)
// Песчанник -> Гладкий песчанник
event.stonecutting(`tfc:smooth_sandstone/${sandColor}`, `tfc:raw_sandstone/${sandColor}`)
.id(`tfg:stonecutting/raw_sandstone_${sandColor}_to_smooth_sandstone`)
generateCutterRecipe(event, `tfc:raw_sandstone/${sandColor}`, 3, `tfc:smooth_sandstone/${sandColor}`, 100, 8, `raw_sandstone_${sandColor}_to_smooth_sandstone`)
// Песчанник -> Обрезанный песчанник
event.stonecutting(`tfc:cut_sandstone/${sandColor}`, `tfc:raw_sandstone/${sandColor}`)
.id(`raw_sandstone_${sandColor}_to_cut_sandstone`)
generateCutterRecipe(event, `tfc:raw_sandstone/${sandColor}`, 4, `tfc:cut_sandstone/${sandColor}`, 100, 8, `cut_sandstone_${sandColor}_to_smooth_sandstone`)
// Песчанник -> Ступень
event.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_stairs` })
event.stonecutting(`tfc:raw_sandstone/${sandColor}_stairs`, `tfc:raw_sandstone/${sandColor}`)
.id(`tfg:stonecutting/${sandColor}_sandstone_to_stairs`)
generateCutterRecipe(event, `tfc:raw_sandstone/${sandColor}`, 0, `tfc:raw_sandstone/${sandColor}_stairs`, 100, 8, `${sandColor}_sandstone_to_stairs`)
// Песчанник -> Плита
event.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_slab` })
event.stonecutting(`2x tfc:raw_sandstone/${sandColor}_slab`, `tfc:raw_sandstone/${sandColor}`)
.id(`tfg:stonecutting/${sandColor}_sandstone_to_slabs`)
generateCutterRecipe(event, `tfc:raw_sandstone/${sandColor}`, 1, `2x tfc:raw_sandstone/${sandColor}_slab`, 100, 8, `${sandColor}_sandstone_to_slab`)
// Песчанник -> Стена
event.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_wall` })
event.stonecutting(`tfc:raw_sandstone/${sandColor}_wall`, `tfc:raw_sandstone/${sandColor}`)
.id(`tfg:stonecutting/${sandColor}_sandstone_to_wall`)
generateCutterRecipe(event, `tfc:raw_sandstone/${sandColor}`, 2, `tfc:raw_sandstone/${sandColor}_wall`, 100, 8, `${sandColor}_sandstone_to_wall`)
// Гладкий песчанник -> Ступень
event.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_stairs` })
event.stonecutting(`tfc:smooth_sandstone/${sandColor}_stairs`, `tfc:smooth_sandstone/${sandColor}`)
.id(`tfg:stonecutting/${sandColor}_smooth_sandstone_to_stairs`)
generateCutterRecipe(event, `tfc:smooth_sandstone/${sandColor}`, 0, `tfc:smooth_sandstone/${sandColor}_stairs`, 100, 8, `${sandColor}_smooth_sandstone_to_stairs`)
// Гладкий песчанник -> Плита
event.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_slab` })
event.stonecutting(`2x tfc:smooth_sandstone/${sandColor}_slab`, `tfc:smooth_sandstone/${sandColor}`)
.id(`tfg:stonecutting/${sandColor}_smooth_sandstone_to_slab`)
generateCutterRecipe(event, `tfc:smooth_sandstone/${sandColor}`, 1, `2x tfc:smooth_sandstone/${sandColor}_slab`, 100, 8, `${sandColor}_smooth_sandstone_to_slab`)
// Гладкий песчанник -> Стена
event.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_wall` })
event.stonecutting(`tfc:smooth_sandstone/${sandColor}_wall`, `tfc:smooth_sandstone/${sandColor}`)
.id(`tfg:stonecutting/${sandColor}_smooth_sandstone_to_wall`)
generateCutterRecipe(event, `tfc:smooth_sandstone/${sandColor}`, 2, `tfc:smooth_sandstone/${sandColor}_wall`, 100, 8, `${sandColor}_smooth_sandstone_to_wall`)
// Обрезанный песчанник -> Ступень
event.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_stairs` })
event.stonecutting(`tfc:cut_sandstone/${sandColor}_stairs`, `tfc:cut_sandstone/${sandColor}`)
.id(`tfg:stonecutting/${sandColor}_cut_sandstone_to_stairs`)
generateCutterRecipe(event, `tfc:cut_sandstone/${sandColor}`, 0, `tfc:cut_sandstone/${sandColor}_stairs`, 100, 8, `${sandColor}_cut_sandstone_to_stairs`)
// Обрезанный песчанник -> Плита
event.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_slab` })
event.stonecutting(`2x tfc:cut_sandstone/${sandColor}_slab`, `tfc:cut_sandstone/${sandColor}`)
.id(`tfg:stonecutting/${sandColor}_cut_sandstone_to_slab`)
generateCutterRecipe(event, `tfc:cut_sandstone/${sandColor}`, 1, `2x tfc:cut_sandstone/${sandColor}_slab`, 100, 8, `${sandColor}_cut_sandstone_to_slab`)
// Обрезанный песчанник -> Стена
event.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_wall` })
event.stonecutting(`tfc:cut_sandstone/${sandColor}_wall`, `tfc:cut_sandstone/${sandColor}`)
.id(`tfg:stonecutting/${sandColor}_cut_sandstone_to_wall`)
generateCutterRecipe(event, `tfc:cut_sandstone/${sandColor}`, 2, `tfc:cut_sandstone/${sandColor}_wall`, 100, 8, `${sandColor}_cut_sandstone_to_wall`)
})
// Коричневый гравий -> Песок
event.recipes.gtceu.forge_hammer('brown_gravel_to_sand')
.itemInputs('#tfc:brown_gravel')
.itemOutputs('tfc:sand/brown')
.duration(400)
.EUt(2)
// Белый гравий -> Песок
event.recipes.gtceu.forge_hammer('white_gravel_to_sand')
.itemInputs('#tfc:white_gravel')
.itemOutputs('tfc:sand/white')
.duration(400)
.EUt(2)
// Черный гравий -> Песок
event.recipes.gtceu.forge_hammer('black_gravel_to_sand')
.itemInputs('#tfc:black_gravel')
.itemOutputs('tfc:sand/black')
.duration(400)
.EUt(2)
// Красный гравий -> Песок
event.recipes.gtceu.forge_hammer('red_gravel_to_sand')
.itemInputs('#tfc:red_gravel')
.itemOutputs('tfc:sand/red')
.duration(400)
.EUt(2)
// Желтый гравий -> Песок
event.recipes.gtceu.forge_hammer('yellow_gravel_to_sand')
.itemInputs('#tfc:yellow_gravel')
.itemOutputs('tfc:sand/yellow')
.duration(400)
.EUt(2)
// Зеленый гравий -> Песок
event.recipes.gtceu.forge_hammer('green_gravel_to_sand')
.itemInputs('#tfc:green_gravel')
.itemOutputs('tfc:sand/green')
.duration(400)
.EUt(2)
// Розовый гравий -> Песок
event.recipes.gtceu.forge_hammer('pink_gravel_to_sand')
.itemInputs('#tfc:pink_gravel')
.itemOutputs('tfc:sand/pink')
.duration(400)
.EUt(2)
//#endregion
//#region Дерево
// Декрафт деревянной херни в деревянную пыль
Object.entries(global.TFC_WOOD_ITEM_TYPES_TO_WOOD_DUST).forEach(pair => {
let typeName = pair[1].name
let typeOutput = pair[1].output
event.recipes.gtceu.macerator(`tfg/macerate_${typeName}`)
.itemInputs(pair[0])
.itemOutputs(typeOutput)
.duration(600)
.EUt(2)
})
global.TFC_WOOD_TYPES.forEach(wood => {
event.remove({ id: `tfc:crafting/wood/${wood}_axle` })
event.remove({ id: `tfc:crafting/wood/${wood}_bladed_axle` })
event.remove({ id: `tfc:crafting/wood/${wood}_encased_axle` })
event.remove({ id: `tfc:crafting/wood/${wood}_clutch` })
event.remove({ id: `tfc:crafting/wood/${wood}_gear_box` })
event.remove({ id: `tfc:crafting/wood/${wood}_water_wheel` })
// Бревна -> Пиломатериалы
generateCutterRecipe(event, `#tfc:${wood}_logs`, null, `16x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_log`)
// Доски -> Пиломатериалы
generateCutterRecipe(event, `tfc:wood/planks/${wood}`, null, `4x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_planks`)
// Ступень -> Пиломатериалы
generateCutterRecipe(event, `tfc:wood/planks/${wood}_stairs`, null, `3x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_stairs`)
// Плита -> Пиломатериалы
generateCutterRecipe(event, `tfc:wood/planks/${wood}_slab`, null, `2x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_slab`)
// ? -> Деревянная нажимная пластина
event.shaped(`tfc:wood/planks/${wood}_pressure_plate`, [
'ABA',
'CDC',
'AEA'
], {
A: '#forge:screws/wood',
B: '#tfc:hammers',
C: `tfc:wood/planks/${wood}_slab`,
D: '#forge:springs',
E: '#forge:tools/screwdrivers'
}).id(`tfc:crafting/wood/${wood}_pressure_plate`)
event.recipes.gtceu.assembler(`${wood}_pressure_plate`)
.itemInputs('#forge:springs', `2x tfc:wood/planks/${wood}_slab`)
.circuit(0)
.itemOutputs(`2x tfc:wood/planks/${wood}_pressure_plate`)
.duration(50)
.EUt(2)
// ? -> Деревянная кнопка
event.remove({ id: `tfc:crafting/wood/${wood}_button` })
generateCutterRecipe(event, `tfc:wood/planks/${wood}_pressure_plate`, null, `6x tfc:wood/planks/${wood}_button`, 50, 2, `${wood}_button`)
})
//#endregion
//#region Рецепты порошков
// Удаление рецептов
event.remove({ id: 'tfc:quern/amethyst' })
event.remove({ id: 'tfc:quern/amethyst_cut' })
event.remove({ id: 'tfc:quern/blaze_rod' })
event.remove({ id: 'tfc:quern/borax' })
event.remove({ id: 'tfc:quern/charcoal' })
event.remove({ id: 'tfc:quern/cinnabar' })
event.remove({ id: 'tfc:quern/cryolite' })
event.remove({ id: 'tfc:quern/diamond' })
event.remove({ id: 'tfc:quern/diamond_cut' })
event.remove({ id: 'tfc:quern/emerald' })
event.remove({ id: 'tfc:quern/emerald_cut' })
event.remove({ id: 'tfc:quern/graphite' })
event.remove({ id: 'tfc:quern/lapis_lazuli' })
event.remove({ id: 'tfc:quern/lapis_lazuli_cut' })
event.remove({ id: 'tfc:quern/normal_bismuthinite' })
event.remove({ id: 'tfc:quern/normal_cassiterite' })
event.remove({ id: 'tfc:quern/normal_garnierite' })
event.remove({ id: 'tfc:quern/normal_hematite' })
event.remove({ id: 'tfc:quern/normal_limonite' })
event.remove({ id: 'tfc:quern/normal_magnetite' })
event.remove({ id: 'tfc:quern/normal_malachite' })
event.remove({ id: 'tfc:quern/normal_native_copper' })
event.remove({ id: 'tfc:quern/normal_native_gold' })
event.remove({ id: 'tfc:quern/normal_native_silver' })
event.remove({ id: 'tfc:quern/normal_sphalerite' })
event.remove({ id: 'tfc:quern/normal_tetrahedrite' })
event.remove({ id: 'tfc:quern/opal' })
event.remove({ id: 'tfc:quern/opal_cut' })
event.remove({ id: 'tfc:quern/poor_bismuthinite' })
event.remove({ id: 'tfc:quern/poor_cassiterite' })
event.remove({ id: 'tfc:quern/poor_garnierite' })
event.remove({ id: 'tfc:quern/poor_hematite' })
event.remove({ id: 'tfc:quern/poor_limonite' })
event.remove({ id: 'tfc:quern/poor_magnetite' })
event.remove({ id: 'tfc:quern/poor_malachite' })
event.remove({ id: 'tfc:quern/poor_native_copper' })
event.remove({ id: 'tfc:quern/poor_native_gold' })
event.remove({ id: 'tfc:quern/poor_native_silver' })
event.remove({ id: 'tfc:quern/poor_sphalerite' })
event.remove({ id: 'tfc:quern/poor_tetrahedrite' })
event.remove({ id: 'tfc:quern/pyrite' })
event.remove({ id: 'tfc:quern/pyrite_cut' })
event.remove({ id: 'tfc:quern/raw_limestone' })
event.remove({ id: 'tfc:quern/rich_bismuthinite' })
event.remove({ id: 'tfc:quern/rich_cassiterite' })
event.remove({ id: 'tfc:quern/rich_garnierite' })
event.remove({ id: 'tfc:quern/rich_hematite' })
event.remove({ id: 'tfc:quern/rich_limonite' })
event.remove({ id: 'tfc:quern/rich_magnetite' })
event.remove({ id: 'tfc:quern/rich_malachite' })
event.remove({ id: 'tfc:quern/rich_native_copper' })
event.remove({ id: 'tfc:quern/rich_native_gold' })
event.remove({ id: 'tfc:quern/rich_native_silver' })
event.remove({ id: 'tfc:quern/rich_sphalerite' })
event.remove({ id: 'tfc:quern/rich_tetrahedrite' })
event.remove({ id: 'tfc:quern/ruby' })
event.remove({ id: 'tfc:quern/ruby_cut' })
event.remove({ id: 'tfc:quern/salt' })
event.remove({ id: 'tfc:quern/saltpeter' })
event.remove({ id: 'tfc:quern/sapphire' })
event.remove({ id: 'tfc:quern/sapphire_cut' })
event.remove({ id: 'tfc:quern/sulfur' })
event.remove({ id: 'tfc:quern/sylvite' })
event.remove({ id: 'tfc:quern/topaz' })
event.remove({ id: 'tfc:quern/topaz_cut' })
// Добавление рецептов
global.TFC_QUERN_POWDER_RECIPE_COMPONENTS.forEach(element => {
event.recipes.gtceu.macerator(`tfg:${element.name}`)
.itemInputs(element.input)
.itemOutputs(element.output)
.duration(60)
.EUt(2)
event.recipes.tfc.quern(element.output, element.input)
.id(`tfg:quern/${element.name}`)
event.recipes.createMilling(element.output, element.input)
.id(`tfg:milling/${element.name}`)
})
//#endregion
//#region Рецепты зерен
global.TFC_QUERN_GRAIN_RECIPE_COMPONENTS.forEach(element => {
event.recipes.gtceu.macerator(`tfg:${element.name}`)
.itemInputs(element.input)
.itemOutputs(element.output)
.chancedOutput('tfc:straw', 7000, 500)
.duration(200)
.EUt(16)
event.recipes.tfc.quern(element.output, element.input)
.id(`tfg:quern/${element.name}`)
event.recipes.createMilling(element.output, element.input)
.id(`tfg:milling/${element.name}`)
})
//#endregion
//#region Рецепты муки
global.TFC_QUERN_FLOUR_RECIPE_COMPONENTS.forEach(element => {
event.recipes.gtceu.macerator(`tfg:${element.name}`)
.itemInputs(element.input)
.itemOutputs(element.output)
.duration(200)
.EUt(16)
event.recipes.createMilling(element.output, element.input)
.id(`tfg:milling/${element.name}`)
})
//#endregion
//#region Рецепты обжарки мяса
global.TFC_FURNACE_MEAT_RECIPE_COMPONENTS.forEach(element => {
event.smelting(element.output, element.input)
.id(`tfg:smelting/${element.name}`)
})
//#endregion
//#region Рецепты обжарки форм
global.TFC_FURNACE_MOLD_RECIPE_COMPONENTS.forEach(element => {
event.smelting(element.output, element.input)
.id(`tfg:smelting/${element.name}`)
})
global.MINECRAFT_DYE_NAMES.forEach(dye => {
event.smelting(`tfc:ceramic/${dye}_glazed_vessel`, `tfc:ceramic/${dye}_unfired_vessel`)
.id(`tfg:smelting/${dye}_glazed_vessel`)
event.smelting(`tfc:ceramic/large_vessel/${dye}`, `tfc:ceramic/unfired_large_vessel/${dye}`)
.id(`tfg:smelting/${dye}_large_vessel`)
})
//#endregion
//#region Покраска малых и больших сосудов
//#region Обычный сосуд
event.recipes.gtceu.chemical_bath(`unfired_vessel_decolor`)
.itemInputs('#tfg:colorized_unfired_vessels')
.inputFluids(Fluid.of(`gtceu:chlorine`, 36))
.itemOutputs('tfc:ceramic/unfired_vessel')
.duration(300)
.EUt(4)
event.recipes.gtceu.chemical_bath(`fired_vessel_decolor`)
.itemInputs('#tfg:colorized_fired_vessels')
.inputFluids(Fluid.of(`gtceu:chlorine`, 36))
.itemOutputs('tfc:ceramic/vessel')
.duration(300)
.EUt(4)
global.MINECRAFT_DYE_NAMES.forEach(dye => {
event.recipes.gtceu.chemical_bath(`${dye}_unfired_vessel`)
.itemInputs('tfc:ceramic/unfired_vessel')
.inputFluids(Fluid.of(`gtceu:${dye}_dye`, 36))
.itemOutputs(`tfc:ceramic/${dye}_unfired_vessel`)
.duration(150)
.EUt(4)
event.recipes.gtceu.chemical_bath(`${dye}_vessel`)
.itemInputs('tfc:ceramic/vessel')
.inputFluids(Fluid.of(`gtceu:${dye}_dye`, 36))
.itemOutputs(`tfc:ceramic/${dye}_glazed_vessel`)
.duration(150)
.EUt(4)
})
//#endregion
//#region Большой сосуд
event.recipes.gtceu.chemical_bath(`unfired_large_vessel_decolor`)
.itemInputs('#tfg:colorized_unfired_large_vessels')
.inputFluids(Fluid.of(`gtceu:chlorine`, 72))
.itemOutputs('tfc:ceramic/unfired_large_vessel')
.duration(300)
.EUt(4)
event.recipes.gtceu.chemical_bath(`fired_large_vessel_decolor`)
.itemInputs('#tfg:colorized_fired_large_vessels')
.inputFluids(Fluid.of(`gtceu:chlorine`, 72))
.itemOutputs('tfc:ceramic/large_vessel')
.duration(300)
.EUt(4)
global.MINECRAFT_DYE_NAMES.forEach(dye => {
event.recipes.gtceu.chemical_bath(`${dye}_large_unfired_vessel`)
.itemInputs('tfc:ceramic/unfired_large_vessel')
.inputFluids(Fluid.of(`gtceu:${dye}_dye`, 72))
.itemOutputs(`tfc:ceramic/unfired_large_vessel/${dye}`)
.duration(150)
.EUt(4)
event.recipes.gtceu.chemical_bath(`${dye}_large_vessel`)
.itemInputs('tfc:ceramic/large_vessel')
.inputFluids(Fluid.of(`gtceu:${dye}_dye`, 72))
.itemOutputs(`tfc:ceramic/large_vessel/${dye}`)
.duration(150)
.EUt(4)
})
//#endregion
//#endregion
//#region Удаление рецептов лопастей ветряной мельницы
event.remove({ id: `tfc:crafting/windmill_blade` })
event.remove({ id: `tfc:barrel/dye/bleach_windmill_blades` })
global.MINECRAFT_DYE_NAMES.forEach(dye => {
event.remove({ id: `tfc:barrel/dye/${dye}_windmill_blade` })
})
//#endregion
//#region Удаление рецептов каменных инструментов TFC
//#region Топор
// Инструмент
event.remove({ id: `tfc:crafting/stone/axe_igneous_extrusive` })
event.remove({ id: `tfc:crafting/stone/axe_igneous_intrusive` })
event.remove({ id: `tfc:crafting/stone/axe_metamorphic` })
event.remove({ id: `tfc:crafting/stone/axe_sedimentary` })
// Оголовья
event.remove({ id: `tfc:rock_knapping/axe_head_igneous_extrusive` })
event.remove({ id: `tfc:rock_knapping/axe_head_igneous_intrusive` })
event.remove({ id: `tfc:rock_knapping/axe_head_metamorphic` })
event.remove({ id: `tfc:rock_knapping/axe_head_sedimentary` })
event.recipes.tfc.knapping('gtceu:stone_axe_head', 'tfc:rock', [
" X ",
"XXXX ",
"XXXXX",
"XXXX ",
" X "
])
.ingredient('#tfc:rock_knapping')
.outsideSlotRequired(false)
.id('tfg:rock_knapping/stone_axe_head')
//#endregion
//#region Молот
// Инструмент
event.remove({ id: `tfc:crafting/stone/hammer_igneous_extrusive` })
event.remove({ id: `tfc:crafting/stone/hammer_igneous_intrusive` })
event.remove({ id: `tfc:crafting/stone/hammer_metamorphic` })
event.remove({ id: `tfc:crafting/stone/hammer_sedimentary` })
// Оголовья
event.remove({ id: `tfc:rock_knapping/hammer_head_igneous_extrusive` })
event.remove({ id: `tfc:rock_knapping/hammer_head_igneous_intrusive` })
event.remove({ id: `tfc:rock_knapping/hammer_head_metamorphic` })
event.remove({ id: `tfc:rock_knapping/hammer_head_sedimentary` })
event.recipes.tfc.knapping('gtceu:stone_hammer_head', 'tfc:rock', [
"XXXXX",
"XXXXX",
" X "
])
.ingredient('#tfc:rock_knapping')
.outsideSlotRequired(false)
.id('tfg:rock_knapping/stone_hammer_head')
//#endregion
//#region Мотыга
// Инструмент
event.remove({ id: `tfc:crafting/stone/hoe_igneous_extrusive` })
event.remove({ id: `tfc:crafting/stone/hoe_igneous_intrusive` })
event.remove({ id: `tfc:crafting/stone/hoe_metamorphic` })
event.remove({ id: `tfc:crafting/stone/hoe_sedimentary` })
// Оголовья
event.remove({ id: `tfc:rock_knapping/hoe_head_igneous_extrusive` })
event.remove({ id: `tfc:rock_knapping/hoe_head_1_igneous_extrusive` })
event.remove({ id: `tfc:rock_knapping/hoe_head_2_igneous_extrusive` })
event.remove({ id: `tfc:rock_knapping/hoe_head_igneous_intrusive` })
event.remove({ id: `tfc:rock_knapping/hoe_head_1_igneous_intrusive` })
event.remove({ id: `tfc:rock_knapping/hoe_head_2_igneous_intrusive` })
event.remove({ id: `tfc:rock_knapping/hoe_head_metamorphic` })
event.remove({ id: `tfc:rock_knapping/hoe_head_1_metamorphic` })
event.remove({ id: `tfc:rock_knapping/hoe_head_2_metamorphic` })
event.remove({ id: `tfc:rock_knapping/hoe_head_sedimentary` })
event.remove({ id: `tfc:rock_knapping/hoe_head_1_sedimentary` })
event.remove({ id: `tfc:rock_knapping/hoe_head_2_sedimentary` })
event.recipes.tfc.knapping('gtceu:stone_hoe_head', 'tfc:rock', [
"XXXXX",
" XX"
])
.ingredient('#tfc:rock_knapping')
.outsideSlotRequired(false)
.id('tfg:rock_knapping/stone_hoe_head')
event.recipes.tfc.knapping('2x gtceu:stone_hoe_head', 'tfc:rock', [
"XXXXX",
"XX ",
" ",
"XXXXX",
"XX "
])
.ingredient('#tfc:rock_knapping')
.outsideSlotRequired(false)
.id('tfg:rock_knapping/stone_hoe_head_1')
event.recipes.tfc.knapping('2x gtceu:stone_hoe_head', 'tfc:rock', [
"XXXXX",
"XX ",
" ",
"XXXXX",
" XX"
])
.ingredient('#tfc:rock_knapping')
.outsideSlotRequired(false)
.id('tfg:rock_knapping/stone_hoe_head_2')
//#endregion
//#region Нож
// Инструмент
event.remove({ id: `tfc:crafting/stone/knife_igneous_extrusive` })
event.remove({ id: `tfc:crafting/stone/knife_igneous_intrusive` })
event.remove({ id: `tfc:crafting/stone/knife_metamorphic` })
event.remove({ id: `tfc:crafting/stone/knife_sedimentary` })
// Оголовья
event.remove({ id: `tfc:rock_knapping/knife_head_igneous_extrusive` })
event.remove({ id: `tfc:rock_knapping/knife_head_1_igneous_extrusive` })
event.remove({ id: `tfc:rock_knapping/knife_head_2_igneous_extrusive` })
event.remove({ id: `tfc:rock_knapping/knife_head_3_igneous_extrusive` })
event.remove({ id: `tfc:rock_knapping/knife_head_igneous_intrusive` })
event.remove({ id: `tfc:rock_knapping/knife_head_1_igneous_intrusive` })
event.remove({ id: `tfc:rock_knapping/knife_head_2_igneous_intrusive` })
event.remove({ id: `tfc:rock_knapping/knife_head_3_igneous_intrusive` })
event.remove({ id: `tfc:rock_knapping/knife_head_metamorphic` })
event.remove({ id: `tfc:rock_knapping/knife_head_1_metamorphic` })
event.remove({ id: `tfc:rock_knapping/knife_head_2_metamorphic` })
event.remove({ id: `tfc:rock_knapping/knife_head_3_metamorphic` })
event.remove({ id: `tfc:rock_knapping/knife_head_sedimentary` })
event.remove({ id: `tfc:rock_knapping/knife_head_1_sedimentary` })
event.remove({ id: `tfc:rock_knapping/knife_head_2_sedimentary` })
event.remove({ id: `tfc:rock_knapping/knife_head_3_sedimentary` })
event.recipes.tfc.knapping('gtceu:stone_knife_head', 'tfc:rock', [
"X ",
"XX",
"XX",
"XX",
"XX"
])
.ingredient('#tfc:rock_knapping')
.outsideSlotRequired(false)
.id('tfg:rock_knapping/stone_knife_head')
event.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [
"X X ",
"XX XX",
"XX XX",
"XX XX",
"XX XX"
])
.ingredient('#tfc:rock_knapping')
.outsideSlotRequired(false)
.id('tfg:rock_knapping/stone_knife_head_1')
event.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [
"X X",
"XX XX",
"XX XX",
"XX XX",
"XX XX"
])
.ingredient('#tfc:rock_knapping')
.outsideSlotRequired(false)
.id('tfg:rock_knapping/stone_knife_head_2')
event.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [
" X X ",
"XX XX",
"XX XX",
"XX XX",
"XX XX"
])
.ingredient('#tfc:rock_knapping')
.outsideSlotRequired(false)
.id('tfg:rock_knapping/stone_knife_head_3')
//#endregion
//#region Лопата
// Инструмент
event.remove({ id: `tfc:crafting/stone/shovel_igneous_extrusive` })
event.remove({ id: `tfc:crafting/stone/shovel_igneous_intrusive` })
event.remove({ id: `tfc:crafting/stone/shovel_metamorphic` })
event.remove({ id: `tfc:crafting/stone/shovel_sedimentary` })
// Оголовья
event.remove({ id: `tfc:rock_knapping/shovel_head_igneous_extrusive` })
event.remove({ id: `tfc:rock_knapping/shovel_head_igneous_intrusive` })
event.remove({ id: `tfc:rock_knapping/shovel_head_metamorphic` })
event.remove({ id: `tfc:rock_knapping/shovel_head_sedimentary` })
event.recipes.tfc.knapping('gtceu:stone_shovel_head', 'tfc:rock', [
"XXX",
"XXX",
"XXX",
"XXX",
" X "
])
.ingredient('#tfc:rock_knapping')
.outsideSlotRequired(false)
.id('tfg:rock_knapping/stone_shovel_head')
//#endregion
//#endregion
//#region Рецепты электрической теплицы
// Дерево
global.TFC_WOOD_TYPES.forEach(wood => {
generateGreenHouseRecipe(event, `tfc:wood/sapling/${wood}`, 16000, `32x tfc:wood/log/${wood}`, `tfg:greenhouse/${wood}`)
})
// Семена фруктов
global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => {
generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name)
})
// Семена овощей
global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS.forEach(element => {
generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name)
})
// Семена ягод
global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS.forEach(element => {
generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name)
})
//#endregion
//#region Рецепты плоского теста
global.TFC_MIXER_FLATBREAD_DOUGH_RECIPE_COMPONENTS.forEach(element => {
event.recipes.gtceu.mixer(element.name)
.itemInputs(element.input)
.inputFluids(Fluid.of('minecraft:water', 100))
.itemOutputs(element.output)
.duration(300)
.EUt(16)
})
//#endregion
//#region Рецепты хлеба
global.TFC_FURNACE_BREAD_RECIPE_COMPONENTS.forEach(element => {
event.smelting(element.output, element.input)
.id(`tfg:smelting/${element.name}`)
})
//#endregion
//#region Молды в ассемблере
for (let i = 0; i < global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS.length; i++) {
let element = global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS[i];
event.recipes.gtceu.macerator(`tfg:tfc/${element.name}`)
.itemInputs(element.input)
.circuit(i)
.itemOutputs(element.output)
.duration(450)
.EUt(2)
}
//#endregion
//#region Стеклянные смеси в бутылки в ассемблере
global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS.forEach(element => {
event.recipes.gtceu.alloy_smelter(`tfg:tfc/${element.name}`)
.itemInputs(element.input)
.notConsumable('gtceu:bottle_casting_mold')
.itemOutputs(element.output)
.duration(100)
.EUt(2)
})
//#endregion
// Другое
event.remove({ id: `tfc:crafting/trip_hammer` })
event.remove({ id: `tfc:anvil/steel_pump` })
event.remove({ id: `tfc:crafting/steel_pump` })
event.remove({ id: `tfc:crafting/crankshaft` })
// Доменная печь
event.shaped('tfc:blast_furnace', [
'AAA',
'ABA',
'AAA'
], {
A: '#forge:double_plates/wrought_iron',
B: 'tfc:crucible'
}).id('tfc:crafting/blast_furnace')
// Тыква -> Кусочки тыквы
event.recipes.minecraft.crafting_shaped('5x tfc:food/pumpkin_chunks', [
'AB'
], {
A: '#tfc:knives',
B: 'tfc:pumpkin'
})
// Lime
event.smelting('tfc:powder/lime', 'tfc:powder/flux')
.id('tfg:smelting/lime')
// Kaolinite Clay
event.smelting('tfc:kaolin_clay', 'tfc:powder/kaolinite')
.id('tfg:smelting/kaolinite_clay')
// Fire Brick
event.smelting('tfc:ceramic/fire_brick', 'gtceu:compressed_fireclay')
.id('tfg:smelting/fireclay_brick')
// Lamp Glass
event.recipes.gtceu.alloy_smelter(`tfg:tfc/lamp_glass`)
.itemInputs('#tfc:glass_batches')
.notConsumable('#tfg:unfinished_lamps')
.itemOutputs('tfc:lamp_glass')
.duration(100)
.EUt(2)
// Glass lens
event.recipes.gtceu.alloy_smelter(`tfg:tfc/glass_lens`)
.itemInputs('tfc:silica_glass_batch')
.notConsumable('#forge:lenses')
.itemOutputs('tfc:lens')
.duration(100)
.EUt(2)
// Empty Jar
event.recipes.gtceu.assembler(`tfg:tfc/glass_jar`)
.itemInputs('#tfc:glass_batches_tier_2')
.circuit(2)
.itemOutputs('tfc:empty_jar')
.duration(100)
.EUt(2)
// Wool Yarn
event.recipes.gtceu.macerator('macerate_wool')
.itemInputs('#minecraft:wool')
.itemOutputs('tfc:wool_yarn')
.chancedOutput('tfc:wool_yarn', 9000, 0)
.chancedOutput('tfc:wool_yarn', 5000, 0)
.chancedOutput('tfc:wool_yarn', 2000, 0)
.duration(200)
.EUt(2)
// LimeWater + Sand -> Mortar
event.recipes.gtceu.centrifuge('mortar')
.itemInputs('#forge:sand')
.inputFluids(Fluid.of('tfc:limewater', 100))
.itemOutputs('16x tfc:mortar')
.duration(800)
.EUt(8)
// Brass Mechanism
event.recipes.gtceu.assembler('tfg:tfc/brass_mechanism')
.itemInputs('#forge:plates/brass')
.circuit(10)
.itemOutputs('tfc:brass_mechanisms')
.duration(100)
.EUt(4)
// 1x Small SheepSkin -> 1x Wool
event.recipes.gtceu.assembler('tfg:tfc/wool_1')
.itemInputs('tfc:small_sheepskin_hide')
.itemOutputs('tfc:wool')
.duration(100)
.EUt(4)
// 1x Medium SheepSkin -> 1x Wool
event.recipes.gtceu.assembler('tfg:tfc/wool_2')
.itemInputs('tfc:medium_sheepskin_hide')
.itemOutputs('2x tfc:wool')
.duration(100)
.EUt(4)
// 1x Large SheepSkin -> 1x Wool
event.recipes.gtceu.assembler('tfg:tfc/wool_3')
.itemInputs('tfc:large_sheepskin_hide')
.itemOutputs('3x tfc:wool')
.duration(100)
.EUt(4)
// Wool Yarn
event.recipes.gtceu.wiremill('tfg:tfc/wool_yarn')
.itemInputs('tfc:wool')
.itemOutputs('8x tfc:wool_yarn')
.duration(100)
.EUt(4)
// Burlap Cloth
event.recipes.gtceu.assembler('tfg:tfc/burlap_cloth')
.itemInputs('12x tfc:jute_fiber')
.itemOutputs('tfc:burlap_cloth')
.duration(100)
.EUt(4)
// Silk Cloth
event.recipes.gtceu.assembler('tfg:tfc/silk_cloth')
.itemInputs('24x minecraft:string')
.itemOutputs('tfc:silk_cloth')
.duration(100)
.EUt(4)
// Silk Cloth
event.recipes.gtceu.assembler('tfg:tfc/wool_cloth')
.itemInputs('16x tfc:wool_yarn')
.itemOutputs('tfc:wool_cloth')
.duration(100)
.EUt(4)
// Jute Fiber
generateMixerRecipe(event, 'tfc:jute', Fluid.of('minecraft:water', 200), 'tfc:jute_fiber', null, [], 100, 4, 16, 'tfg:tfc/jute_fiber')
// Soda Ash
event.smelting('3x tfc:powder/soda_ash', 'tfc:food/dried_seaweed').id('tfg:smelting/dried_seaweed_to_soda')
event.smelting('3x tfc:powder/soda_ash', 'tfc:food/dried_kelp').id('tfg:smelting/dried_kelp_to_soda')
//#region Обрушения
event.recipes.tfc.collapse('#tfg:rock_slabs').id('tfg:collapse/rock_slabs')
event.recipes.tfc.collapse('#tfg:rock_stairs').id('tfg:collapse/rock_stairs')
event.recipes.tfc.collapse('#tfg:rock_walls').id('tfg:collapse/rock_walls')
global.TFC_STONE_TYPES.forEach(stoneType => {
event.custom({
type: "tfc:collapse",
ingredient: {
tag: `forge:ores_in_ground/${stoneType}`
},
result: `tfc:rock/cobble/${stoneType}`
}).id(`tfg:collapse/${stoneType}_gt_ores`)
})
//#endregion
//#region Выход: Свечи
event.recipes.gtceu.chemical_bath(`tfg:tfc/candle_decolor`)
.itemInputs('#tfc:colored_candles')
.inputFluids(Fluid.of(`gtceu:chlorine`, 72))
.itemOutputs('tfc:candle')
.duration(300)
.EUt(4)
global.MINECRAFT_DYE_NAMES.forEach(dye => {
event.recipes.gtceu.chemical_bath(`tfg:tfc/${dye}_candle`)
.itemInputs('tfc:candle')
.inputFluids(Fluid.of(`gtceu:${dye}_dye`, 36))
.itemOutputs(`tfc:candle/${dye}`)
.duration(300)
.EUt(4)
})
//#endregion
}
/*
event.recipes.gtceu.assembler('')
.itemInputs('')
.itemOutputs('')
.duration(100)
.EUt(4)
*/