onEvent('recipes', event => {
	// heat engine
	event.recipes.createSequencedAssembly([ // start the recipe
	 Item.of('create_sa:heat_engine').withChance(0.8), // have this item be an output with a certain chance
	 Item.of('create_sa:incomplete_heat_engine').withChance(0.2),
	], 'create:andesite_alloy', [ // the input.
	 event.recipes.createDeploying('create_sa:incomplete_heat_engine', ['create_sa:incomplete_heat_engine', 'create:cogwheel']),
	 
	 event.recipes.createDeploying('create_sa:incomplete_heat_engine', ['create_sa:incomplete_heat_engine', 'create:large_cogwheel']),
	 
	 event.recipes.createDeploying('create_sa:incomplete_heat_engine', ['create_sa:incomplete_heat_engine', 'create:zinc_nugget']),
	 
	 event.recipes.createDeploying('create_sa:incomplete_heat_engine', ['create_sa:incomplete_heat_engine', 'create:copper_nugget']),
	 
	]).transitionalItem('create_sa:incomplete_heat_engine').loops(3) // set the transitional item and the loops (amount of repetitions)
	
	// steam engine
	event.recipes.createSequencedAssembly([
	 Item.of('create_sa:steam_engine').withChance(0.91),
	 Item.of('create_sa:incomplete_steam_engine').withChance(0.09),
	], 'create:brass_sheet', [
	 event.recipes.createDeploying('create_sa:incomplete_steam_engine', ['create_sa:incomplete_steam_engine', 'create:cogwheel']),
	 
	 event.recipes.createDeploying('create_sa:incomplete_steam_engine', ['create_sa:incomplete_steam_engine', 'create:large_cogwheel']),
	 
	 event.recipes.createDeploying('create_sa:incomplete_steam_engine', ['create_sa:incomplete_steam_engine', 'create:propeller']),
	 
	 event.recipes.createDeploying('create_sa:incomplete_steam_engine', ['create_sa:incomplete_steam_engine', 'create:andesite_alloy']),
	 
	]).transitionalItem('create_sa:incomplete_steam_engine').loops(3)
	
	// hydraulic engine
	event.recipes.createSequencedAssembly([
	 Item.of('create_sa:hydraulic_engine').withChance(0.91),
	 Item.of('create_sa:incomplete_hydraulic_engine').withChance(0.09),
	], 'create:brass_sheet', [
	
	event.recipes.createFilling('create_sa:incomplete_hydraulic_engine', [
	  'create_sa:incomplete_hydraulic_engine',
	  Fluid.of('minecraft:water', 250)
	]),
	
	event.recipes.createPressing('create_sa:incomplete_hydraulic_engine', 'create_sa:incomplete_hydraulic_engine'),
	
	event.recipes.createDeploying('create_sa:incomplete_hydraulic_engine', ['create_sa:incomplete_hydraulic_engine', 'create:brass_nugget']),
	
	event.recipes.createPressing('create_sa:incomplete_hydraulic_engine', 'create_sa:incomplete_hydraulic_engine'),

	 
	]).transitionalItem('create_sa:incomplete_hydraulic_engine').loops(3)
})