Consolidating Development: 0.9.x (#846)

Signed-off-by: Pyritie <pyritie@gmail.com>
Signed-off-by: TomPlop <tomdidome@gmail.com>
Co-authored-by: Pyritie <Pyritie@gmail.com>
Co-authored-by: Redeix <brayden.j.m.ford@gmail.com>
Co-authored-by: TomPlop <tomdidome@gmail.com>
Co-authored-by: aidie8 <aidenvanzuilen@gmail.com>
Co-authored-by: Xikaro <os.valerievich@ya.ru>
Co-authored-by: Xikaro <55663835+Xikaro@users.noreply.github.com>
Co-authored-by: Zleub <debray.arnaud@gmail.com>
This commit is contained in:
Nebby 2025-04-14 14:00:08 -04:00 committed by GitHub
parent 528672e95b
commit d4c80a4b61
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2192 changed files with 104647 additions and 53190 deletions

View file

@ -9,8 +9,10 @@ const registerTFCDataForTFC = (event) => {
registerTFCKnappingTypes(event)
registerTFCItemSize(event)
registerTFCFoodData(event)
registerTFCSupportData(event)
}
//#region registerTFCMetals
const registerTFCMetals = (event) => {
event.metal('gtceu:copper', 1080, 0.00857, '#forge:ingots/copper', '#forge:double_ingots/copper', '#forge:plates/copper', 1, 'tfc:copper')
event.metal('gtceu:bismuth_bronze', 985, 0.00857, '#forge:ingots/bismuth_bronze', '#forge:double_ingots/bismuth_bronze', '#forge:plates/bismuth_bronze', 2, 'tfc:bismuth_bronze')
@ -22,16 +24,6 @@ const registerTFCMetals = (event) => {
event.metal('gtceu:blue_steel', 1540, 0.00857, '#forge:ingots/blue_steel', '#forge:double_ingots/blue_steel', '#forge:plates/blue_steel', 6, 'tfc:blue_steel')
event.metal('gtceu:red_steel', 1540, 0.00857, '#forge:ingots/red_steel', '#forge:double_ingots/red_steel', '#forge:plates/red_steel', 6, 'tfc:red_steel')
event.metal('tfg:pig_iron', 1535, 0.00857, '#forge:ingots/pig_iron', null, null, 3, 'tfc:pig_iron')
event.metal('tfg:high_carbon_steel', 1540, 0.00857, '#forge:ingots/high_carbon_steel', null, null, 3, 'tfc:high_carbon_steel')
event.metal('tfg:high_carbon_black_steel', 1535, 0.00857, '#forge:ingots/high_carbon_black_steel', null, null, 4, 'tfc:high_carbon_black_steel')
event.metal('tfg:high_carbon_red_steel', 1535, 0.00857, '#forge:ingots/high_carbon_red_steel', null, null, 5, 'tfc:high_carbon_red_steel')
event.metal('tfg:high_carbon_blue_steel', 1535, 0.00857, '#forge:ingots/high_carbon_blue_steel', null, null, 5, 'tfc:high_carbon_blue_steel')
event.metal('tfg:weak_steel', 1540, 0.00857, '#forge:ingots/weak_steel', null, null, 4, 'tfc:weak_steel')
event.metal('tfg:weak_red_steel', 1540, 0.00857, '#forge:ingots/weak_red_steel', null, null, 5, 'tfc:weak_red_steel')
event.metal('tfg:weak_blue_steel', 1540, 0.00857, '#forge:ingots/weak_blue_steel', null, null, 5, 'tfc:weak_blue_steel')
event.metal('tfg:unknown', 400, 0.006, '#forge:ingots/unknown', null, null, 0, 'tfc:unknown')
event.metal('gtceu:iron', 1535, 0.00857, '#forge:ingots/iron', '#forge:double_ingots/iron', '#forge:plates/iron', 3, 'tfc:cast_iron')
event.metal('gtceu:tin', 230, 0.02143, '#forge:ingots/tin', '#forge:double_ingots/tin', '#forge:plates/tin', 1, 'tfc:tin')
event.metal('gtceu:bismuth', 270, 0.02143, '#forge:ingots/bismuth', '#forge:double_ingots/bismuth', '#forge:plates/bismuth', 1, 'tfc:bismuth')
@ -47,7 +39,9 @@ const registerTFCMetals = (event) => {
event.metal('gtceu:red_alloy', 740, 0.01529, '#forge:ingots/red_alloy', null, '#forge:plates/red_alloy', 2, 'tfg:red_alloy')
event.metal('gtceu:tin_alloy', 1250, 0.00829, '#forge:ingots/tin_alloy', null, '#forge:plates/tin_alloy', 3, 'tfg:tin_alloy')
}
//#endregion
//#region registerTFCHeats
const registerTFCHeats = (event) => {
function makeItemHeatByTagPrefix(tagPrefix, material, tfcProperty, heatCapacity) {
@ -127,22 +121,40 @@ const registerTFCHeats = (event) => {
event.itemHeat('tfc:groundcover/seaweed', 1.0, null, null)
event.itemHeat('tfc:plant/leafy_kelp', 1.0, null, null)
event.itemHeat('tfc:plant/winged_kelp', 1.0, null, null)
// Misc
event.itemHeat('tfg:latex_soaked_gloves', 1.0, null, null)
global.MINECRAFT_DYE_NAMES.forEach (color => {
event.itemHeat(`tfg:decorative_vase/unfired/${color}`, 1.0, null, null)
})
event.itemHeat('tfg:decorative_vase/unfired', 1.0, null, null)
}
//#endregion
//#region registerTFCFuels
const registerTFCFuels = (event) => {
event.fuel('minecraft:coal', 1415, 2200, 1.0)
event.fuel('gtceu:coke_gem', 1415, 4400, 1.0)
event.fuel('gtceu:coke_dust', 1415, 1200, 0.95)
event.fuel('beneath:cursecoal', 1540, 2200, 1.0)
event.fuel('minecraft:coal', 1415, 2200, 1.0)
event.fuel('gtceu:rich_raw_coal', 1415, 2200, 0.95)
event.fuel('gtceu:raw_coal', 1415, 1900, 0.95)
event.fuel('gtceu:poor_raw_coal', 1415, 1600, 0.95)
event.fuel('gtceu:coal_dust', 1415, 600, 0.95)
}
//#endregion
//#region registerTFCLampFuels
const registerTFCLampFuels = (event) => {
event.lampFuel('gtceu:creosote', '#tfc:lamps', 1000)
event.lampFuel("gtceu:glowstone", "#tfc:lamps", -1)
}
//#endregion
//#region registerTFCFertilizers
const registerTFCFertilizers = (event) => {
event.fertilizer('gtceu:fertilizer', 0.15, 0.15, 0.15)
@ -161,17 +173,43 @@ const registerTFCFertilizers = (event) => {
event.fertilizer('gtceu:tiny_bone_dust', null, 0.01, null)
event.fertilizer('gtceu:small_bone_dust', null, 0.025, null)
}
//#endregion
//#region registerTFCKnappingTypes
const registerTFCKnappingTypes = (event) => {
// event.knappingType('gtceu:rubber_plate', 1, 5, 'tfc:item.knapping.leather', true, false, true, 'gtceu:rubber_plate', 'tfg:rubber')
// event.knappingType('gtceu:styrene_butadiene_rubber_plate', 1, 5, 'tfc:item.knapping.leather', true, false, true, 'gtceu:styrene_butadiene_rubber_plate', 'tfg:styrene_butadiene_rubber_plate')
// event.knappingType('gtceu:silicone_rubber_plate', 1, 5, 'tfc:item.knapping.leather', true, false, true, 'gtceu:silicone_rubber_plate', 'tfg:silicone_rubber_plate')
}
//#endregion
//#region registerTFCItemSize
const registerTFCItemSize = (event) => {
// TODO event.itemSize('minecraft:gold_ingot', 'huge', 'very_heavy')
}
event.itemSize('sophisticatedbackpacks:backpack', 'very_large', 'very_heavy', 'backpack_size')
event.itemSize('sophisticatedbackpacks:iron_backpack', 'very_large', 'very_heavy', 'iron_backpack_size')
event.itemSize('sophisticatedbackpacks:gold_backpack', 'very_large', 'very_heavy', 'gold_backpack_size')
event.itemSize('sophisticatedbackpacks:diamond_backpack', 'very_large', 'very_heavy', 'diamond_backpack_size')
event.itemSize('sophisticatedbackpacks:netherite_backpack', 'very_large', 'very_heavy', 'netherite_backpack_size')
global.MINECRAFT_DYE_NAMES.forEach (color => {
event.itemSize(`tfg:decorative_vase/${color}`, 'normal', 'medium', `decorative_vase/${color}`)
event.itemSize(`tfg:decorative_vase/unfired/${color}`, 'normal', 'medium', `decorative_vase/unfired/${color}`)
})
event.itemSize('tfg:decorative_vase', 'normal', 'medium', 'decorative_vase')
event.itemSize('tfg:decorative_vase/unfired', 'normal', 'medium', 'decorative_vase/unfired')
event.itemSize('man_of_many_planes:scarlet_biplane', 'huge', 'very_heavy')
event.itemSize('man_of_many_planes:economy_plane', 'huge', 'very_heavy')
event.itemSize('immersive_aircraft:airship', 'huge', 'very_heavy')
event.itemSize('immersive_aircraft:cargo_airship', 'huge', 'very_heavy')
event.itemSize('immersive_aircraft:warship', 'huge', 'very_heavy')
event.itemSize('immersive_aircraft:biplane', 'huge', 'very_heavy')
event.itemSize('immersive_aircraft:gyrodyne', 'huge', 'very_heavy')
event.itemSize('immersive_aircraft:quadrocopter', 'very_large', 'very_heavy')
}
//#endregion
//#region registerTFCFoodData
const registerTFCFoodData = (event) => {
event.foodItem('minecraft:golden_apple', food => {
food.hunger(2)
@ -184,4 +222,59 @@ const registerTFCFoodData = (event) => {
food.fruit(2)
food.decayModifier(0.2)
})
event.foodItem('minecraft:glow_berries', food => {
food.hunger(1)
food.fruit(0.5)
food.water(5)
food.decayModifier(2)
})
event.foodItem('minecraft:chorus_fruit', food => {
food.hunger(1.5)
food.fruit(1)
food.water(5)
})
event.foodItem('minecraft:red_mushroom', food => {
food.hunger(1.5)
food.vegetables(1)
food.water(5)
food.decayModifier(2)
})
event.foodItem('minecraft:brown_mushroom', food => {
food.saturation(2)
food.hunger(2)
food.vegetables(1)
food.water(2)
food.decayModifier(2)
})
event.foodItem('gtceu:chocolate_coin', food => {
food.hunger(1)
food.dairy(0.5)
})
}
//#endregion
//#region registerTFCSupportData
//up, down, horizontal
const registerTFCSupportData = (event) => {
event.support('tfg:light_concrete_support', 4, 4, 8, 'light_concrete_support')
event.support('tfg:dark_concrete_support', 4, 4, 8, 'dark_concrete_support')
event.support('tfg:reinforced_light_concrete_support', 6, 6, 16, 'reinforced_light_concrete_support')
event.support('tfg:reinforced_dark_concrete_support', 6, 6, 16, 'reinforced_dark_concrete_support')
event.support('tfg:rebar_support', 4, 4, 8, 'rebar_support')
event.support('tfg:steel_support', 6, 6, 16, 'steel_support')
const other_stone = ['pyroxenite', 'migmatite', 'travertine']
const stone_types = global.TFC_STONE_TYPES.concat(other_stone)
stone_types.forEach(stone => {
event.support(`tfg:${stone}_support`, 2, 2, 4, `${stone}_support`)
})
}
//#endregion

View file

@ -0,0 +1,95 @@
// priority: 0
function registerTFCAlabasterRecipes(event) {
event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless('4x tfc:alabaster_brick', ['#forge:raw_materials/gypsum', '#tfc:chisels']))
.id('tfc:crafting/alabaster_brick/raw_gypsum')
event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless('2x tfc:alabaster_brick', ['#forge:poor_raw_materials/gypsum', '#tfc:chisels']))
.id('tfc:crafting/alabaster_brick/poor_raw_gypsum')
event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless('6x tfc:alabaster_brick', ['#forge:rich_raw_materials/gypsum', '#tfc:chisels']))
.id('tfc:crafting/alabaster_brick/rich_raw_gypsum')
// Alabaster Brick
event.recipes.gtceu.assembler('tfc:alabaster/bricks')
.itemInputs('5x tfc:alabaster_brick')
.inputFluids(Fluid.of('gtceu:concrete', 72))
.itemOutputs('4x tfc:alabaster/bricks')
.duration(50)
.EUt(2)
event.recipes.gtceu.chemical_bath('tfc:alabaster/bricks')
.itemInputs('#tfc:colored_bricks_alabaster')
.inputFluids(Fluid.of('gtceu:chlorine', 72))
.itemOutputs('tfc:alabaster/bricks')
.duration(400)
.EUt(2)
.category(GTRecipeCategories.CHEM_DYES)
for (let i = 0; i < 16; i++) {
event.recipes.gtceu.chemical_bath(`tfg:tfc/alabaster/bricks/${global.MINECRAFT_DYE_NAMES[i]}`)
.itemInputs('tfc:alabaster/bricks')
.inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72))
.itemOutputs(`tfc:alabaster/bricks/${global.MINECRAFT_DYE_NAMES[i]}`)
.duration(20)
.EUt(7)
.category(GTRecipeCategories.CHEM_DYES)
}
// Raw Alabaster
event.recipes.gtceu.chemical_bath('tfc:alabaster/raw/poor_raw_gypsum')
.itemInputs('gtceu:poor_raw_gypsum')
.inputFluids(Fluid.of('tfc:limewater', 50))
.itemOutputs('tfc:alabaster/raw')
.duration(400)
.EUt(2)
event.recipes.gtceu.chemical_bath('tfc:alabaster/raw/raw_gypsum')
.itemInputs('gtceu:raw_gypsum')
.inputFluids(Fluid.of('tfc:limewater', 100))
.itemOutputs('2x tfc:alabaster/raw')
.duration(400)
.EUt(2)
event.recipes.gtceu.chemical_bath('tfc:alabaster/raw/rich_raw_gypsum')
.itemInputs('gtceu:rich_raw_gypsum')
.inputFluids(Fluid.of('tfc:limewater', 150))
.itemOutputs('3x tfc:alabaster/raw')
.duration(400)
.EUt(2)
event.recipes.gtceu.chemical_bath('tfc:alabaster/raw')
.itemInputs('#tfc:colored_bricks_alabaster')
.inputFluids(Fluid.of('gtceu:chlorine', 72))
.itemOutputs('tfc:alabaster/raw')
.duration(400)
.EUt(2)
.category(GTRecipeCategories.CHEM_DYES)
for (let i = 0; i < 16; i++) {
event.recipes.gtceu.chemical_bath(`tfg:alabaster/raw/${global.MINECRAFT_DYE_NAMES[i]}`)
.itemInputs('tfc:alabaster/raw')
.inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 36))
.itemOutputs(`tfc:alabaster/raw/${global.MINECRAFT_DYE_NAMES[i]}`)
.duration(20)
.EUt(7)
.category(GTRecipeCategories.CHEM_DYES)
event.recipes.gtceu.chemical_bath(`tfg:alabaster/polished/${global.MINECRAFT_DYE_NAMES[i]}`)
.itemInputs('tfc:alabaster/polished')
.inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 36))
.itemOutputs(`tfc:alabaster/polished/${global.MINECRAFT_DYE_NAMES[i]}`)
.duration(20)
.EUt(7)
.category(GTRecipeCategories.CHEM_DYES)
event.recipes.gtceu.chemical_bath(`tfg:alabaster/bricks/${global.MINECRAFT_DYE_NAMES[i]}`)
.itemInputs('tfc:alabaster/bricks')
.inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 36))
.itemOutputs(`tfc:alabaster/bricks/${global.MINECRAFT_DYE_NAMES[i]}`)
.duration(20)
.EUt(7)
.category(GTRecipeCategories.CHEM_DYES)
}
}

