3066 lines
No EOL
138 KiB
JavaScript
3066 lines
No EOL
138 KiB
JavaScript
// 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)
|
||
|
||
*/ |