ServerEvents.recipes(event => { event.recipes.create.milling('createsifter:crushed_end_stone', 'minecraft:end_stone') event.recipes.create.milling('createsifter:dust', 'minecraft:sand') event.recipes.create.mixing(['minecraft:clay'], [Fluid.water(500), 'createsifter:dust']) event.recipes.create.mixing(['minecraft:obsidian'], [Fluid.water(1000), Fluid.lava(1000)]) let inter = 'kubejs:incomplete_netherstar' // making a variable to store the transitional item makes the code more readable event.recipes.create.sequenced_assembly([ Item.of('nether_star'), // this is the item that will appear in JEI as the result ], 'prismarine_shard', [ // 'flowering_azalea_leaves' is the input // the transitional item is a variable, that is 'kubejs:incomplete_spore_blossom' and is used during the intermediate stages of the assembly event.recipes.createPressing(inter, inter), // like a normal recipe function, is used as a sequence step in this array. Input and output have the transitional item event.recipes.createFilling(inter, [inter, Fluid.water(420)]), event.recipes.createPressing(inter, inter), event.recipes.createFilling(inter, [inter, Fluid.of('create_enchantment_industry:experience', 250)]), ]).transitionalItem(inter).loops(8) // set the transitional item and the number of loops let interPainting = 'minecraft:painting' // making a variable to store the transitional item makes the code more readable event.recipes.create.sequenced_assembly([ Item.of('dimpaintings:end_painting'), // this is the item that will appear in JEI as the result ], interPainting, [ // 'flowering_azalea_leaves' is the input // the transitional item is a variable, that is 'kubejs:incomplete_spore_blossom' and is used during the intermediate stages of the assembly event.recipes.createPressing(inter, inter), event.recipes.createPressing(inter, inter), // like a normal recipe function, is used as a sequence step in this array. Input and output have the transitional item event.recipes.createFilling(inter, [inter, Fluid.of('create_enchantment_industry:experience', 1000)]), ]).transitionalItem(inter).loops(1) // set the transitional item and the number of loops })