#Recipe conversion
6 messages · Page 1 of 1 (latest)
This is an example of how to use .forEachRecipe() for changing or adding new recipes using existing ones.
ServerEvents.recipes(e => {
// 2x slabs -> 1x plank through shaped crafting
e.forEachRecipe({ type: 'minecraft:crafting_shaped', output: '#minecraft:slabs' }, r => {
let ingredients = r.originalRecipeIngredients // returns a List<Ingredient>
let output = r.originalRecipeResult // returns an ItemStack
e.shaped(ingredients[0], ['S', 'S'], { S: output })
})
// 1x stair -> 1x plank through stonecutting
e.forEachRecipe({ type: 'minecraft:stonecutting', output: '#minecraft:stairs' }, r => {
let ingredients = r.originalRecipeIngredients
let output = r.originalRecipeResult
e.stonecutting(ingredients[0], output)
})
// change the output from logs to planks from 4x to 2x (this will replace old recipe)
e.forEachRecipe({ type: 'minecraft:crafting_shapeless', input: '#minecraft:logs', output: '#minecraft:planks' }, r => {
let ingredients = r.originalRecipeIngredients
let output = r.originalRecipeResult
e.shapeless(Item.of(output.id, 2), ingredients[0]).id(r.getOrCreateId())
})
})
You can get the recipes json with r.json and then extract the time from that
This would Check for the Item that willve smelted