View file

@ -0,0 +1,124 @@
// priority: 0
function registerTFCDirtRecipes(event) {
//#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(200)
.EUt(16)
// Loam + Sand -> Sandy Loam (Миксер)
event.recipes.gtceu.mixer('sandy_loam_dirt')
.itemInputs('tfc:dirt/loam', '#forge:sand')
.circuit(3)
.itemOutputs('tfc:dirt/sandy_loam')
.duration(200)
.EUt(16)
// Dirt + Sticks -> Rooted Dirt
global.TFC_MUD_TYPES.forEach(mud => {
event.recipes.gtceu.mixer(`${mud}_to_rooted`)
.itemInputs(`tfc:dirt/${mud}`, "#tfc:can_be_lit_on_torch")
.itemOutputs(`tfc:rooted_dirt/${mud}`)
.duration(200)
.EUt(16)
})
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))
.circuit(2)
.itemOutputs(`tfc:mud/${mud}`)
.duration(200)
.EUt(16)
})
//#endregion
//AE Transform Mud
global.TFC_MUD_TYPES.forEach(mud => {
event.custom({
type: "ae2:transform",
circumstance: {
type: "fluid",
tag: "tfc:water"
},
ingredients: [
{item: `tfc:dirt/${mud}`}],
result: {item: `tfc:mud/${mud}`}
}).id(`tfg:ae_transform/${mud}_to_mud`)
})
//#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`)
// Блок кирпичей -> Плиты
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`)
// Блок кирпичей -> Стена
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`)
})
//#endregion
}

View file

@ -0,0 +1,132 @@
// priority: 0
/**
*
* @param {Internal.RecipesEventJS} event
*/
function registerTFCDyeRecipes(event) {
//#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)
.category(GTRecipeCategories.CHEM_DYES)
global.MINECRAFT_DYE_NAMES.forEach(dye => {
event.recipes.gtceu.chemical_bath(`tfg:tfc/${dye}_candle`)
.itemInputs('tfc:candle')
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 36))
.itemOutputs(`tfc:candle/${dye}`)
.duration(300)
.EUt(4)
.category(GTRecipeCategories.CHEM_DYES)
})
//#endregion
//#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)
.category(GTRecipeCategories.CHEM_DYES)
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)
.category(GTRecipeCategories.CHEM_DYES)
global.MINECRAFT_DYE_NAMES.forEach(dye => {
event.recipes.gtceu.chemical_bath(`${dye}_unfired_vessel`)
.itemInputs('tfc:ceramic/unfired_vessel')
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 36))
.itemOutputs(`tfc:ceramic/${dye}_unfired_vessel`)
.duration(150)
.EUt(4)
.category(GTRecipeCategories.CHEM_DYES)
event.recipes.gtceu.chemical_bath(`${dye}_vessel`)
.itemInputs('tfc:ceramic/vessel')
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 36))
.itemOutputs(`tfc:ceramic/${dye}_glazed_vessel`)
.duration(150)
.EUt(4)
.category(GTRecipeCategories.CHEM_DYES)
})
//#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)
.category(GTRecipeCategories.CHEM_DYES)
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)
.category(GTRecipeCategories.CHEM_DYES)
global.MINECRAFT_DYE_NAMES.forEach(dye => {
event.recipes.gtceu.chemical_bath(`${dye}_large_unfired_vessel`)
.itemInputs('tfc:ceramic/unfired_large_vessel')
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 72))
.itemOutputs(`tfc:ceramic/unfired_large_vessel/${dye}`)
.duration(150)
.EUt(4)
.category(GTRecipeCategories.CHEM_DYES)
event.recipes.gtceu.chemical_bath(`${dye}_large_vessel`)
.itemInputs('tfc:ceramic/large_vessel')
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 72))
.itemOutputs(`tfc:ceramic/large_vessel/${dye}`)
.duration(150)
.EUt(4)
.category(GTRecipeCategories.CHEM_DYES)
})
//#endregion
//#region Replace existing dyes
global.MINECRAFT_DYE_NAMES.forEach(dyeName => {
event.remove(`tfc:pot/${dyeName}_dye`);
let inputArray = new Array(0);
for (let i = 1; i < 5; i++) {
inputArray.length = 0;
for (let j = 1; j < i + 1; j++) {
inputArray.push(`#forge:dyes/${dyeName}`);
}
event.recipes.tfc.pot(inputArray, Fluid.of('tfc:salt_water', 250 * i), 600, 2000)
.fluidOutput(Fluid.of(`tfc:${dyeName}_dye`, 144 * i))
.id(`tfc:pot/${i}x_${dyeName}_dye`)
}
})
//#endregion
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,210 @@
// priority: 0
function registerTFCKnappingRecipes(event) {
//#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
}

