Update recipes.js
This commit is contained in:
parent
96a4ae16d3
commit
6052f3a290
1 changed files with 43 additions and 43 deletions
|
|
@ -1,8 +1,12 @@
|
|||
// priority: 0
|
||||
|
||||
const poorRawOrePrefix = TagPrefix.getPrefix(`poor_raw`)
|
||||
const normalRawOrePrefix = TagPrefix.getPrefix(`raw`)
|
||||
const richRawOrePrefix = TagPrefix.getPrefix(`rich_raw`)
|
||||
|
||||
const registerGTrecipes = (event) => {
|
||||
GTRegistries.MATERIALS.forEach(material => {
|
||||
if (material.hasProperty($PropertyKey.ORE)) {
|
||||
if (material.hasProperty($PropertyKey.ORE) && !material.hasFlag(GTMaterialFlags.NO_UNIFICATION) && !ChemicalHelper.get(TagPrefix.ore, material, 1).isEmpty()) {
|
||||
event.remove({id: `gtceu:forge_hammer/hammer_raw_${material}_to_crushed_ore`})
|
||||
event.remove({id: `gtceu:macerator/macerate_raw_${material}_ore_to_crushed_ore`})
|
||||
|
||||
|
|
@ -13,9 +17,10 @@ const registerGTrecipes = (event) => {
|
|||
|
||||
generateRecipesForRawOres(event, material)
|
||||
|
||||
/*
|
||||
global.allTFCStoneTypeNames.forEach(stoneTypeName => {
|
||||
generateRecipesForOres(event, stoneTypeName, material)
|
||||
})
|
||||
})*/
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
@ -39,12 +44,13 @@ const generateRecipesForRawOres = (event, material) => {
|
|||
} else {
|
||||
ingotStack = ChemicalHelper.get(TagPrefix.dust, smeltingMaterial, 1);
|
||||
}
|
||||
|
||||
ingotStack.setCount(ingotStack.getCount() * materialOreProperty.getOreMultiplier());
|
||||
crushedStack.setCount(crushedStack.getCount() * materialOreProperty.getOreMultiplier());
|
||||
|
||||
if (crushedStack.isEmpty()) return;
|
||||
|
||||
const generateRecipes = (tagPrefixWithMaterial, tagPrefix, multiplier) => {
|
||||
const generateRecipes = (tagPrefix, multiplier) => {
|
||||
let outputItems;
|
||||
|
||||
if (material.hasProperty($PropertyKey.GEM) && !TagPrefix.gem.isIgnored(material)) {
|
||||
|
|
@ -53,49 +59,47 @@ const generateRecipesForRawOres = (event, material) => {
|
|||
outputItems = `${amountOfCrushedOre * multiplier}x #forge:crushed_ores/${material}`
|
||||
}
|
||||
|
||||
const forgeHammerRecipeName = `hammer_${tagPrefixWithMaterial}_to_crushed_ore`
|
||||
const maceratorRecipeName = `macerate_${tagPrefixWithMaterial}_to_crushed_ore`
|
||||
const crushedOreAmountWithMultiplier = crushedStack.getCount() * multiplier
|
||||
|
||||
const forgeHammerRecipeName = `hammer_${tagPrefix.name}_${material}_to_crushed_ore`
|
||||
const maceratorRecipeName = `macerate_${tagPrefix.name}_${material}_to_crushed_ore`
|
||||
|
||||
const rawRecipeEntry = `1x gtceu:${tagPrefixWithMaterial}`
|
||||
const crushedRecipeEntry = `${crushedStack.getCount() * multiplier}x #forge:crushed_ores/${material}`
|
||||
const rawStackInput = `1x #forge:${tagPrefix.name}_materials/${material}`
|
||||
const crushedStackOutput = `${crushedOreAmountWithMultiplier}x #forge:crushed_ores/${material}`
|
||||
|
||||
event.recipes.gtceu.forge_hammer(forgeHammerRecipeName)
|
||||
.itemInputs(rawRecipeEntry)
|
||||
.itemInputs(rawStackInput)
|
||||
.itemOutputs(outputItems)
|
||||
.duration(10).EUt(16);
|
||||
|
||||
event.recipes.gtceu.macerator(maceratorRecipeName)
|
||||
.itemInputs(rawRecipeEntry)
|
||||
.itemOutputs(crushedRecipeEntry)
|
||||
.chancedOutput(crushedRecipeEntry, 5000, 750)
|
||||
.chancedOutput(crushedRecipeEntry, 2500, 500)
|
||||
.chancedOutput(crushedRecipeEntry, 1250, 250)
|
||||
.itemInputs(rawStackInput)
|
||||
.itemOutputs(crushedStackOutput)
|
||||
.chancedOutput(crushedStackOutput, 5000, 750)
|
||||
.chancedOutput(crushedStackOutput, 2500, 500)
|
||||
.chancedOutput(crushedStackOutput, 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_${tagPrefixWithMaterial}_to_ingot`
|
||||
const blastingRecipeName = `tfg:blasting/smelt_${tagPrefixWithMaterial}_to_ingot`
|
||||
const smeltRecipeName = `tfg:smelting/smelt_${tagPrefix.name}_${material}_to_ingot`
|
||||
const blastingRecipeName = `tfg:blasting/smelt_${tagPrefix.name}_${material}_to_ingot`
|
||||
|
||||
const trueOrePrefix = ChemicalHelper.getPrefix(ingotStack.getItem())
|
||||
const trueMaterial = ChemicalHelper.getUnificationEntry(ingotStack.getItem()).material
|
||||
|
||||
const inputEntry = `1x gtceu:${tagPrefixWithMaterial}`
|
||||
|
||||
const copiedIngotStack = ingotStack.copy()
|
||||
copiedIngotStack.setCount(copiedIngotStack.getCount() * multiplier)
|
||||
|
||||
event.smelting(copiedIngotStack, inputEntry).id(smeltRecipeName).xp(xp)
|
||||
event.blasting(copiedIngotStack, inputEntry).id(blastingRecipeName).xp(xp)
|
||||
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)
|
||||
}
|
||||
}
|
||||
|
||||
const poorRawOrePrefix = TagPrefix.getPrefix(`poor_raw`)
|
||||
const normalRawOrePrefix = TagPrefix.getPrefix(`raw`)
|
||||
const richRawOrePrefix = TagPrefix.getPrefix(`rich_raw`)
|
||||
|
||||
generateRecipes(`${material}_poor_raw`, poorRawOrePrefix, 1)
|
||||
generateRecipes(`raw_${material}`, normalRawOrePrefix, 2)
|
||||
generateRecipes(`${material}_rich_raw`, richRawOrePrefix, 3)
|
||||
generateRecipes(poorRawOrePrefix, 1)
|
||||
generateRecipes(normalRawOrePrefix, 2)
|
||||
generateRecipes(richRawOrePrefix, 3)
|
||||
}
|
||||
|
||||
const generateRecipesForOres = (event, stoneTypeName, material) => {
|
||||
|
|
@ -104,23 +108,19 @@ const generateRecipesForOres = (event, stoneTypeName, material) => {
|
|||
if (byproductMaterial == null) byproductMaterial = material
|
||||
|
||||
const stoneTypePrefix = TagPrefix.getPrefix(`tfc_${stoneTypeName}`)
|
||||
const ingotPrefix = TagPrefix.getPrefix('ingot')
|
||||
const gemPrefix = TagPrefix.getPrefix('gem')
|
||||
const dustPrefix = TagPrefix.getPrefix('dust')
|
||||
const crushedOrePrefix = TagPrefix.getPrefix('crushedOre')
|
||||
|
||||
let ingotStack;
|
||||
let byproductStack = ChemicalHelper.get(gemPrefix, byproductMaterial, 1);
|
||||
if (byproductStack.isEmpty()) byproductStack = ChemicalHelper.get(dustPrefix, byproductMaterial, 1);
|
||||
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(crushedOrePrefix, material, 1);
|
||||
const crushedStack = ChemicalHelper.get(TagPrefix.crushed, material, 1);
|
||||
|
||||
if (smeltingMaterial.hasProperty($PropertyKey.INGOT)) {
|
||||
ingotStack = ChemicalHelper.get(ingotPrefix, smeltingMaterial, 1);
|
||||
ingotStack = ChemicalHelper.get(TagPrefix.ingot, smeltingMaterial, 1);
|
||||
} else if (smeltingMaterial.hasProperty($PropertyKey.GEM)) {
|
||||
ingotStack = ChemicalHelper.get(gemPrefix, smeltingMaterial, 1);
|
||||
ingotStack = ChemicalHelper.get(TagPrefix.gem, smeltingMaterial, 1);
|
||||
} else {
|
||||
ingotStack = ChemicalHelper.get(dustPrefix, smeltingMaterial, 1);
|
||||
ingotStack = ChemicalHelper.get(TagPrefix.dust, smeltingMaterial, 1);
|
||||
}
|
||||
|
||||
const oreRecipeEntry = `1x #forge:ores/tfc_${stoneTypeName}/${material}`
|
||||
|
|
@ -128,7 +128,7 @@ const generateRecipesForOres = (event, stoneTypeName, material) => {
|
|||
if (!crushedStack.isEmpty()) {
|
||||
let outputItems;
|
||||
|
||||
if (material.hasProperty($PropertyKey.GEM) && !gemPrefix.isIgnored(material)) {
|
||||
if (material.hasProperty($PropertyKey.GEM) && !TagPrefix.gem.isIgnored(material)) {
|
||||
outputItems = `1x #forge:gems/${material}`
|
||||
} else {
|
||||
outputItems = `1x #forge:crushed_ores/${material}`
|
||||
|
|
@ -156,11 +156,11 @@ const generateRecipesForOres = (event, stoneTypeName, material) => {
|
|||
// 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)
|
||||
event.blasting(ingotStack, oreRecipeEntry).id(blastingRecipeName).xp(xp)*/
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue