Update recipes.js

This commit is contained in:
SpeeeDCraft 2023-10-27 19:38:22 +07:00
parent 6052f3a290
commit 323d0bf78a

View file

@ -17,10 +17,9 @@ const registerGTrecipes = (event) => {
generateRecipesForRawOres(event, material)
/*
global.allTFCStoneTypeNames.forEach(stoneTypeName => {
generateRecipesForOres(event, stoneTypeName, material)
})*/
})
}
})
}
@ -64,36 +63,36 @@ const generateRecipesForRawOres = (event, material) => {
const forgeHammerRecipeName = `hammer_${tagPrefix.name}_${material}_to_crushed_ore`
const maceratorRecipeName = `macerate_${tagPrefix.name}_${material}_to_crushed_ore`
const rawStackInput = `1x #forge:${tagPrefix.name}_materials/${material}`
const crushedStackOutput = `${crushedOreAmountWithMultiplier}x #forge:crushed_ores/${material}`
const rawStack = `1x #forge:${tagPrefix.name}_materials/${material}`
const crushedStackMultiplied = `${crushedOreAmountWithMultiplier}x #forge:crushed_ores/${material}`
event.recipes.gtceu.forge_hammer(forgeHammerRecipeName)
.itemInputs(rawStackInput)
.itemInputs(rawStack)
.itemOutputs(outputItems)
.duration(10).EUt(16);
event.recipes.gtceu.macerator(maceratorRecipeName)
.itemInputs(rawStackInput)
.itemOutputs(crushedStackOutput)
.chancedOutput(crushedStackOutput, 5000, 750)
.chancedOutput(crushedStackOutput, 2500, 500)
.chancedOutput(crushedStackOutput, 1250, 250)
.itemInputs(rawStack)
.itemOutputs(crushedStackMultiplied)
.chancedOutput(crushedStackMultiplied, 5000, 750)
.chancedOutput(crushedStackMultiplied, 2500, 500)
.chancedOutput(crushedStackMultiplied, 1250, 250)
.duration(10).EUt(16);
// do not try to add smelting recipes for materials which require blast furnace
if (!ingotStack.isEmpty() && doesMaterialUseNormalFurnace(smeltingMaterial) && !tagPrefix.isIgnored(material)) {
const xp = Math.round(((1 + materialOreProperty.getOreMultiplier() * 0.33) / 3) * 10) / 10;
const smeltRecipeName = `tfg:smelting/smelt_${tagPrefix.name}_${material}_to_ingot`
const blastingRecipeName = `tfg:blasting/smelt_${tagPrefix.name}_${material}_to_ingot`
const smeltRecipeName = `tfg:smelting/smelt_${tagPrefix.name}_${material}_raw_to_ingot`
const blastingRecipeName = `tfg:blasting/smelt_${tagPrefix.name}_${material}_raw_to_ingot`
const trueOrePrefix = ChemicalHelper.getPrefix(ingotStack.getItem())
const trueMaterial = ChemicalHelper.getUnificationEntry(ingotStack.getItem()).material
const outputMaterial = `${ingotStack.getCount() * multiplier}x #${ChemicalHelper.getTag(trueOrePrefix, trueMaterial).location()}`
event.smelting(outputMaterial, rawStackInput).id(smeltRecipeName).xp(xp)
event.blasting(outputMaterial, rawStackInput).id(blastingRecipeName).xp(xp)
event.smelting(outputMaterial, rawStack).id(smeltRecipeName).xp(xp)
event.blasting(outputMaterial, rawStack).id(blastingRecipeName).xp(xp)
}
}
@ -112,6 +111,7 @@ const generateRecipesForOres = (event, stoneTypeName, material) => {
let ingotStack;
let byproductStack = ChemicalHelper.get(TagPrefix.gem, byproductMaterial, 1);
if (byproductStack.isEmpty()) byproductStack = ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1);
const smeltingMaterial = materialOreProperty.getDirectSmeltResult() == null ? material : materialOreProperty.getDirectSmeltResult();
const crushedStack = ChemicalHelper.get(TagPrefix.crushed, material, 1);
@ -123,7 +123,7 @@ const generateRecipesForOres = (event, stoneTypeName, material) => {
ingotStack = ChemicalHelper.get(TagPrefix.dust, smeltingMaterial, 1);
}
const oreRecipeEntry = `1x #forge:ores/tfc_${stoneTypeName}/${material}`
const oreStack = `1x #forge:ores/tfc_${stoneTypeName}/${material}`
if (!crushedStack.isEmpty()) {
let outputItems;
@ -137,30 +137,35 @@ const generateRecipesForOres = (event, stoneTypeName, material) => {
const forgeHammerRecipeName = `hammer_${stoneTypeName}_${material}_ore_to_raw_ore`
const maceratorRecipeName = `macerate_${stoneTypeName}_${material}_ore_to_raw_ore`
const crushedRecipeEntry = `${crushedStack.getCount() * 2}x #forge:crushed_ores/${material}`
const stoneTypeMaterialEntry = `1x gtceu:${stoneTypeName}_dust`
const crushedStack = `2x #forge:crushed_ores/${material}`
const stoneTypeDustStack = `1x #forge:dusts/${stoneTypeName}`
event.recipes.gtceu.forge_hammer(forgeHammerRecipeName)
.itemInputs(oreRecipeEntry)
.itemInputs(oreStack)
.itemOutputs(outputItems)
.duration(10).EUt(16);
event.recipes.gtceu.macerator(maceratorRecipeName)
.itemInputs(oreRecipeEntry)
.itemOutputs(crushedRecipeEntry)
.itemInputs(oreStack)
.itemOutputs(crushedStack)
.chancedOutput(byproductStack, 1400, 850)
.chancedOutput(stoneTypeMaterialEntry, 5000, 850)
.chancedOutput(stoneTypeDustStack, 5000, 850)
.duration(10).EUt(16);
}
// do not try to add smelting recipes for materials which require blast furnace
if (!ingotStack.isEmpty() && doesMaterialUseNormalFurnace(smeltingMaterial) && !stoneTypePrefix.isIgnored(material)) {
const xp = Math.round(((1 + materialOreProperty.getOreMultiplier() * 0.5) * 0.5 - 0.05) * 10) / 10
/*
const smeltRecipeName = `tfg:smelting/smelt_${stoneTypeName}_${material}_ore_to_ingot_1`
const blastingRecipeName = `tfg:blasting/smelt_${stoneTypeName}_${material}_ore_to_ingot_1`
console.log(oreRecipeEntry + " " + ingotStack)
event.smelting(ingotStack, oreRecipeEntry).id(smeltRecipeName).xp(xp)
event.blasting(ingotStack, oreRecipeEntry).id(blastingRecipeName).xp(xp)*/
const smeltRecipeName = `tfg:smelting/smelt_${stoneTypePrefix.name}_${material}_ore_to_ingot`
const blastingRecipeName = `tfg:blasting/smelt_${stoneTypePrefix.name}_${material}_ore_to_ingot`
const trueOrePrefix = ChemicalHelper.getPrefix(ingotStack.getItem())
const trueMaterial = ChemicalHelper.getUnificationEntry(ingotStack.getItem()).material
const outputMaterial = `1x #${ChemicalHelper.getTag(trueOrePrefix, trueMaterial).location()}`
event.smelting(outputMaterial, oreStack).id(smeltRecipeName).xp(xp)
event.blasting(outputMaterial, oreStack).id(blastingRecipeName).xp(xp)
}
}