View file

@ -0,0 +1,423 @@
// priority: 0
function registerTFCMachineRecipes(event) {
// Бумага
event.recipes.gtceu.cutter('tfg:unrefined_paper')
.itemInputs('tfc:unrefined_paper')
.itemOutputs('minecraft:paper')
.duration(100)
.EUt(7)
// Limewater
event.recipes.gtceu.mixer('tfg:limewater_from_lime')
.itemInputs('tfc:powder/lime')
.inputFluids(Fluid.of('water', 500))
.outputFluids(Fluid.of('tfc:limewater', 500))
.duration(20)
.EUt(16)
event.recipes.gtceu.mixer('tfg:limewater_from_flux')
.itemInputs('tfc:powder/flux')
.inputFluids(Fluid.of('water', 500))
.outputFluids(Fluid.of('tfc:limewater', 500))
.duration(20)
.EUt(16)
// Tannin
event.recipes.gtceu.chemical_bath('tfg:tannin')
.itemInputs('#tfc:makes_tannin')
.inputFluids(Fluid.of('water', 1000))
.outputFluids(Fluid.of('tfc:tannin', 1000))
.duration(2400)
.EUt(16)
// Soaked hides
event.recipes.gtceu.chemical_bath('tfg:small_soaked_hide')
.itemInputs('tfc:small_raw_hide')
.inputFluids(Fluid.of('tfc:limewater', 300))
.itemOutputs('tfc:small_soaked_hide')
.duration(1600)
.EUt(16)
event.recipes.gtceu.chemical_bath('tfg:medium_soaked_hide')
.itemInputs('tfc:medium_raw_hide')
.inputFluids(Fluid.of('tfc:limewater', 400))
.itemOutputs('tfc:medium_soaked_hide')
.duration(2400)
.EUt(16)
event.recipes.gtceu.chemical_bath('tfg:large_soaked_hide')
.itemInputs('tfc:large_raw_hide')
.inputFluids(Fluid.of('tfc:limewater', 500))
.itemOutputs('tfc:large_soaked_hide')
.duration(3200)
.EUt(16)
// Scraped Hides
event.recipes.gtceu.cutter('tfg:small_scraped_hide')
.itemInputs('tfc:small_soaked_hide')
.itemOutputs('tfc:small_scraped_hide')
.duration(100)
.EUt(7)
event.recipes.gtceu.cutter('tfg:medium_scraped_hide')
.itemInputs('tfc:medium_soaked_hide')
.itemOutputs('tfc:medium_scraped_hide')
.duration(100)
.EUt(7)
event.recipes.gtceu.cutter('tfg:large_scraped_hide')
.itemInputs('tfc:large_soaked_hide')
.itemOutputs('tfc:large_scraped_hide')
.duration(100)
.EUt(7)
// Prepared hides
event.recipes.gtceu.chemical_bath('tfg:small_prepared_hide')
.itemInputs('tfc:small_soaked_hide')
.inputFluids(Fluid.of('water', 300))
.itemOutputs('tfc:small_prepared_hide')
.duration(1600)
.EUt(16)
event.recipes.gtceu.chemical_bath('tfg:medium_prepared_hide')
.itemInputs('tfc:medium_soaked_hide')
.inputFluids(Fluid.of('water', 400))
.itemOutputs('tfc:medium_prepared_hide')
.duration(2400)
.EUt(16)
event.recipes.gtceu.chemical_bath('tfg:large_prepared_hide')
.itemInputs('tfc:large_soaked_hide')
.inputFluids(Fluid.of('water', 500))
.itemOutputs('tfc:large_prepared_hide')
.duration(3200)
.EUt(16)
// Leather
event.recipes.gtceu.chemical_bath('tfg:small_leather')
.itemInputs('tfc:small_prepared_hide')
.inputFluids(Fluid.of('tfc:tannin', 300))
.itemOutputs('minecraft:leather')
.duration(1600)
.EUt(16)
event.recipes.gtceu.chemical_bath('tfg:medium_leather')
.itemInputs('tfc:medium_prepared_hide')
.inputFluids(Fluid.of('tfc:tannin', 400))
.itemOutputs('2x minecraft:leather')
.duration(2400)
.EUt(16)
event.recipes.gtceu.chemical_bath('tfg:large_leather')
.itemInputs('tfc:large_prepared_hide')
.inputFluids(Fluid.of('tfc:tannin', 500))
.itemOutputs('3x minecraft:leather')
.duration(3200)
.EUt(16)
//#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)
.circuit(3)
})
//#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.assembler(`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
//#region СЫЫЫР 0_0
// Rennet
event.recipes.gtceu.fermenter('tfg:fermenter/vegetable_rennet')
.itemInputs('#tfg:ferments_to_rennet')
.itemOutputs('firmalife:rennet')
.duration(400)
.EUt(16)
event.recipes.gtceu.fermenter('tfg:fermenter/biomass_rennet')
.inputFluids(Fluid.of('gtceu:fermented_biomass', 100))
.itemOutputs('firmalife:rennet')
.duration(2400)
.EUt(16)
// Curdled milk
event.recipes.gtceu.fermenter('tfg:fermenter/curdled_milk')
.inputFluids(Fluid.of('minecraft:milk', 1000))
.itemInputs('firmalife:rennet')
.outputFluids(Fluid.of('tfc:curdled_milk'))
.duration(2400)
.EUt(16)
event.recipes.gtceu.fermenter('tfg:fermenter/curdled_yak_milk')
.inputFluids(Fluid.of('firmalife:yak_milk', 1000))
.itemInputs('firmalife:rennet')
.outputFluids(Fluid.of('firmalife:curdled_yak_milk'))
.duration(2400)
.EUt(16)
event.recipes.gtceu.fermenter('tfg:fermenter/curdled_goat_milk')
.inputFluids(Fluid.of('firmalife:goat_milk', 1000))
.itemInputs('firmalife:rennet')
.outputFluids(Fluid.of('firmalife:curdled_goat_milk'))
.duration(2400)
.EUt(16)
//Curds
event.recipes.gtceu.fermenter('tfg:fermenter/milk_curd')
.inputFluids(Fluid.of('tfc:curdled_milk', 1000))
.itemOutputs('firmalife:food/milk_curd')
.duration(1200)
.EUt(16)
event.recipes.gtceu.fermenter('tfg:fermenter/yak_curd')
.inputFluids(Fluid.of('firmalife:curdled_yak_milk', 1000))
.itemOutputs('firmalife:food/yak_curd')
.duration(1200)
.EUt(16)
event.recipes.gtceu.fermenter('tfg:fermenter/goat_curd')
.inputFluids(Fluid.of('firmalife:curdled_goat_milk', 1000))
.itemOutputs('firmalife:food/goat_curd')
.duration(1200)
.EUt(16)
// Cheese wheels
event.recipes.gtceu.fermenter('tfg:fermenter/gouda_wheel')
.inputFluids(Fluid.of('tfc:salt_water', 750))
.itemInputs('3x firmalife:food/milk_curd')
.itemOutputs('firmalife:gouda_wheel')
.duration(12000)
.EUt(24)
event.recipes.gtceu.fermenter('tfg:fermenter/shosha_wheel')
.inputFluids(Fluid.of('tfc:salt_water', 750))
.itemInputs('3x firmalife:food/yak_curd')
.itemOutputs('firmalife:shosha_wheel')
.duration(12000)
.EUt(24)
event.recipes.gtceu.fermenter('tfg:fermenter/feta_wheel')
.inputFluids(Fluid.of('tfc:salt_water', 750))
.itemInputs('3x firmalife:food/goat_curd')
.itemOutputs('firmalife:feta_wheel')
.duration(12000)
.EUt(24)
// Cutting
event.recipes.gtceu.cutter('tfg:cutter/gouda')
.itemInputs('firmalife:gouda_wheel')
.itemOutputs('4x firmalife:food/gouda')
.duration(40)
.EUt(7)
event.recipes.gtceu.cutter('tfg:cutter/shosha')
.itemInputs('firmalife:shosha_wheel')
.itemOutputs('4x firmalife:food/shosha')
.duration(40)
.EUt(7)
event.recipes.gtceu.cutter('tfg:cutter/feta')
.itemInputs('firmalife:feta_wheel')
.itemOutputs('4x firmalife:food/feta')
.duration(40)
.EUt(7)
event.recipes.gtceu.cutter('tfg:cutter/cheddar')
.itemInputs('firmalife:cheddar_wheel')
.itemOutputs('4x firmalife:food/cheddar')
.duration(40)
.EUt(7)
event.recipes.gtceu.cutter('tfg:cutter/chevre')
.itemInputs('firmalife:chevre_wheel')
.itemOutputs('4x firmalife:food/chevre')
.duration(40)
.EUt(7)
event.recipes.gtceu.cutter('tfg:cutter/rajya_metok')
.itemInputs('firmalife:rajya_metok_wheel')
.itemOutputs('4x firmalife:food/rajya_metok')
.duration(40)
.EUt(7)
// Misc
global.TFC_MILKS.forEach(milk => {
event.recipes.gtceu.fermenter(`tfg:fermenter/cream_from_${milk.id.replace(':', '_')}`)
.inputFluids(Fluid.of(milk.id, 1000))
.outputFluids(Fluid.of('firmalife:cream'))
.duration(1200)
.EUt(24)
})
event.recipes.gtceu.mixer('tfg:mixer/tomato_sauce')
.itemInputs('firmalife:food/tomato_sauce_mix')
.inputFluids(Fluid.of('minecraft:water', 200))
.itemOutputs('firmalife:food/tomato_sauce')
.duration(200)
.EUt(24)
//#endregion
//#region Оливки
event.recipes.gtceu.macerator(`tfg:tfc/olive_paste`)
.itemInputs('tfc:food/olive')
.itemOutputs('2x tfc:olive_paste')
.duration(60)
.EUt(2)
event.recipes.gtceu.mixer('tfg:tfc/olive_oil_water')
.inputFluids(Fluid.of('water', 200))
.itemInputs('2x tfc:olive_paste')
.outputFluids(Fluid.of('tfc:olive_oil_water', 200))
.duration(200)
.EUt(28)
event.recipes.gtceu.distillery('tfg:tfc/olive_oil')
.inputFluids(Fluid.of('tfc:olive_oil_water', 250))
.outputFluids(Fluid.of('tfc:olive_oil', 50))
.duration(600)
.EUt(28)
//#endregion
// 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)
// 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')
.circuit(0)
.itemOutputs('tfc:burlap_cloth')
.duration(100)
.EUt(4)
// Silk Cloth
event.recipes.gtceu.assembler('tfg:tfc/silk_cloth')
.itemInputs('24x minecraft:string')
.circuit(0)
.itemOutputs('tfc:silk_cloth')
.duration(100)
.EUt(4)
// Wool Cloth
event.recipes.gtceu.assembler('tfg:tfc/wool_cloth')
.itemInputs('16x tfc:wool_yarn')
.circuit(0)
.itemOutputs('tfc:wool_cloth')
.duration(100)
.EUt(4)
// Cloths to Wool
event.recipes.gtceu.assembler('tfg:tfc/cloth_to_wool')
.itemInputs('4x #tfc:sewing_light_cloth')
.itemOutputs('8x minecraft:white_wool')
.circuit(16)
.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')
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,335 @@
// priority: 0
function registerTFCMetalsRecipes(event) {
//#region Рецепты для новых сплавов
event.recipes.tfc.alloy('tfg:red_alloy', [
TFC.alloyPart('tfg:redstone', 0.75, 0.85),
TFC.alloyPart('tfc:copper', 0.15, 0.25)
]).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 Фикс рецептов колоколов
//#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`)
event.recipes.create.filling(
Item.of('tfc:ceramic/bell_mold', getFillingNBT(GTMaterials.Gold, 144)),
[
Fluid.of(GTMaterials.Gold.getFluid(), 144),
Item.of('tfc:ceramic/bell_mold').strongNBT()
]
).id(`tfg:tfc/filling/${GTMaterials.Gold.getName()}_bell_mold`)
//#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`)
event.recipes.create.filling(
Item.of('tfc:ceramic/bell_mold', getFillingNBT(GTMaterials.Brass, 144)),
[
Fluid.of(GTMaterials.Brass.getFluid(), 144),
Item.of('tfc:ceramic/bell_mold').strongNBT()
]
).id(`tfg:tfc/filling/${GTMaterials.Brass.getName()}_bell_mold`)
//#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`)
event.recipes.create.filling(
Item.of('tfc:ceramic/bell_mold', getFillingNBT(GTMaterials.Bronze, 144)),
[
Fluid.of(GTMaterials.Bronze.getFluid(), 144),
Item.of('tfc:ceramic/bell_mold').strongNBT()
]
).id(`tfg:tfc/filling/${GTMaterials.Bronze.getName()}_bell_mold`)
//#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(700)
.EUt(4)
// Высокоуглеродная сталь -> Cталь
event.recipes.gtceu.forge_hammer('tfg/steel')
.itemInputs('tfc:metal/ingot/high_carbon_steel')
.itemOutputs('gtceu:steel_ingot')
.duration(700)
.EUt(4)
// Высокоуглеродная черная сталь -> черная сталь
event.recipes.gtceu.forge_hammer('tfg/black_steel')
.itemInputs('tfc:metal/ingot/high_carbon_black_steel')
.itemOutputs('tfc:metal/ingot/black_steel')
.duration(900)
.EUt(4)
// Высокоуглеродная синяя сталь -> синяя сталь
event.recipes.gtceu.forge_hammer('tfg/blue_steel')
.itemInputs('tfc:metal/ingot/high_carbon_blue_steel')
.itemOutputs('tfc:metal/ingot/blue_steel')
.duration(1000)
.EUt(4)
// Высокоуглеродная красная сталь -> красная сталь
event.recipes.gtceu.forge_hammer('tfg/red_steel')
.itemInputs('tfc:metal/ingot/high_carbon_red_steel')
.itemOutputs('tfc:metal/ingot/red_steel')
.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('2x tfc:metal/ingot/high_carbon_black_steel')
.duration(1000)
.EUt(4)
// Слабая синяя сталь + Черная сталь -> Высокоуглеродная синяя сталь
event.recipes.gtceu.alloy_smelter('tfg/high_carbon_blue_steel')
.itemInputs('tfc:metal/ingot/weak_blue_steel', 'tfc:metal/ingot/black_steel')
.itemOutputs('2x tfc:metal/ingot/high_carbon_blue_steel')
.duration(1000)
.EUt(4)
// Слабая красная сталь + Черная сталь -> Высокоуглеродная красная сталь
event.recipes.gtceu.alloy_smelter('tfg/high_carbon_red_steel')
.itemInputs('tfc:metal/ingot/weak_red_steel', 'tfc:metal/ingot/black_steel')
.itemOutputs('2x tfc:metal/ingot/high_carbon_red_steel')
.duration(1000)
.EUt(4)
const TFC_INTERMEDIATE_METALS =
[
{ metal: 'pig_iron', meltTemp: 1535 },
{ metal: 'high_carbon_steel', meltTemp: 1540 },
{ metal: 'high_carbon_black_steel', meltTemp: 1540 },
{ metal: 'high_carbon_red_steel', meltTemp: 1540 },
{ metal: 'high_carbon_blue_steel', meltTemp: 1540 },
{ metal: 'weak_steel', meltTemp: 1540 },
{ metal: 'weak_blue_steel', meltTemp: 1540 },
{ metal: 'weak_red_steel', meltTemp: 1540 },
{ metal: 'unknown', meltTemp: 400 }
]
TFC_INTERMEDIATE_METALS.forEach(x => {
event.recipes.tfc.casting(`tfc:metal/ingot/${x.metal}`, 'tfc:ceramic/ingot_mold', Fluid.of(`tfc:metal/${x.metal}`, 144), 0.1)
.id(`tfc:casting/${x.metal}_ingot`)
event.recipes.tfc.casting(`tfc:metal/ingot/${x.metal}`, 'tfc:ceramic/fire_ingot_mold', Fluid.of(`tfc:metal/${x.metal}`, 144), 0.01)
.id(`tfc:casting/${x.metal}_fire_ingot`)
event.recipes.tfc.heating(`tfc:metal/ingot/${x.metal}`, x.meltTemp)
.resultFluid(Fluid.of(`tfc:metal/${x.metal}`, 144))
.id(`tfc:heating/metal/${x.metal}_ingot`)
event.recipes.create.filling(
Item.of('tfc:ceramic/ingot_mold',
{
tank: {
FluidName: `tfc:metal/${x.metal}`,
Amount: 144
}
}),
[
Fluid.of(`tfc:metal/${x.metal}`, 144),
Item.of('tfc:ceramic/ingot_mold').strongNBT()
])
.id(`tfg:tfc/filling/${x.metal}_ingot`)
event.recipes.create.filling(
Item.of('tfc:ceramic/fire_ingot_mold',
{
tank: {
FluidName: `tfc:metal/${x.metal}`,
Amount: 144
}
}),
[
Fluid.of(`tfc:metal/${x.metal}`, 144),
Item.of('tfc:ceramic/fire_ingot_mold').strongNBT()
]
).id(`tfg:tfc/filling/${x.metal}_fire_ingot`)
})
//#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', 144))
.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('tfc:metal/ingot/black_steel', '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('tfc:metal/ingot/red_steel', '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('tfc:metal/ingot/blue_steel', 'tfc:metal/ingot/high_carbon_blue_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(5)
.id('tfc:anvil/blue_steel_ingot')
// Gears
event.recipes.tfc.anvil('gtceu:bronze_gear', '#forge:double_plates/bronze', ['punch_last', 'shrink_any', 'draw_any']).tier(2)
.id('tfc:anvil/bronze_gear')
event.recipes.tfc.anvil('gtceu:black_bronze_gear', '#forge:double_plates/black_bronze', ['punch_last', 'shrink_any', 'draw_any']).tier(2)
.id('tfc:anvil/black_bronze_gear')
event.recipes.tfc.anvil('gtceu:bismuth_bronze_gear', '#forge:double_plates/bismuth_bronze', ['punch_last', 'shrink_any', 'draw_any']).tier(2)
.id('tfc:anvil/bismuth_bronze_gear')
event.recipes.tfc.anvil('gtceu:wrought_iron_gear', '#forge:double_plates/wrought_iron', ['punch_last', 'shrink_any', 'draw_any']).tier(3)
.id('tfc:anvil/wrought_iron_gear')
event.recipes.tfc.anvil('gtceu:steel_gear', '#forge:double_plates/steel', ['punch_last', 'shrink_any', 'draw_any']).tier(4)
.id('tfc:anvil/steel_gear')
event.recipes.tfc.anvil('gtceu:black_steel_gear', '#forge:double_plates/black_steel', ['punch_last', 'shrink_any', 'draw_any']).tier(5)
.id('tfc:anvil/black_steel_gear')
event.recipes.tfc.anvil('gtceu:red_steel_gear', '#forge:double_plates/red_steel', ['punch_last', 'shrink_any', 'draw_any']).tier(6)
.id('tfc:anvil/red_steel_gear')
event.recipes.tfc.anvil('gtceu:blue_steel_gear', '#forge:double_plates/blue_steel', ['punch_last', 'shrink_any', 'draw_any']).tier(6)
.id('tfc:anvil/blue_steel_gear')
event.recipes.tfc.anvil('gtceu:small_wrought_iron_gear', '#forge:ingots/wrought_iron', ['shrink_last', 'shrink_second_last', 'upset_third_last']).tier(3)
.id('tfc:anvil/small_wrought_iron_gear')
event.recipes.tfc.anvil('gtceu:small_steel_gear', '#forge:ingots/steel', ['shrink_last', 'shrink_second_last', 'upset_third_last']).tier(4)
.id('tfc:anvil/small_steel_gear')
event.recipes.tfc.anvil('gtceu:small_brass_gear', '#forge:ingots/brass', ['shrink_last', 'shrink_second_last', 'upset_third_last']).tier(2)
.id('tfc:anvil/small_brass_gear')
event.recipes.tfc.anvil('gtceu:small_bronze_gear', '#forge:ingots/bronze', ['shrink_last', 'shrink_second_last', 'upset_third_last']).tier(2)
.id('tfc:anvil/small_bronze_gear')
// 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('tfc:metal/pig_iron', 1), '#tfc:flux', Fluid.of('gtceu:iron', 1))
.id('tfc:blast_furnace/pig_iron')
//#endregion
//#region Gravel Deposit Washing
const deposit_ores = [
'native_gold',
'native_copper',
'native_silver',
'cassiterite'
];
global.TFC_STONE_TYPES.forEach(stone => {
deposit_ores.forEach(ore => {
event.recipes.gtceu.ore_washer(`tfc:ore_washer/water/deposit/${ore}/${stone}`)
.itemInputs(`1x tfc:deposit/${ore}/${stone}`)
.inputFluids(Fluid.of('minecraft:water', 100))
.circuit(4)
.itemOutputs(`1x tfc:ore/normal_${ore}`)
.duration(400)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.ore_washer(`tfc:ore_washer/distilled_water/deposit/${ore}/${stone}`)
.itemInputs(`1x tfc:deposit/${ore}/${stone}`)
.inputFluids(Fluid.of('gtceu:distilled_water', 50))
.circuit(4)
.itemOutputs(`1x tfc:ore/normal_${ore}`)
.duration(200)
.EUt(GTValues.VA[GTValues.LV])
})})
//#endregion
}

View file

@ -0,0 +1,147 @@
// priority: 0
function removeTFCRecipes(event) {
// Удаление рецептов руд 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/ })
//#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` })
//#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/topaz' })
event.remove({ id: 'tfc:quern/topaz_cut' })
//#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
// Другое
event.remove({ id: `tfc:crafting/trip_hammer` })
event.remove({ id: `tfc:anvil/steel_pump` })
event.remove({ id: `tfc:anvil/brass_mechanisms` })
event.remove({ id: `tfc:crafting/steel_pump` })
event.remove({ id: `tfc:crafting/crankshaft` })
event.remove({ id: 'tfc:crafting/sandpaper' })
}

View file

@ -0,0 +1,173 @@
// priority: 0
function registerTFCSandRecipes(event) {
// Нефтеносный -> Желтый песок
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`)
// Песчанник -> Обрезанный песчанник
event.stonecutting(`tfc:cut_sandstone/${sandColor}`, `tfc:raw_sandstone/${sandColor}`)
.id(`raw_sandstone_${sandColor}_to_cut_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`)
// Песчанник -> Плита
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`)
// Песчанник -> Стена
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`)
// Гладкий песчанник -> Ступень
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`)
// Гладкий песчанник -> Плита
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`)
// Гладкий песчанник -> Стена
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`)
// Обрезанный песчанник -> Ступень
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`)
// Обрезанный песчанник -> Плита
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`)
// Обрезанный песчанник -> Стена
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`)
})
// Коричневый гравий -> Песок
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)
}

View file

@ -0,0 +1,745 @@
// priority: 0
function registerTFCStoneRecipes(event) {
global.TFC_STONE_TYPES.forEach(stone => {
let stoneMaterial = TFGHelpers.getMaterial(stone);
let stoneDust = ChemicalHelper.get(TagPrefix.dust, stoneMaterial, 1)
let smallStoneDust = ChemicalHelper.get(TagPrefix.dustSmall, stoneMaterial, 1)
// Кирпич (предмет)
event.recipes.gtceu.assembler(`tfg:tfc/${stone}_loose_to_brick`)
.itemInputs(`tfc:rock/loose/${stone}`)
.itemOutputs(`tfc:brick/${stone}`)
.circuit(1)
.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.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}`, `6x tfc:rock/button/${stone}`, 50, 2, `${stone}_raw_button`)
// Gravel Crafting
event.shapeless(`1x tfc:rock/gravel/${stone}`, [
`4x tfc:rock/loose/${stone}`
]).id(`tfc:shapeless/loose_${stone}_to_gravel`)
event.shapeless(`1x tfc:rock/gravel/${stone}`, [
`4x tfc:rock/mossy_loose/${stone}`
]).id(`tfc:shapeless/mossy_loose_${stone}_to_gravel`)
event.shapeless(`16x tfc:rock/loose/${stone}`, [
`4x tfc:rock/gravel/${stone}`
]).id(`tfc:shapeless/gravel_to_loose_${stone}`)
//#endregion
// #region Stonecutting
// Сырой камень -> Ступени
event.remove({ id: `tfc:crafting/rock/${stone}_raw_stairs` })
// Сырой камень -> Плиты
event.remove({ id: `tfc:crafting/rock/${stone}_raw_slab` })
// Сырой камень -> Стена
event.remove({ id: `tfc:crafting/rock/${stone}_raw_wall` })
// Булыжник -> Ступени
event.remove({ id: `tfc:crafting/rock/${stone}_cobble_stairs` })
// Булыжник -> Плиты
event.remove({ id: `tfc:crafting/rock/${stone}_cobble_slab` })
// Булыжник -> Стена
event.remove({ id: `tfc:crafting/rock/${stone}_cobble_wall` })
// Булыжник -> Ступени
event.remove({ id: `tfc:crafting/rock/${stone}_smooth_stairs` })
// Булыжник -> Плиты
event.remove({ id: `tfc:crafting/rock/${stone}_smooth_slab` })
// Булыжник -> Стена
event.remove({ id: `tfc:crafting/rock/${stone}_smooth_wall` })
// Блок кирпичей -> Ступени
event.remove({ id: `tfc:crafting/rock/${stone}_bricks_stairs` })
// Блок кирпичей -> Плиты
event.remove({ id: `tfc:crafting/rock/${stone}_bricks_slab` })
// Блок кирпичей -> Стена
event.remove({ id: `tfc:crafting/rock/${stone}_bricks_wall` })
// Потрескавшийся кирпич -> Ступени
event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_stairs` })
// Потрескавшийся кирпич -> Плиты
event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_slab` })
// Потрескавшийся кирпич -> Стена
event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_wall` })
// Замшелый булыжник -> Ступени
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_stairs` })
//Замшелый булыжник -> Плиты
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_slab` })
// Замшелый булыжник -> Стена
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_wall` })
// Замшелый булыжник -> Ступени
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_stairs` })
//Замшелый булыжник -> Плиты
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_slab` })
// Замшелый булыжник -> Стена
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_wall` })
// Укрепленный сырой камень -> Гладкий
event.stonecutting(`tfc:rock/smooth/${stone}`, `tfc:rock/hardened/${stone}`).id(`hardened_${stone}_to_smooth`)
// Блок кирпичей -> Резной кирпич
event.stonecutting(`tfc:rock/chiseled/${stone}`, `tfc:rock/bricks/${stone}`).id(`chiseled_${stone}`)
// #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(2)
.inputFluids(Fluid.of('gtceu:concrete', 72))
.itemOutputs(`tfc:rock/cobble/${stone}`)
.duration(50)
.EUt(2)
// #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)
//#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)
//#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)
//#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)
//#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 Декрафт блоков камня в пыль
//#region Целый блок
// Сырой
event.recipes.gtceu.macerator(`raw_${stone}_to_dust`)
.itemInputs(`tfc:rock/raw/${stone}`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Булыжник
event.recipes.gtceu.macerator(`cobble_${stone}_to_dust`)
.itemInputs(`tfc:rock/cobble/${stone}`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Гладкий
event.recipes.gtceu.macerator(`smooth_${stone}_to_dust`)
.itemInputs(`tfc:rock/smooth/${stone}`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Кирпичи
event.recipes.gtceu.macerator(`bricks_${stone}_to_dust`)
.itemInputs(`tfc:rock/bricks/${stone}`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Потрескавшиеся кирпичи
event.recipes.gtceu.macerator(`cracked_bricks_${stone}_to_dust`)
.itemInputs(`tfc:rock/cracked_bricks/${stone}`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Замшелый булыжник
event.recipes.gtceu.macerator(`mossy_cobble_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_cobble/${stone}`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Замшелый кирпич
event.recipes.gtceu.macerator(`mossy_bricks_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_bricks/${stone}`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
//#endregion
//#region Ступень
// Сырой
event.recipes.gtceu.macerator(`raw_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/raw/${stone}_stairs`)
.itemOutputs(smallStoneDust.withCount(6))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Булыжник
event.recipes.gtceu.macerator(`cobble_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/cobble/${stone}_stairs`)
.itemOutputs(smallStoneDust.withCount(6))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Гладкий
event.recipes.gtceu.macerator(`smooth_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/smooth/${stone}_stairs`)
.itemOutputs(smallStoneDust.withCount(6))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Кирпичи
event.recipes.gtceu.macerator(`bricks_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/bricks/${stone}_stairs`)
.itemOutputs(smallStoneDust.withCount(6))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Потрескавшиеся кирпичи
event.recipes.gtceu.macerator(`cracked_bricks_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/cracked_bricks/${stone}_stairs`)
.itemOutputs(smallStoneDust.withCount(6))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Замшелый булыжник
event.recipes.gtceu.macerator(`mossy_cobble_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_cobble/${stone}_stairs`)
.itemOutputs(smallStoneDust.withCount(6))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Замшелый кирпич
event.recipes.gtceu.macerator(`mossy_bricks_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_bricks/${stone}_stairs`)
.itemOutputs(smallStoneDust.withCount(6))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
//#endregion
//#region Плита
// Сырой
event.recipes.gtceu.macerator(`raw_slab_${stone}_to_dust`)
.itemInputs(`tfc:rock/raw/${stone}_slab`)
.itemOutputs(smallStoneDust.withCount(2))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Булыжник
event.recipes.gtceu.macerator(`cobble_slab_${stone}_to_dust`)
.itemInputs(`tfc:rock/cobble/${stone}_slab`)
.itemOutputs(smallStoneDust.withCount(2))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Гладкий
event.recipes.gtceu.macerator(`smooth_slab_${stone}_to_dust`)
.itemInputs(`tfc:rock/smooth/${stone}_slab`)
.itemOutputs(smallStoneDust.withCount(2))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Кирпичи
event.recipes.gtceu.macerator(`bricks_slab_${stone}_to_dust`)
.itemInputs(`tfc:rock/bricks/${stone}_slab`)
.itemOutputs(smallStoneDust.withCount(2))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Потрескавшиеся кирпичи
event.recipes.gtceu.macerator(`cracked_bricks_slab_${stone}_to_dust`)
.itemInputs(`tfc:rock/cracked_bricks/${stone}_slab`)
.itemOutputs(smallStoneDust.withCount(2))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Замшелый булыжник
event.recipes.gtceu.macerator(`mossy_cobble_slab_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_cobble/${stone}_slab`)
.itemOutputs(smallStoneDust.withCount(2))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Замшелый кирпич
event.recipes.gtceu.macerator(`mossy_bricks_slab_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_bricks/${stone}_slab`)
.itemOutputs(smallStoneDust.withCount(2))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
//#endregion
//#region Стена
// Сырой
event.recipes.gtceu.macerator(`raw_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/raw/${stone}_wall`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Булыжник
event.recipes.gtceu.macerator(`cobble_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/cobble/${stone}_wall`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Гладкий
event.recipes.gtceu.macerator(`smooth_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/smooth/${stone}_wall`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Кирпичи
event.recipes.gtceu.macerator(`bricks_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/bricks/${stone}_wall`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Потрескавшиеся кирпичи
event.recipes.gtceu.macerator(`cracked_bricks_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/cracked_bricks/${stone}_wall`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Замшелый булыжник
event.recipes.gtceu.macerator(`mossy_cobble_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_cobble/${stone}_wall`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Замшелый кирпич
event.recipes.gtceu.macerator(`mossy_bricks_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_bricks/${stone}_wall`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
//#endregion
// Резной кирпич
event.recipes.gtceu.macerator(`chiseled_${stone}_to_dust`)
.itemInputs(`tfc:rock/chiseled/${stone}`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Укрепленный
event.recipes.gtceu.macerator(`hardened_${stone}_to_dust`)
.itemInputs(`tfc:rock/hardened/${stone}`)
.itemOutputs(stoneDust.withCount(2))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
//#endregion
event.custom({
type: "tfc:collapse",
ingredient: {
tag: `forge:ores_in_ground/${stone}`
},
result: `tfc:rock/cobble/${stone}`
}).id(`tfg:collapse/${stone}_gt_ores`)
})
// #region Rock decomposition recipes
let oxygenFluid = GTMaterials.Oxygen.getFluid();
// Replacements
event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_blackstone' })
event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__diorite')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Diorite, 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Mirabilite, 1), 2000, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Clay, 1), 7000, 700)
.outputFluids(Fluid.of(oxygenFluid, 5))
event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__marble')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Marble, 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Magnesium, 1), 1500, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcite, 1), 8000, 700)
.outputFluids(Fluid.of(oxygenFluid, 12))
event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__andesite')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Andesite, 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Asbestos, 1), 8000, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Saltpeter, 1), 2000, 700)
event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__basalt')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Basalt, 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Olivine, 1), 1700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcite, 1), 1700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Flint, 1), 5000, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dust, GTMaterials.DarkAsh, 1), 2500, 700)
event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__granite')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Granite, 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 1), 8000, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Redrock, 1), 2000, 700)
.outputFluids(Fluid.of(oxygenFluid, 5))
event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__deepslate')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Deepslate, 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 1), 8000, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Biotite, 1), 2000, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Stone, 1), 3700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 3700, 700)
.outputFluids(Fluid.of(oxygenFluid, 12))
event.recipes.gtceu.centrifuge('blackstone_dust_separation')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Blackstone, 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dust, GTMaterials.DarkAsh, 1), 2500, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 3700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Sodium, 1), 6700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Magnesium, 1), 4700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 3700, 700)
.outputFluids(Fluid.of(oxygenFluid, 16))
// New
event.recipes.gtceu.centrifuge('gabbro_dust_separation')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('gabbro'), 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Rutile, 1), 6700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Iron, 1), 3700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1700, 700)
event.recipes.gtceu.centrifuge('shale_dust_separation')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('shale'), 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Sodium, 1), 7500, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1500, 700)
.outputFluids(Fluid.of(oxygenFluid, 16))
event.recipes.gtceu.centrifuge('claystone_dust_separation')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('claystone'), 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Aluminium, 1), 6700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Silicon, 1), 6700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Hematite, 1), 6700, 700)
.outputFluids(Fluid.of(oxygenFluid, 5))
event.recipes.gtceu.centrifuge('limestone_dust_separation')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('limestone'), 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 8700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1700, 700)
.outputFluids(Fluid.of(oxygenFluid, 36))
event.recipes.gtceu.centrifuge('conglomerate_dust_separation')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('conglomerate'), 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Hematite, 1), 6700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Silicon, 1), 4700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.TricalciumPhosphate, 1), 3700, 700)
.outputFluids(Fluid.of(oxygenFluid, 5))
event.recipes.gtceu.centrifuge('dolomite_dust_separation')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('dolomite'), 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Magnesium, 1), 6700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 5700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 3700, 700)
.outputFluids(Fluid.of(oxygenFluid, 16))
event.recipes.gtceu.centrifuge('chert_dust_separation')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('chert'), 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Silicon, 1), 6700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 3700, 700)
.outputFluids(Fluid.of(oxygenFluid, 24))
event.recipes.gtceu.centrifuge('chalk_dust_separation')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('chalk'), 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 6700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Carbon, 1), 3700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1700, 700)
.outputFluids(Fluid.of(oxygenFluid, 12))
event.recipes.gtceu.centrifuge('rhyolite_dust_separation')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('rhyolite'), 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 1), 8700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 800, 700)
event.recipes.gtceu.centrifuge('dacite_dust_separation')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('dacite'), 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Sodium, 1), 6700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 5700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 1), 4700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Aluminium, 1), 3700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1500, 700)
.outputFluids(Fluid.of(oxygenFluid, 12))
event.recipes.gtceu.centrifuge('slate_dust_separation')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('slate'), 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 1), 4700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 3700, 700)
.outputFluids(Fluid.of(oxygenFluid, 24))
event.recipes.gtceu.centrifuge('phyllite_dust_separation')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('phyllite'), 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Quartzite, 1), 5700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.CalciumChloride, 1), 1700, 700)
.outputFluids(Fluid.of(oxygenFluid, 5))
event.recipes.gtceu.centrifuge('schist_dust_separation')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('schist'), 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Mica, 1), 6700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Talc, 1), 5700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Graphite, 1), 4700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 780, 700)
.outputFluids(Fluid.of(oxygenFluid, 12))
event.recipes.gtceu.centrifuge('gneiss_dust_separation')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('gneiss'), 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Quartzite, 1), 6700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Biotite, 1), 3700, 700)
.outputFluids(Fluid.of(oxygenFluid, 5))
event.recipes.gtceu.centrifuge('dripstone_dust_separation')
.EUt(GTValues.VA[GTValues.MV])
.duration(480)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('dripstone'), 1))
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.CalciumCarbonate, 1), 8700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.CalciumHydroxide, 1), 1700, 700)
.chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 1), 4700, 700)
.outputFluids(Fluid.of(oxygenFluid, 12))
// #endregion
}

View file

@ -0,0 +1,53 @@
// priority: 0
function registerTFCWoodRecipes(event) {
// Какие то рецепты дерева
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`, `16x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_log`)
// Доски -> Пиломатериалы
generateCutterRecipe(event, `tfc:wood/planks/${wood}`, `4x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_planks`)
// Ступень -> Пиломатериалы
generateCutterRecipe(event, `tfc:wood/planks/${wood}_stairs`, `3x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_stairs`)
// Плита -> Пиломатериалы
generateCutterRecipe(event, `tfc:wood/planks/${wood}_slab`, `2x tfc:wood/lumber/${wood}`, 50, 7, `${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`, `6x tfc:wood/planks/${wood}_button`, 50, 7, `${wood}_button`)
})
}

