diff --git a/kubejs/server_scripts/comforts/recipes.js b/kubejs/server_scripts/comforts/recipes.js index 047e51703..5e33335c5 100644 --- a/kubejs/server_scripts/comforts/recipes.js +++ b/kubejs/server_scripts/comforts/recipes.js @@ -10,14 +10,8 @@ const registerComfortsRecipes = (event) => { .id("comforts:crafting/shaped/rope_and_nail"); //sleeping bag - event.recipes.tfc.damage_inputs_shaped_crafting( - event.shaped("comforts:sleeping_bag_white", [ - "AAA", - "B " - ], { - A: "#tfc:high_quality_cloth", - B: 'tfc:bone_needle' - }) + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless("comforts:sleeping_bag_white", [ "3x #tfc:high_quality_cloth", 'tfc:bone_needle' ]) ).id('comforts:shaped/sleeping_bag_white'); event.shaped("comforts:hammock_white", [ diff --git a/kubejs/server_scripts/create_horse_power/recipes.js b/kubejs/server_scripts/create_horse_power/recipes.js index 652bfb2b2..9c8020f21 100644 --- a/kubejs/server_scripts/create_horse_power/recipes.js +++ b/kubejs/server_scripts/create_horse_power/recipes.js @@ -4,45 +4,39 @@ function registerCreateHorsePowerBlockRecipes(event) { event.remove({id: 'createhorsepower:horse_crank' }) - event.recipes.tfc.damage_inputs_shaped_crafting( - event.shaped('createhorsepower:horse_crank', [ - ' A ', - 'EBD', - 'CCC' - ], { - A: '#forge:fences/wooden', - B: '#forge:small_gears/bronze', - C: '#tfc:rock/raw', - D: '#forge:tools/hammers', - E: '#tfc:chisels' - }) - ).id('tfg:shaped/horse_crank_bronze') + event.shaped('createhorsepower:horse_crank', [ + ' A ', + 'EBD', + 'CCC' + ], { + A: '#forge:fences/wooden', + B: '#forge:small_gears/bronze', + C: '#tfc:rock/raw', + D: '#forge:tools/hammers', + E: '#forge:tools/saws' + }).id('tfg:shaped/horse_crank_bronze') - event.recipes.tfc.damage_inputs_shaped_crafting( - event.shaped('createhorsepower:horse_crank', [ - ' A ', - 'EBD', - 'CCC' - ], { - A: '#forge:fences/wooden', - B: '#forge:small_gears/bismuth_bronze', - C: '#tfc:rock/raw', - D: '#forge:tools/hammers', - E: '#tfc:chisels' - }) - ).id('tfg:shaped/horse_crank_bismuth_bronze') + event.shaped('createhorsepower:horse_crank', [ + ' A ', + 'EBD', + 'CCC' + ], { + A: '#forge:fences/wooden', + B: '#forge:small_gears/bismuth_bronze', + C: '#tfc:rock/raw', + D: '#forge:tools/hammers', + E: '#forge:tools/saws' + }).id('tfg:shaped/horse_crank_bismuth_bronze') - event.recipes.tfc.damage_inputs_shaped_crafting( - event.shaped('createhorsepower:horse_crank', [ - ' A ', - 'EBD', - 'CCC' - ], { - A: '#forge:fences/wooden', - B: '#forge:small_gears/black_bronze', - C: '#tfc:rock/raw', - D: '#forge:tools/hammers', - E: '#tfc:chisels' - }) - ).id('tfg:shaped/horse_crank_black_bronze') + event.shaped('createhorsepower:horse_crank', [ + ' A ', + 'EBD', + 'CCC' + ], { + A: '#forge:fences/wooden', + B: '#forge:small_gears/black_bronze', + C: '#tfc:rock/raw', + D: '#forge:tools/hammers', + E: '#forge:tools/saws' + }).id('tfg:shaped/horse_crank_black_bronze') } \ No newline at end of file diff --git a/kubejs/server_scripts/greate/recipes.js b/kubejs/server_scripts/greate/recipes.js index f126833af..d11f40e6c 100644 --- a/kubejs/server_scripts/greate/recipes.js +++ b/kubejs/server_scripts/greate/recipes.js @@ -363,7 +363,7 @@ function registerGreateRecipes(event) { 'FE ' ], { A: '#gtceu:circuits/ulv', - B: 'gtceu:cobalt_brass_buzz_saw_blade', + B: 'gtceu:black_steel_buzz_saw_blade', C: 'greate:steel_cogwheel', D: 'gtceu:ulv_machine_hull', E: 'greate:steel_shaft', @@ -371,7 +371,7 @@ function registerGreateRecipes(event) { }).id('greate:shaped/steel_mechanical_saw') event.recipes.gtceu.assembler('greate:steel_mechanical_saw') - .itemInputs('gtceu:ulv_machine_hull', 'greate:steel_shaft', '2x #gtceu:circuits/ulv', 'gtceu:cobalt_brass_buzz_saw_blade', '2x greate:steel_cogwheel') + .itemInputs('gtceu:ulv_machine_hull', 'greate:steel_shaft', '2x #gtceu:circuits/ulv', 'gtceu:black_steel_buzz_saw_blade', '2x greate:steel_cogwheel') .itemOutputs('greate:steel_mechanical_saw') .duration(200) .EUt(GTValues.VA[GTValues.ULV]) diff --git a/kubejs/server_scripts/greate/recipes.recycling.js b/kubejs/server_scripts/greate/recipes.recycling.js index 1a77f38fd..8b3e6efd9 100644 --- a/kubejs/server_scripts/greate/recipes.recycling.js +++ b/kubejs/server_scripts/greate/recipes.recycling.js @@ -358,7 +358,7 @@ function registerGreateRecyclingRecipes(event) { event.recipes.gtceu.macerator('greate:andesite_alloy_mechanical_saw') .itemInputs('greate:andesite_alloy_mechanical_saw') .itemOutputs( - ChemicalHelper.get(TagPrefix.dust, GTMaterials.WroughtIron, 7), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.WroughtIron, 5), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Wood, 1)) .duration(GTMaterials.WroughtIron.getMass() * 7) .category(GTRecipeCategories.MACERATOR_RECYCLING) @@ -367,7 +367,7 @@ function registerGreateRecyclingRecipes(event) { event.recipes.gtceu.arc_furnace('greate:andesite_alloy_mechanical_saw') .itemInputs('greate:andesite_alloy_mechanical_saw') .itemOutputs( - ChemicalHelper.get(TagPrefix.ingot, GTMaterials.WroughtIron, 7), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.WroughtIron, 5), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ash, 1)) .duration(GTMaterials.WroughtIron.getMass() * 7) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) @@ -377,7 +377,7 @@ function registerGreateRecyclingRecipes(event) { .itemInputs('greate:steel_mechanical_saw') .itemOutputs( ChemicalHelper.get(TagPrefix.dust, GTMaterials.WroughtIron, 8), - ChemicalHelper.get(TagPrefix.dust, GTMaterials.CobaltBrass, 4), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.BlackSteel, 2), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Copper, 4)) .duration(GTMaterials.CobaltBrass.getMass() * 16) .category(GTRecipeCategories.MACERATOR_RECYCLING) @@ -387,7 +387,7 @@ function registerGreateRecyclingRecipes(event) { .itemInputs('greate:steel_mechanical_saw') .itemOutputs( ChemicalHelper.get(TagPrefix.ingot, GTMaterials.WroughtIron, 8), - ChemicalHelper.get(TagPrefix.ingot, GTMaterials.CobaltBrass, 4), + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BlackSteel, 2), ChemicalHelper.get(TagPrefix.ingot, GTMaterials.AnnealedCopper, 4)) .duration(GTMaterials.CobaltBrass.getMass() * 16) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) diff --git a/kubejs/server_scripts/gregtech/recipes.materials.js b/kubejs/server_scripts/gregtech/recipes.materials.js index f9eb9efb4..9156f20b6 100644 --- a/kubejs/server_scripts/gregtech/recipes.materials.js +++ b/kubejs/server_scripts/gregtech/recipes.materials.js @@ -8,17 +8,45 @@ function registerGTCEUMetalRecipes(event) { return const toolHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) - if (toolHeadItem.isEmpty()) + if (toolHeadItem.isEmpty()) return // Skip this one because it has a duping bug, and you can't remove the macerator/arc furnace iron pick recipes if (material == GTMaterials.Iron) return; - event.recipes.tfc.advanced_shapeless_crafting( - TFC.itemStackProvider.of(toolItem).copyForgingBonus().copyHeat(), - [toolHeadItem, '#forge:rods/wooden'], toolHeadItem) - .id(`gtceu:shaped/${toolType.name}_${material.getName()}`) + if (toolType == GTToolType.WRENCH) { + event.recipes.tfc.advanced_shaped_crafting( + TFC.itemStackProvider.of(toolItem).copyForgingBonus().copyHeat(), [ + 'ABC', + 'DB ' + ], { + A: toolHeadItem, + B: `#forge:rods/${material.getName()}`, + C: '#forge:tools/screwdrivers', + D: `#forge:bolts/${material.getName()}` + }, 0, 0) + .id(`gtceu:shaped/${toolType.name}_${material.getName()}`) + } + else if (toolType == GTToolType.WIRE_CUTTER) { + event.recipes.tfc.advanced_shaped_crafting( + TFC.itemStackProvider.of(toolItem).copyForgingBonus().copyHeat(), [ + ' AD', + 'CBC' + ], { + A: toolHeadItem, + B: `#forge:small_springs`, + C: `#forge:rods/${material.getName()}`, + D: '#forge:tools/screwdrivers' + }, 0, 1) + .id(`gtceu:shaped/${toolType.name}_${material.getName()}`) + } + else { + event.recipes.tfc.advanced_shapeless_crafting( + TFC.itemStackProvider.of(toolItem).copyForgingBonus().copyHeat(), + [toolHeadItem, '#forge:rods/wooden'], toolHeadItem) + .id(`gtceu:shaped/${toolType.name}_${material.getName()}`) + } processToolHead(headTagPrefix, extruderMold, cirucitMeta, material) } @@ -28,56 +56,52 @@ function registerGTCEUMetalRecipes(event) { if (toolHeadItem.isEmpty()) return + event.remove({ mod: 'gtceu', type: 'minecraft:crafting_shaped', output: toolHeadItem }) + if (material.hasProperty(PropertyKey.INGOT)) { const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) if (ingotItem.isEmpty()) return + const materialAmount = Math.floor(headTagPrefix.materialAmount() / GTValues.M) == 1 ? 1 : 2; + event.recipes.gtceu.extruder(`tfg:extrude_${material.getName()}_ingot_to_${new String(headTagPrefix.name).toLowerCase()}_head`) - .itemInputs(ingotItem.copyWithCount(Math.floor(headTagPrefix.materialAmount() / GTValues.M))) + .itemInputs(ingotItem.copyWithCount(materialAmount)) .notConsumable(extruderMold) .itemOutputs(toolHeadItem) .duration(material.getMass() * 6) .EUt(GTValues.VA[GTValues.LV]) - if (headTagPrefix.materialAmount() / GTValues.M == 1) { - event.custom({ - type: 'vintageimprovements:curving', - ingredients: [ingotItem], - itemAsHead: extruderMold, - results: [toolHeadItem], - processingTime: material.getMass() * 6 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/curving/${material.getName()}_ingot_to_${new String(headTagPrefix.name).toLowerCase()}_head`) - } - else { - event.custom({ - type: 'vintageimprovements:curving', - // have to do [item, item] instead of [item x2] - ingredients: [ingotItem, ingotItem], - itemAsHead: extruderMold, - results: [toolHeadItem], - processingTime: material.getMass() * 6 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/curving/${material.getName()}_ingot_to_${new String(headTagPrefix.name).toLowerCase()}_head`) - } + let ingotArray = []; + for (var i = 0; i < materialAmount; i++) + ingotArray.push(ingotItem) + + event.custom({ + type: 'vintageimprovements:curving', + ingredients: ingotArray, + itemAsHead: extruderMold, + results: [toolHeadItem], + processingTime: material.getMass() * 6 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/curving/${material.getName()}_ingot_to_${new String(headTagPrefix.name).toLowerCase()}_head`) event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_${new String(headTagPrefix.name).toLowerCase()}_head`) .itemInputs(toolHeadItem) - .itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 1)) - .duration(material.getMass() * 6) + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, materialAmount)) + .duration(material.getMass() * 6 * materialAmount) .category(GTRecipeCategories.MACERATOR_RECYCLING) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.arc_furnace(`tfg:arc_furnace_${material.getName()}_${new String(headTagPrefix.name).toLowerCase()}_head`) .itemInputs(toolHeadItem) - .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, material, 1)) - .duration(material.getMass() * 6) + .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, material, materialAmount)) + .duration(material.getMass() * 6 * materialAmount) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) .EUt(GTValues.VA[GTValues.LV]) if (GTMaterials.Stone != material) { event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_${new String(headTagPrefix.name).toLowerCase()}_head`) .itemInputs(toolHeadItem) - .outputFluids(Fluid.of(material.getFluid(), 144)) - .duration(material.getMass() * 6) + .outputFluids(Fluid.of(material.getFluid(), materialAmount * 144)) + .duration(material.getMass() * 6 * materialAmount) .category(GTRecipeCategories.EXTRACTOR_RECYCLING) .EUt(material.hasProperty(PropertyKey.BLAST) ? GTValues.VA[GTValues.MV] : GTValues.VA[GTValues.ULV]) } @@ -131,9 +155,8 @@ function registerGTCEUMetalRecipes(event) { if (material.hasFlag(MaterialFlags.GENERATE_PLATE) && material != GTMaterials.Wood - && material != GTMaterials.TreatedWood - && !material.hasProperty(PropertyKey.POLYMER)) - { + && material != GTMaterials.TreatedWood + && !material.hasProperty(PropertyKey.POLYMER)) { const plateStack = ChemicalHelper.get(TagPrefix.plate, material, 1) const blockStack = ChemicalHelper.get(TagPrefix.block, material, 1) @@ -440,7 +463,7 @@ function registerGTCEUMetalRecipes(event) { // Quern event.recipes.tfc.quern(crushedOreItem, normalOreItem) .id(`tfg:quern/${material.getName()}_crushed_ore_from_normal_raw_ore`) - + // Smelting if (!material.hasProperty(PropertyKey.BLAST)) { event.smelting(ingotItem, normalOreItem).id(`gtceu:smelting/smelt_raw_${material.getName()}_ore_to_ingot`) @@ -469,7 +492,7 @@ function registerGTCEUMetalRecipes(event) { ingotItem = ChemicalHelper.get(TagPrefix.gem, smeltingMaterial, multiplier) else ingotItem = ChemicalHelper.get(TagPrefix.dust, smeltingMaterial, multiplier) - + // Forge hammer let hammerRecipe = event.recipes.gtceu.forge_hammer(`hammer_rich_raw_${material.getName()}_to_crushed_ore`) .itemInputs(richOreItem) @@ -503,11 +526,11 @@ function registerGTCEUMetalRecipes(event) { .category(GTRecipeCategories.ORE_CRUSHING) .duration(400) .EUt(2) - + // Quern event.recipes.tfc.quern(crushedOreItem, richOreItem) .id(`tfg:quern/${material.getName()}_crushed_ore_from_rich_raw_ore`) - + // Smelting if (!material.hasProperty(PropertyKey.BLAST)) { event.smelting(ingotItem, richOreItem).id(`gtceu:smelting/smelt_rich_raw_${material.getName()}_ore_to_ingot`) @@ -520,14 +543,14 @@ function registerGTCEUMetalRecipes(event) { const pureOreItem = ChemicalHelper.get(TagPrefix.crushedPurified, material, 1) if (crushedOreItem != null && pureOreItem != null) { - + // Bulk washing let byproductMaterial = material.getProperty(PropertyKey.ORE).getOreByProduct(0, material); const byproductItem = ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1) event.recipes.greate.splashing([pureOreItem, TieredOutputItem.of(byproductItem).withChance(0.333), 'gtceu:stone_dust'], crushedOreItem) .id(`tfg:splashing/${material.getName()}_purified_ore`) - + // Dropping in water event.custom({ type: "ae2:transform", @@ -576,7 +599,7 @@ function registerGTCEUMetalRecipes(event) { const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1) if (impureDustItem != null && dustItem != null) { - + // Bulk washing event.recipes.greate.splashing(dustItem, impureDustItem) .id(`tfg:splashing/${material.getName()}_dust_from_impure`) @@ -655,8 +678,8 @@ function registerGTCEUMetalRecipes(event) { .id(`shapeless/${material.getName()}_bud_indicator`) event.shaped(smallDust, - [ 'A', 'B' ], - { A: chipped, B: '#forge:tools/mortars'}) + ['A', 'B'], + { A: chipped, B: '#forge:tools/mortars' }) .id(`shapeless/mortar_chipped_${material.getName()}`) event.recipes.greate.pressing(ChemicalHelper.get(TagPrefix.gem, material, 9), ChemicalHelper.get(TagPrefix.block, material, 1)) @@ -666,7 +689,7 @@ function registerGTCEUMetalRecipes(event) { const processAnvil = (material) => { const anvilStack = ChemicalHelper.get(TFGTagPrefix.anvil, material, 1) - if (anvilStack == null) + if (anvilStack == null) return; event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_anvil`) @@ -708,7 +731,7 @@ function registerGTCEUMetalRecipes(event) { const processLamp = (material) => { const finishedLampStack = ChemicalHelper.get(TFGTagPrefix.lamp, material, 1) - if (finishedLampStack == null) + if (finishedLampStack == null) return; const materialDustStack = ChemicalHelper.get(TagPrefix.dust, material, 1) @@ -922,7 +945,7 @@ function registerGTCEUMetalRecipes(event) { const processBars = (material) => { const barsStack = ChemicalHelper.get(TFGTagPrefix.bars, material, 4) - const ingotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1) + const ingotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1) if (barsStack == null) return; @@ -933,36 +956,52 @@ function registerGTCEUMetalRecipes(event) { .EUt(GTValues.VA[GTValues.LV]) } + const processBuzzsawBlade = (material) => { + const buzzsawBladeItem = ChemicalHelper.get(TagPrefix.toolHeadBuzzSaw, material, 1) + const doublePlateItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 2) + if (buzzsawBladeItem == null || doublePlateItem == null) + return; + + event.recipes.gtceu.lathe(`buzzsaw_gear_${material.getName()}`) + .itemInputs(doublePlateItem) + .itemOutputs(buzzsawBladeItem) + .duration(material.getMass() * 6) + .EUt(GTValues.VA[GTValues.MV]) + + event.remove({ id: `gtceu:shaped/buzzsaw_blade_${material.getName()}` }) + } + forEachMaterial(material => { const toolProperty = material.getProperty(PropertyKey.TOOL) const ingotProperty = material.getProperty(PropertyKey.INGOT) const oreProperty = material.getProperty(PropertyKey.ORE) if (toolProperty != null) { - makeToolRecipe(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, 'tfg:sword_head_extruder_mold', 1, material) - makeToolRecipe(GTToolType.PICKAXE, TFGTagPrefix.toolHeadPickaxe, 'tfg:pickaxe_head_extruder_mold', 2, material) - makeToolRecipe(GTToolType.AXE, TFGTagPrefix.toolHeadAxe, 'tfg:axe_head_extruder_mold', 3, material) - makeToolRecipe(GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel, 'tfg:shovel_head_extruder_mold', 4, material) - makeToolRecipe(GTToolType.HOE, TFGTagPrefix.toolHeadHoe, 'tfg:hoe_head_extruder_mold', 5, material) - makeToolRecipe(GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife, 'tfg:knife_head_extruder_mold', 6, material) - makeToolRecipe(GTToolType.FILE, TFGTagPrefix.toolHeadFile, 'tfg:file_head_extruder_mold', 7, material) - makeToolRecipe(GTToolType.SAW, TFGTagPrefix.toolHeadSaw, 'tfg:saw_head_extruder_mold', 8, material) - makeToolRecipe(GTToolType.SPADE, TFGTagPrefix.toolHeadSpade, 'tfg:spade_head_extruder_mold', 9, material) - makeToolRecipe(GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer, 'tfg:mining_hammer_head_extruder_mold', 10, material) - makeToolRecipe(GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe, 'tfg:scythe_head_extruder_mold', 11, material) - makeToolRecipe(GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer, 'tfg:hammer_head_extruder_mold', 12, material) - makeToolRecipe(GTToolType.SCREWDRIVER, TagPrefix.toolHeadScrewdriver, 'tfg:screwdriver_tip_extruder_mold', 14, material) - + let circuit = 1; + makeToolRecipe(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, 'tfg:sword_head_extruder_mold', circuit++, material) + makeToolRecipe(GTToolType.PICKAXE, TFGTagPrefix.toolHeadPickaxe, 'tfg:pickaxe_head_extruder_mold', circuit++, material) + makeToolRecipe(GTToolType.AXE, TFGTagPrefix.toolHeadAxe, 'tfg:axe_head_extruder_mold', circuit++, material) + makeToolRecipe(GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel, 'tfg:shovel_head_extruder_mold', circuit++, material) + makeToolRecipe(GTToolType.HOE, TFGTagPrefix.toolHeadHoe, 'tfg:hoe_head_extruder_mold', circuit++, material) + makeToolRecipe(GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife, 'tfg:knife_head_extruder_mold', circuit++, material) + makeToolRecipe(GTToolType.FILE, TFGTagPrefix.toolHeadFile, 'tfg:file_head_extruder_mold', circuit++, material) + makeToolRecipe(GTToolType.SAW, TFGTagPrefix.toolHeadSaw, 'tfg:saw_head_extruder_mold', circuit++, material) + makeToolRecipe(GTToolType.SPADE, TFGTagPrefix.toolHeadSpade, 'tfg:spade_head_extruder_mold', circuit++, material) + makeToolRecipe(GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer, 'tfg:mining_hammer_head_extruder_mold', circuit++, material) + makeToolRecipe(GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe, 'tfg:scythe_head_extruder_mold', circuit++, material) + makeToolRecipe(GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer, 'tfg:hammer_head_extruder_mold', circuit++, material) + makeToolRecipe(GTToolType.SCREWDRIVER, TagPrefix.toolHeadScrewdriver, 'tfg:screwdriver_tip_extruder_mold', circuit++, material) + makeToolRecipe(GTToolType.WRENCH, TagPrefix.toolHeadWrench, 'tfg:wrench_tip_extruder_mold', circuit++, material) + makeToolRecipe(GTToolType.WIRE_CUTTER, TagPrefix.toolHeadWireCutter, 'tfg:wire_cutter_extruder_mold', circuit++, material) processToolMortar(GTToolType.MORTAR, material) - processToolHead(TagPrefix.toolHeadWrench, 'tfg:wrench_tip_extruder_mold', 15, material) - processToolHead(TFGTagPrefix.toolHeadPropick, 'tfg:propick_head_extruder_mold', 16, material) - processToolHead(TFGTagPrefix.toolHeadJavelin, 'tfg:javelin_head_extruder_mold', 17, material) - processToolHead(TFGTagPrefix.toolHeadChisel, 'tfg:chisel_head_extruder_mold', 18, material) - processToolHead(TFGTagPrefix.toolHeadMace, 'tfg:mace_head_extruder_mold', 19, material) - processToolHead(TFGTagPrefix.toolHeadMattock, 'tfg:mattock_head_extruder_mold', 20, material) - processToolHead(TFGTagPrefix.toolHeadHook, 'tfg:fish_hook_extruder_mold', 21, material) + processToolHead(TFGTagPrefix.toolHeadPropick, 'tfg:propick_head_extruder_mold', circuit++, material) + processToolHead(TFGTagPrefix.toolHeadJavelin, 'tfg:javelin_head_extruder_mold', circuit++, material) + processToolHead(TFGTagPrefix.toolHeadChisel, 'tfg:chisel_head_extruder_mold', circuit++, material) + processToolHead(TFGTagPrefix.toolHeadMace, 'tfg:mace_head_extruder_mold', circuit++, material) + processToolHead(TFGTagPrefix.toolHeadMattock, 'tfg:mattock_head_extruder_mold', circuit++, material) + processToolHead(TFGTagPrefix.toolHeadHook, 'tfg:fish_hook_extruder_mold', circuit++, material) } if (ingotProperty != null) { @@ -980,6 +1019,7 @@ function registerGTCEUMetalRecipes(event) { processChain(material) processBell(material) processBars(material) + processBuzzsawBlade(material) } if (oreProperty != null) { @@ -998,9 +1038,9 @@ function registerGTCEUMetalRecipes(event) { if (material.hasProperty(PropertyKey.GEM)) { processGems(material) } - + // Indicators - event.replaceInput({ id: `gtceu:shaped/${material.getName()}_surface_indicator`}, + event.replaceInput({ id: `gtceu:shaped/${material.getName()}_surface_indicator` }, 'minecraft:gravel', '#tfc:rock/gravel') } }) diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 5b1d48c6e..6e6a26372 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -14,7 +14,6 @@ ServerEvents.tags('item', event => { registerBeneathItemTags(event) registerBetterEndItemTags(event) registerChalkItemTags(event); - registerChiselAndBitsItemTags(event) registerComputerCraftItemTags(event) registerConstructionWandItemTags(event) registerCreateItemTags(event) @@ -60,7 +59,6 @@ ServerEvents.tags('block', event => { registerAFCBlockTags(event) registerAsticorCartsBlockTags(event) registerBeneathBlockTags(event) - registerChiselAndBitsBlockTags(event) registerComputerCraftBlockTags(event) registerCreateBlockTags(event) registerCreateAdditionsBlockTags(event) @@ -203,7 +201,6 @@ ServerEvents.recipes(event => { registerBetterEndRecipes(event) registerBuildingGadgetsRecipes(event) registerChalkRecipes(event); - registerChiselAndBitsRecipes(event) registerComfortsRecipes(event); registerComputerCraftRecipes(event) //registerCccBridgeRecipes(event) diff --git a/kubejs/server_scripts/tfc/recipes.materials.js b/kubejs/server_scripts/tfc/recipes.materials.js index ccafa76c8..5d358ff4e 100644 --- a/kubejs/server_scripts/tfc/recipes.materials.js +++ b/kubejs/server_scripts/tfc/recipes.materials.js @@ -265,6 +265,17 @@ function registerTFCMaterialsRecipes(event) { //#endregion } + // Buzzsaw blade + let buzzsawBladeItem = ChemicalHelper.get(TagPrefix.toolHeadBuzzSaw, material, 1) + if (!buzzsawBladeItem.isEmpty()) { + event.recipes.tfc.heating(buzzsawBladeItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_buzzsaw_blade`) + + event.recipes.tfc.anvil(buzzsawBladeItem, doublePlateItem, ['bend_last', 'hit_second_last', 'draw_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_buzzsaw_blade`) + } } // Tools (From Plate) @@ -541,6 +552,7 @@ function registerTFCMaterialsRecipes(event) { } + // Ring let ringItem = ChemicalHelper.get(TagPrefix.ring, material, 1) if (!ringItem.isEmpty()) { @@ -556,6 +568,35 @@ function registerTFCMaterialsRecipes(event) { } + // Spring + let springItem = ChemicalHelper.get(TagPrefix.spring, material, 1) + if (!springItem.isEmpty() && !longRodItem.isEmpty()) { + + event.recipes.tfc.heating(springItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_spring`) + + event.recipes.tfc.anvil(springItem, longRodItem, ['hit_last', 'bend_second_last', 'bend_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_spring`) + } + + event.remove({ id: `gtceu:shaped/spring_${material.getName()}` }) + + // Small spring + let smallSpringItem = ChemicalHelper.get(TagPrefix.springSmall, material, 1) + if (!smallSpringItem.isEmpty() && !rodItem.isEmpty()) { + + event.recipes.tfc.heating(smallSpringItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 72)) + .id(`tfc:heating/metal/${material.getName()}_small_spring`) + + event.recipes.tfc.anvil(smallSpringItem, rodItem, ['hit_last', 'bend_second_last', 'bend_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_small_spring`) + } + + event.remove({ id: `gtceu:shaped/spring_small_${material.getName()}` }) } // Tools (From Ingot) @@ -636,13 +677,32 @@ function registerTFCMaterialsRecipes(event) { //#region wrench event.recipes.tfc.heating(`gtceu:${material.getName()}_wrench`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 576)) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288 + 144 + 18)) .useDurability(true) .id(`gtceu:heating/metal/${material.getName()}_wrench`) event.recipes.tfc.heating(`gtceu:${material.getName()}_wrench_tip`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 576)) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) .id(`gtceu:heating/metal/${material.getName()}_wrench_tip`) + + event.recipes.tfc.anvil(`gtceu:${material.getName()}_wrench_tip`, doubleIngotItem, ['draw_last', 'hit_second_last', 'hit_third_last']) + .tier(tfcProperty.getTier()) + .id(`gtceu:anvil/${material.getName()}_wrench_tip`) + //#endregion + + //#region wire cutters + event.recipes.tfc.heating(`gtceu:${material.getName()}_wire_cutter`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288 + 144 + 18)) + .useDurability(true) + .id(`gtceu:heating/metal/${material.getName()}_wire_cutter`) + + event.recipes.tfc.heating(`gtceu:${material.getName()}_wire_cutter_head`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`gtceu:heating/metal/${material.getName()}_wire_cutter_head`) + + event.recipes.tfc.anvil(`gtceu:${material.getName()}_wire_cutter_head`, doubleIngotItem, ['draw_last', 'hit_second_last', 'hit_third_last']) + .tier(tfcProperty.getTier()) + .id(`gtceu:anvil/${material.getName()}_wire_cutter_head`) //#endregion //#region Топор @@ -1179,7 +1239,7 @@ function registerTFCMaterialsRecipes(event) { let tongsStack = Item.of(`tfchotornot:tongs/${material.getName()}`) let tongPartStack = Item.of(`tfchotornot:tong_part/${material.getName()}`) - if (!tongsStack.isEmpty() && !tongPartStack.isEmpty()) { + if (!tongsStack.isEmpty() && !tongPartStack.isEmpty() && material != GTMaterials.Iron) { event.shaped(tongsStack, [ 'AA', 'BC' diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index 605da0982..befe84cfe 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -155,17 +155,15 @@ function registerTFGMiscellaneousRecipes(event) { .EUt(GTValues.VA[GTValues.ULV]); //Airship Balloon - event.recipes.tfc.damage_inputs_shaped_crafting( - event.shaped('tfg:airship_balloon', [ - 'ABA', - 'BCB', - 'ABA' - ], { - A: '#forge:string', - B: 'immersive_aircraft:sail', - C: 'tfc:bone_needle' - }) - ).id('tfg:shaped/airship_balloon') + // TODO: Add the needle back here once #963 is fixed + event.shaped('tfg:airship_balloon', [ + 'ABA', + 'BAB', + 'ABA' + ], { + A: '#forge:string', + B: 'immersive_aircraft:sail' + }).id('tfg:shaped/airship_balloon') event.recipes.gtceu.assembler('tfg:assembler/airship_balloon') .itemInputs('4x immersive_aircraft:sail', '4x #forge:string') diff --git a/kubejs/server_scripts/tfg/recipes.paper.js b/kubejs/server_scripts/tfg/recipes.paper.js index eb6d1c28e..27189aa74 100644 --- a/kubejs/server_scripts/tfg/recipes.paper.js +++ b/kubejs/server_scripts/tfg/recipes.paper.js @@ -97,12 +97,12 @@ function registerTFGPapermakingRecipes(event) { .id('tfg:quern/soaked_hardwood_strip') //Cook hardwood dust in lye - generateVatRecipe('tfg:vat/thermochemically_treat_hardwood_dust', 'gtceu:hardwood_dust', 'tfc:lye', 300, 'gtceu:thermochemically_treated_hardwood_dust') - generateVatRecipe('tfg:vat/thermochemically_treat_small_hardwood_dust', 'gtceu:small_hardwood_dust', 'tfc:lye', 75, 'gtceu:small_thermochemically_treated_hardwood_dust') - generateVatRecipe('tfg:vat/thermochemically_treat_tiny_hardwood_dust', 'gtceu:tiny_hardwood_dust', 'tfc:lye', 33, 'gtceu:tiny_thermochemically_treated_hardwood_dust') - generatePotRecipe('thermochemically_treat_hardwood_dust', 3, 'gtceu:hardwood_dust', 'tfc:lye', 300, 'gtceu:thermochemically_treated_hardwood_dust', 600, 300) - generatePotRecipe('thermochemically_treat_small_hardwood_dust', 5, 'gtceu:small_hardwood_dust', 'tfc:lye', 75, 'gtceu:small_thermochemically_treated_hardwood_dust', 600, 300) - generatePotRecipe('thermochemically_treat_tiny_hardwood_dust', 5, 'gtceu:tiny_hardwood_dust', 'tfc:lye', 33, 'gtceu:tiny_thermochemically_treated_hardwood_dust', 600, 300) + generateVatRecipe('tfg:vat/thermochemically_treat_hardwood_dust', 'gtceu:hardwood_dust', 'tfc:lye', 250, 'gtceu:thermochemically_treated_hardwood_dust') + generateVatRecipe('tfg:vat/thermochemically_treat_small_hardwood_dust', 'gtceu:small_hardwood_dust', 'tfc:lye', 250, 'gtceu:small_thermochemically_treated_hardwood_dust') + generateVatRecipe('tfg:vat/thermochemically_treat_tiny_hardwood_dust', 'gtceu:tiny_hardwood_dust', 'tfc:lye', 250, 'gtceu:tiny_thermochemically_treated_hardwood_dust') + generatePotRecipe('thermochemically_treat_hardwood_dust', 3, 'gtceu:hardwood_dust', 'tfc:lye', 250, 'gtceu:thermochemically_treated_hardwood_dust', 600, 300) + generatePotRecipe('thermochemically_treat_small_hardwood_dust', 5, 'gtceu:small_hardwood_dust', 'tfc:lye', 250, 'gtceu:small_thermochemically_treated_hardwood_dust', 600, 300) + generatePotRecipe('thermochemically_treat_tiny_hardwood_dust', 5, 'gtceu:tiny_hardwood_dust', 'tfc:lye', 250, 'gtceu:tiny_thermochemically_treated_hardwood_dust', 600, 300) generateMixerRecipe(event, 'gtceu:hardwood_dust', Fluid.of('tfc:lye', 150), 'gtceu:thermochemically_treated_hardwood_dust', null, [], 150, 4, 64, 'tfg:mixer/mix_hardwood_dust_with_lye') generateMixerRecipe(event, 'gtceu:small_hardwood_dust', Fluid.of('tfc:lye', 37), 'gtceu:small_thermochemically_treated_hardwood_dust', null, [], 100, 3, 64, 'tfg:mixer/mix_small_hardwood_dust_with_lye') generateMixerRecipe(event, 'gtceu:tiny_hardwood_dust', Fluid.of('tfc:lye', 16), 'gtceu:tiny_thermochemically_treated_hardwood_dust', null, [], 50, 2, 64, 'tfg:mixer/mix_tiny_hardwood_dust_with_lye') diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 0f4a1fc1d..4b812f29e 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -108,6 +108,18 @@ global.GTCEU_DISABLED_ITEMS = [ 'gtceu:compressed_clay', + 'gtceu:damascus_steel_nugget', + 'gtceu:damascus_steel_ingot', + 'gtceu:damascus_steel_block', + 'gtceu:damascus_steel_plate', + 'gtceu:damascus_steel_bolt', + 'gtceu:damascus_steel_screw', + 'gtceu:damascus_steel_rod', + 'gtceu:long_damascus_steel_rod', + 'gtceu:damascus_steel_dust', + 'gtceu:small_damascus_steel_dust', + 'gtceu:tiny_damascus_steel_dust', + // Sculk 'gtceu:tiny_echo_shard_dust', 'gtceu:small_echo_shard_dust', diff --git a/kubejs/startup_scripts/gtceu/materials.js b/kubejs/startup_scripts/gtceu/materials.js index 6b3ebefb0..25c98f1a9 100644 --- a/kubejs/startup_scripts/gtceu/materials.js +++ b/kubejs/startup_scripts/gtceu/materials.js @@ -60,6 +60,9 @@ const registerGTCEuMaterialModification = (event) => { GTToolType.BUZZSAW, GTToolType.SCYTHE, GTToolType.WIRE_CUTTER, + GTToolType.WIRE_CUTTER_LV, + GTToolType.WIRE_CUTTER_HV, + GTToolType.WIRE_CUTTER_IV, GTToolType.DRILL_LV, GTToolType.DRILL_MV, GTToolType.DRILL_HV,