#getOriginalRecipeResult not retrieving all outputs

5 messages · Page 1 of 1 (latest)

hasty mica
#

I was trying to create a recipes with outputs and inputs the same as a different recipe. But the getOriginalRecipeResult doesn't seem to work with items that have only a chance of being created in a recipe. (At least with create crushing)

    let ores = Ingredient.of('#forge:ores').itemIds

    for( let i = 0; i < ores.length; i++){
        let ore = ores[i]
        e.forEachRecipe({type: "create:crushing", input: ore}, recipe =>{
            let input = recipe.getOriginalRecipeIngredients()
            let output = recipe.getOriginalRecipeResult()
            e.recipes.vintageimprovements.vibrating(output, input)
        })
    }
sullen gullBOT
#

Once your ticket has been resolved, please close it with </ticket close:1054771505520717835> command!

tidal grail
#

try this but with your recipe type instead of making a second crushing recipe

ServerEvents.recipes(event => {
    event.forEachRecipe({type:"create:crushing", input:"#forge:ores"}, recipe => {
        event.recipes.create.crushing(recipe.json.results, recipe.originalRecipeIngredients)
    })
})
#

it does seem like recipe.getOriginalRecipeResult() will only ever return one item

storm jetty
#

You can get the output as array using json

let ores = Ingredient.of('#forge:ores').itemIds

for(let i = 0; i < ores.length; i++) {
  let ore = ores[i]
  e.forEachRecipe({type: "create:crushing", input: ore}, recipe => {
    let input = recipe.getOriginalRecipeIngredients()
    let output = recipe.json;
        
    e.recipes.vintageimprovements.vibrating(output.get('results'), input)
  })
}