View file

@ -0,0 +1,25 @@
TFCEvents.selectClimateModel(event => {
let location = event.level.dimensionKey.location();
switch (location) {
/*case 'ad_astra:moon':
event.setModel('tfg:moon_climate');
break;
case 'ad_astra:mars':
event.setModel('tfg:mars_climate');
break;
case 'ad_astra:earth_orbit':
case 'ad_astra:moon_orbit':
case 'ad_astra:mars_orbit':
event.setModel('tfg:orbit_climate');
break;*/
case 'minecraft:the_nether':
event.setModel('tfg:nether_climate');
break;
}
})

View file

@ -1,5 +1,9 @@
// priority: 0
/**
*
* @param {TagEvent.Item} event
*/
const registerTFCItemTags = (event) => {
// Теги для соответствия инструментов TFC и GT
@ -48,6 +52,10 @@ const registerTFCItemTags = (event) => {
event.add('minecraft:fishes', 'tfc:food/rainbow_trout')
event.add('minecraft:fishes', 'tfc:food/smallmouth_bass')
// Make eggs not useless
event.add('tfc:foods/usable_in_salad', 'tfc:food/cooked_egg')
event.add('tfc:foods/usable_in_salad', 'tfc:food/boiled_egg')
// Чтобы жарились бревна из TFC в пиролиз. печке
// Почему нельзя просто добавить тег в тег? (допустим minecraft:logs), потому что из-за этого ломаются все рецепты minecraft:logs, магия...
global.TFC_WOOD_TYPES.forEach(woodType => {
@ -57,26 +65,35 @@ const registerTFCItemTags = (event) => {
// Allows TFC stick bundles to be burned in the coke/pyrolyse ovens
event.add("minecraft:logs_that_burn", "tfc:stick_bundle");
// Определеяет какое оружие может появиться у зомбя/скелета в руках
// Мечи
event.add('tfc:mob_mainhand_weapons', 'gtceu:bismuth_bronze_sword')
event.add('tfc:mob_mainhand_weapons', 'gtceu:bronze_sword')
event.add('tfc:mob_mainhand_weapons', 'gtceu:black_bronze_sword')
// Топоры
event.add('tfc:mob_mainhand_weapons', 'gtceu:bismuth_bronze_axe')
event.add('tfc:mob_mainhand_weapons', 'gtceu:bronze_axe')
event.add('tfc:mob_mainhand_weapons', 'gtceu:black_bronze_axe')
// Косы
event.add('tfc:mob_mainhand_weapons', 'gtceu:bismuth_bronze_scythe')
event.add('tfc:mob_mainhand_weapons', 'gtceu:bronze_scythe')
event.add('tfc:mob_mainhand_weapons', 'gtceu:black_bronze_scythe')
// Remove sulfur dust overlap
event.remove('forge:dusts/sulfur', 'tfc:powder/sulfur');
// Тэги для возможности использования разных углей в кузне
event.add('tfc:forge_fuel', 'minecraft:coal')
event.add('tfc:forge_fuel', 'beneath:cursecoal')
event.add('tfc:forge_fuel', 'gtceu:coke_gem')
event.add('tfc:forge_fuel', 'gtceu:rich_raw_coal')
event.add('tfc:forge_fuel', 'gtceu:raw_coal')
event.add('tfc:forge_fuel', 'gtceu:poor_raw_coal')
event.add('tfc:forge_fuel', 'gtceu:coal_dust')
event.add('tfc:forge_fuel', 'gtceu:charcoal_dust')
// Change blast furnace to use coke
event.remove('tfc:blast_furnace_fuel', 'minecraft:coal')
event.remove('tfc:blast_furnace_fuel', 'minecraft:charcoal')
event.add('tfc:blast_furnace_fuel', 'gtceu:coke_gem')
event.add('tfc:blast_furnace_fuel', 'beneath:cursecoal')
// Create a tag for Steam Bloomery
event.add('tfc:steam_bloomery_basic_fuels', 'minecraft:coal')
event.add('tfc:steam_bloomery_basic_fuels', 'minecraft:charcoal')
event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:rich_raw_coal')
event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:rich_raw_coal')
event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:raw_coal')
event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:poor_raw_coal')
event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:coal_dust')
event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:charcoal_dust')
// Тэги для сундуков, чтобы отличать их виды
global.TFC_WOOD_TYPES.forEach(woodType => {
@ -224,6 +241,23 @@ const registerTFCItemTags = (event) => {
// Удаление тегов у руд
event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/")
//Stone javelins
event.add('tfc:stone_javelins', 'tfc:stone/javelin/igneous_extrusive')
event.add('tfc:stone_javelins', 'tfc:stone/javelin/igneous_intrusive')
event.add('tfc:stone_javelins', 'tfc:stone/javelin/metamorphic')
event.add('tfc:stone_javelins', 'tfc:stone/javelin/sedimentary')
//Moss
event.add('tfc:moss', 'tfc:plant/moss')
event.add('tfc:moss', 'tfc:plant/spanish_moss')
event.add('tfc:moss', 'tfc:plant/reindeer_lichen')
event.add('tfc:moss', 'tfc:plant/cobblestone_lichen')
//Cloth
event.add('forge:cloth', 'tfc:burlap_cloth')
event.add('forge:cloth', 'tfc:wool_cloth')
event.add('forge:cloth', 'tfc:silk_cloth')
}
const registerTFCBlockTags = (event) => {
@ -245,9 +279,6 @@ const registerTFCBlockTags = (event) => {
})
})
// Отключение ломания блоков установленных на полу
event.add('tfcdesirepaths:trample_blacklist', 'tfc:placed_item')
// Возможность обрушения полу-блоков
event.add('tfc:can_collapse', '#tfg:rock_slabs')
event.add('tfc:can_start_collapse', '#tfg:rock_slabs')
@ -271,8 +302,8 @@ const registerTFCBlockTags = (event) => {
event.add('tfc:monster_spawns_on', '#forge:ores')
event.add('tfc:prospectable', '#forge:ores')
event.add('tfc:glass_basin_blocks', 'gtceu:brass_block')
event.add('tfc:glass_pouring_table', 'gtceu:brass_block')
event.add('tfc:glass_basin_blocks', 'create:brass_block')
event.add('tfc:glass_pouring_table', 'create:brass_block')
event.add('tfc:glass_basin_blocks', 'tfc:red_kaolin_clay')
event.add('tfc:glass_pouring_table', 'tfc:red_kaolin_clay')
@ -297,6 +328,46 @@ const registerTFCBlockTags = (event) => {
event.add('create:passive_boiler_heaters', el)
})
//#endregion
//#region Nether
event.add('beneath:nether_bush_plantable_on', '#tfc:clay_grass')
event.add('minecraft:small_dripleaf_placeable', '#tfc:clay_grass')
event.add('minecraft:big_dripleaf_placeable', '#tfc:clay_grass')
event.add('minecraft:frogs_spawnable_on', '#tfc:clay_grass')
event.add('minecraft:axolotls_spawnable_on', '#tfc:clay_grass')
event.add('minecraft:small_dripleaf_placeable', '#tfc:clay')
event.add('minecraft:big_dripleaf_placeable', '#tfc:clay')
event.add('minecraft:frogs_spawnable_on', '#tfc:clay')
event.add('minecraft:axolotls_spawnable_on', '#tfc:clay')
event.add('beneath:nether_bush_plantable_on', '#tfc:mud')
event.add('minecraft:frogs_spawnable_on', '#tfc:mud')
event.add('beneath:nether_bush_plantable_on', '#tfc:dirt')
event.add('minecraft:frogs_spawnable_on', '#tfc:dirt')
event.add('minecraft:nether_carver_replaceables', 'tfc:rock/raw/gneiss')
event.add('minecraft:nether_carver_replaceables', 'tfc:rock/raw/schist')
event.add('minecraft:nether_carver_replaceables', 'tfc:rock/raw/diorite')
event.add('minecraft:nether_carver_replaceables', 'tfc:rock/raw/granite')
event.add('minecraft:nether_carver_replaceables', 'tfc:rock/raw/gabbro')
event.add('minecraft:nether_carver_replaceables', 'tfc:rock/raw/basalt')
event.add('minecraft:base_stone_nether', 'tfc:rock/raw/gneiss')
event.add('minecraft:base_stone_nether', 'tfc:rock/raw/schist')
event.add('minecraft:base_stone_nether', 'tfc:rock/raw/diorite')
event.add('minecraft:base_stone_nether', 'tfc:rock/raw/granite')
event.add('minecraft:base_stone_nether', 'tfc:rock/raw/gabbro')
event.add('minecraft:base_stone_nether', 'tfc:rock/raw/basalt')
event.add('minecraft:frogs_spawnable_on', 'tfc:rock/raw/gneiss')
event.add('minecraft:frogs_spawnable_on', 'tfc:rock/raw/schist')
event.add('minecraft:frogs_spawnable_on', 'tfc:rock/raw/diorite')
event.add('minecraft:frogs_spawnable_on', 'tfc:rock/raw/granite')
event.add('minecraft:frogs_spawnable_on', 'tfc:rock/raw/gabbro')
//#endregion
}
const registerTFCFluidTags = (event) => {
@ -320,15 +391,10 @@ const registerTFCFluidTags = (event) => {
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/red_steel')
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/blue_steel')
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/cast_iron')
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/pig_iron')
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_steel')
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_black_steel')
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_red_steel')
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_blue_steel')
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/weak_steel')
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/weak_red_steel')
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/weak_blue_steel')
event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/unknown')
// Добавление GTCEu металлов в форму слитков
event.add('tfc:usable_in_ingot_mold', 'gtceu:bismuth')
@ -350,15 +416,6 @@ const registerTFCFluidTags = (event) => {
event.add('tfc:usable_in_ingot_mold', 'gtceu:black_steel')
event.add('tfc:usable_in_ingot_mold', 'gtceu:blue_steel')
event.add('tfc:usable_in_ingot_mold', 'gtceu:red_steel')
event.add('tfc:usable_in_ingot_mold', 'tfg:pig_iron')
event.add('tfc:usable_in_ingot_mold', 'tfg:high_carbon_steel')
event.add('tfc:usable_in_ingot_mold', 'tfg:high_carbon_black_steel')
event.add('tfc:usable_in_ingot_mold', 'tfg:high_carbon_red_steel')
event.add('tfc:usable_in_ingot_mold', 'tfg:high_carbon_blue_steel')
event.add('tfc:usable_in_ingot_mold', 'tfg:weak_steel')
event.add('tfc:usable_in_ingot_mold', 'tfg:weak_red_steel')
event.add('tfc:usable_in_ingot_mold', 'tfg:weak_blue_steel')
event.add('tfc:usable_in_ingot_mold', 'tfg:unknown')
event.add('tfc:usable_in_ingot_mold', 'gtceu:red_alloy')
event.add('tfc:usable_in_ingot_mold', 'gtceu:tin_alloy')
@ -374,11 +431,6 @@ const registerTFCFluidTags = (event) => {
event.add('tfc:usable_in_tool_head_mold', 'gtceu:black_bronze')
event.add('tfc:usable_in_tool_head_mold', 'gtceu:bronze')
//
event.add('tfc:usable_in_pot', 'tfg:latex')
event.add('tfc:usable_in_barrel', 'tfg:latex')
event.add('tfc:usable_in_wooden_bucket', 'tfg:latex')
//
event.add('tfc:usable_in_barrel', 'gtceu:creosote')
event.add('tfc:usable_in_wooden_bucket', 'gtceu:creosote')
@ -405,107 +457,77 @@ const registerTFCFluidTags = (event) => {
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/red_steel')
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/blue_steel')
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/cast_iron')
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/pig_iron')
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_steel')
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_black_steel')
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_red_steel')
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_blue_steel')
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/weak_steel')
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/weak_red_steel')
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/weak_blue_steel')
event.add('c:hidden_from_recipe_viewers', 'tfc:metal/unknown')
}
const registerTFCPlacedFeatures = (event) => {
// Удаление
event.remove('tfc:in_biome/veins', 'tfc:vein/surface_native_copper')
event.remove('tfc:in_biome/veins', 'tfc:vein/surface_malachite')
event.remove('tfc:in_biome/veins', 'tfc:vein/surface_tetrahedrite')
event.remove('tfc:in_biome/veins', 'tfc:vein/normal_malachite')
event.remove('tfc:in_biome/veins', 'tfc:vein/normal_tetrahedrite')
event.remove('tfc:in_biome/veins', 'tfc:vein/normal_native_gold')
event.remove('tfc:in_biome/veins', 'tfc:vein/rich_native_gold')
event.remove('tfc:in_biome/veins', 'tfc:vein/fake_native_gold')
event.remove('tfc:in_biome/veins', 'tfc:vein/surface_native_silver')
event.remove('tfc:in_biome/veins', 'tfc:vein/normal_native_silver')
event.remove('tfc:in_biome/veins', 'tfc:vein/surface_cassiterite')
event.remove('tfc:in_biome/veins', 'tfc:vein/surface_bismuthinite')
event.remove('tfc:in_biome/veins', 'tfc:vein/normal_bismuthinite')
event.remove('tfc:in_biome/veins', 'tfc:vein/surface_sphalerite')
event.remove('tfc:in_biome/veins', 'tfc:vein/normal_sphalerite')
event.remove('tfc:in_biome/veins', 'tfc:vein/surface_hematite')
event.remove('tfc:in_biome/veins', 'tfc:vein/surface_magnetite')
event.remove('tfc:in_biome/veins', 'tfc:vein/surface_limonite')
event.remove('tfc:in_biome/veins', 'tfc:vein/normal_garnierite')
event.remove('tfc:in_biome/veins', 'tfc:vein/gabbro_garnierite')
event.remove('tfc:in_biome/veins', 'tfc:vein/graphite')
event.remove('tfc:in_biome/veins', 'tfc:vein/lignite')
event.remove('tfc:in_biome/veins', 'tfc:vein/bituminous_coal')
event.remove('tfc:in_biome/veins', 'tfc:vein/sulfur')
event.remove('tfc:in_biome/veins', 'tfc:vein/cryolite')
event.remove('tfc:in_biome/veins', 'tfc:vein/cinnabar')
event.remove('tfc:in_biome/veins', 'tfc:vein/saltpeter')
event.remove('tfc:in_biome/veins', 'tfc:vein/sylvite')
event.remove('tfc:in_biome/veins', 'tfc:vein/borax')
event.remove('tfc:in_biome/veins', 'tfc:vein/gypsum')
event.remove('tfc:in_biome/veins', 'tfc:vein/halite')
event.remove('tfc:in_biome/veins', 'tfc:vein/lapis_lazuli')
event.remove('tfc:in_biome/veins', 'tfc:vein/diamond')
event.remove('tfc:in_biome/veins', 'tfc:vein/emerald')
event.remove('tfc:in_biome/veins', 'tfc:vein/amethyst')
event.remove('tfc:in_biome/veins', 'tfc:vein/opal')
event.remove('tfc:in_biome/veins', 'tfc:geode')
event.removeAll('tfc:in_biome/veins')
// Добавление
event.add('tfc:in_biome/veins', 'tfg:vein/deep_garnet_amethyst')
event.add('tfc:in_biome/veins', 'tfg:vein/deep_garnet_opal')
event.add('tfc:in_biome/veins', 'tfg:vein/deep_gold')
event.add('tfc:in_biome/veins', 'tfg:vein/deep_hematite')
event.add('tfc:in_biome/veins', 'tfg:vein/deep_limonite')
event.add('tfc:in_biome/veins', 'tfg:vein/deep_magnetite')
event.add('tfc:in_biome/veins', 'tfg:vein/deep_molybdenum')
event.add('tfc:in_biome/veins', 'tfg:vein/deep_naquadah')
event.add('tfc:in_biome/veins', 'tfg:vein/deep_pitchblende')
event.add('tfc:in_biome/veins', 'tfg:vein/deep_sapphire')
event.add('tfc:in_biome/veins', 'tfg:vein/deep_scheelite')
event.add('tfc:in_biome/veins', 'tfg:vein/deep_sheldonite')
event.add('tfc:in_biome/veins', 'tfg:vein/deep_topaz')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_apatite_')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_basaltic_sands')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_bauxite')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_beryllium')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_bismuthinite')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_cassiterite')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_certus_quartz')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_coal')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_copper')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_garnet_tin')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_garnierite')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_gold')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_graphite')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_hematite')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_spodumene')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_oilsands')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_lapis')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_limonite')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_lubricant')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_magnetite')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_manganese')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_mica')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_monazite')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_olivine')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_redstone')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_salt')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_saltpeter')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_silver')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_sphalerite')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_sulfur')
event.add('tfc:in_biome/veins', 'tfg:vein/normal_tetrahedrite')
event.add('tfc:in_biome/veins', 'tfg:vein/surface_bismuthinite')
event.add('tfc:in_biome/veins', 'tfg:vein/surface_cassiterite')
event.add('tfc:in_biome/veins', 'tfg:vein/surface_copper')
event.add('tfc:in_biome/veins', 'tfg:vein/surface_sphalerite')
event.add('tfc:in_biome/veins', 'tfg:vein/surface_tetrahedrite')
event.add('tfc:in_biome/veins', 'tfg:geode')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_garnet_amethyst')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_garnet_opal')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_gold')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_hematite')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_limonite')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_magnetite')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_molybdenum')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_pitchblende')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_sapphire')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_scheelite')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_sheldonite')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/deep_topaz')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_apatite')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_basaltic_sands')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_bauxite')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_beryllium')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_bismuthinite')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_cassiterite')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_coal')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_copper')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_garnet_tin')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_garnierite')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_gold')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_graphite')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_hematite')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_spodumene')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_oilsands')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_lapis')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_limonite')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_lubricant')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_magnetite')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_manganese')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_mica')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_monazite')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_olivine')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_quartz')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_redstone')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_salt')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_saltpeter')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_silver')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_sphalerite')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_sulfur')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_tetrahedrite')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_bismuthinite')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_cassiterite')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_copper')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_sphalerite')
event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_tetrahedrite')
event.add('tfc:in_biome/veins', 'tfg:earth/geode/amethyst')
event.add('tfc:in_biome/veins', 'tfg:earth/geode/barite')
event.add('tfc:in_biome/veins', 'tfg:earth/geode/calcite')
event.add('tfc:in_biome/veins', 'tfg:earth/geode/gypsum')
event.add('tfc:in_biome/veins', 'tfg:earth/geode/opal')
event.add('tfc:in_biome/veins', 'tfg:earth/geode/pyrite')
event.add('tfc:in_biome/veins', 'tfg:earth/geode/quartzite')
event.add('tfc:in_biome/veins', 'tfg:earth/nether_hint_vein')
event.add('tfc:in_biome/underground_decoration', 'tfg:glow_lichen')
event.add('tfc:in_biome/underground_decoration', 'tfg:earth/sulfur_patch')
}