ServerEvents.recipes(event => {
	//Enderchests
	event.remove({mod: 'enderchests'})
	event.shaped(
		'2x enderchests:ender_chest',
		[
		'RSR',
		'SCS',
		'RER'
		],{
		  S: 'ae2:spatial_cell_component_2',
		  R: 'kubejs:reality_alloy',
		  C: 'minecraft:chest',
		  E: 'minecraft:echo_shard'
	})

	//tank progression
	//tconstruct:tanks, ingot and smeltery tanks
	//create:fluid_tank = 8 buckets per block UNMOVABLE (no drain until iron chap 3)
	//immersiveengineering Wooden (chap 2: treated) and metal (chap 3:iron) barrel 12 buckets MOVABLE
	//chap 2 (copper): ae2:sky_stone_tank = 16 buckets, UNMOVABLE
	event.replaceInput({ id: 'ae2:misc/tank_sky_stone' }, 'ae2:quartz_glass', 'create:fluid_tank')
	//chap 3 (glue): thermal:fluid_reservoir = 20 buckets ITEM
	event.replaceInput({ id: 'thermal:fluid_reservoir' }, 'minecraft:bucket', 'create:fluid_tank')
	//chap 3 (steel): enderio:fluid_tank = 16 buckets MOVABLE + recipes
	event.replaceInput({ id: 'enderio:fluid_tank' }, 'minecraft:iron_ingot', 'immersiveengineering:ingot_steel')
	//chap 4 (adv component): thermal:fluid_cell = 32 buckets + 16xlevelenchant = 96 buckets
	event.replaceInput({ id: 'thermal:fluid_cell' }, 'thermal:redstone_servo', 'immersiveengineering:component_electronic_adv')
	event.remove({ id: 'thermal:augments/fluid_tank_augment' })
	//chap 5 (dark steel): enderio:pressurized_fluid_tank = 32 buckets MOVABLE + recipes
	//chap 5 (machine alloys): mekanism 32 > 64 > 128 > 256
	//sophisticated_backpacks:tank_upgrade per size 12, 20c, 24i, 36g, 72d, 80n
	//immersiveengineering:tank multiblock structure = 512 buckets
	//mekanism:dynamic_tank 350 buckets per block (can be configured)

	//ae2:portable_fluid_cell + upgrades

	//storage progression
	//sack wallpaper > backpacks post nether > personal backpack/chest
	//early satchel from thermal?

	//crafting progression
	//botania crafty crate (early 3) > brass mechanical crafters (early 4) > sequential fabricator (late chap 4)
	//enderio crafter earlier? (currently post void chasis) use trick to get capacitor

	//alloy smelter fixes
	event.remove({ type: 'enderio:alloy_smelting', output: '#forge:foods/meat/cooked' })
	event.remove({ type: 'enderio:alloy_smelting', output: '#forge:cooked_fishes' })
	event.remove({ type: 'enderio:alloy_smelting', output: '@neapolitan' })
	event.remove({ type: 'enderio:alloy_smelting', output: '@berry_good' })
	event.remove({ type: 'enderio:alloy_smelting', output: '@miners_delight' })
	event.remove({ type: 'enderio:alloy_smelting', output: '@farmersdelight' })
	event.remove({ type: 'enderio:alloy_smelting', output: 'ceramicbucket:ceramic_bucket' })
	event.remove({ type: 'enderio:alloy_smelting', output: 'thermal:cured_rubber' })
	event.remove({ type: 'enderio:alloy_smelting', output: 'thermal:cooked_eggplant' })
	event.remove({ type: 'enderio:alloy_smelting', output: 'thermal:cooked_corn' })
	event.remove({ type: 'enderio:alloy_smelting', output: 'thermal:cooked_mushroom' })
	event.remove({ type: 'enderio:alloy_smelting', output: 'minecraft:bread' })
	event.remove({ type: 'enderio:alloy_smelting', output: 'minecraft:baked_potato' })
	event.remove({ type: 'enderio:alloy_smelting', output: 'minecraft:dried_kelp' })
	event.remove({ type: 'enderio:alloy_smelting', output: 'minecraft:popped_chorus_fruit' })
	event.remove({ type: 'enderio:alloy_smelting', output: 'minecraft:cookie' })
	event.remove({ type: 'enderio:alloy_smelting', output: 'minecraft:sponge' })
	event.remove({ type: 'enderio:alloy_smelting', output: 'minecraft:slime_ball' })
	event.remove({ type: 'enderio:alloy_smelting', output: 'eidolon:enchanted_ash' })
	event.remove({ type: 'enderio:alloy_smelting', output: 'thermal:white_rockwool' })

	//Balance Fixes
	event.remove({ mod: 'antiblocksrechiseled' })
    event.remove({ output: 'blockofsky:sky_block'})
	event.remove({ id: 'botania:mana_infusion/wheat_seeds_to_potato' }) //potato must be obtained intended way
	event.remove({ id: 'botania:mana_infusion/oak_sapling_to_spruce_sapling' }) //carpet breaking exploit
	event.remove({ output: 'ae2:facade' }) //unable to be disabled??
	event.remove({ id: 'supplementaries:sus_bricks' }) //unable to be disabled?
	event.remove({ id: 'supplementaries:rope' })
	event.remove({ id: 'minecraft:blue_ice' })
	event.remove({ id: 'minecraft:sandstone' })
	event.remove({ id: 'mekanism:paper' })
	event.remove({ id: 'actuallyadditions:rice_paper' })
	event.remove({ id: 'enderio:stick' })
	event.remove({ output: 'supplementaries:slidy_block' })
	event.remove({ id: 'thermal:rubber_3' }) //from latex bucket
	event.remove({ id: 'minecraft:netherite_ingot' }) //now requires the metallurgic infuser, but cheaper on gold
	event.remove({ id: 'thermal:machines/smelter/smelter_alloy_netherite' })
	event.remove({ id: 'mekanism:processing/netherite/ingot_from_dust_smelting' })
	event.remove({ id: 'mekanism:processing/netherite/ingot_from_dust_blasting' })
	event.remove({ id: 'thermal:furnace_2049406247' }) //netherite now requires alloy smelter (or blaze blood smeltery)
	event.remove({ id: 'thermal:gunpowder_4' }) //double recipe
	event.remove({ input: 'thermal:lightning_charge' })
	event.remove({ output: 'thermal:lightning_charge' })
	event.remove({ input: 'thermal:ice_charge' })
	event.remove({ output: 'thermal:ice_charge' })
	event.remove({ input: 'thermal:earth_charge' })
	event.remove({ output: 'thermal:earth_charge' })
	event.remove({ type: 'ae2:inscriber', output: 'ae2:fluix_dust' })
	event.remove({ type: 'ae2:inscriber', output: 'ae2:certus_quartz_dust' })
	event.remove({ id: 'immersiveengineering:crusher/dark_prismarine' })

	//fixes QOL
	event.replaceInput({ input: 'minecraft:leather' }, 'minecraft:leather', '#forge:leather')
	event.replaceInput({ id: 'minecraft:chain' }, 'minecraft:iron_ingot', 'minecraft:iron_nugget')
	event.replaceInput({ id: 'minecraft:piston' }, '#minecraft:planks', '#minecraft:wooden_slabs')
	event.replaceInput({ id: 'minecraft:enchanting_table' }, 'minecraft:book', 'minecraft:enchanted_book')
	event.replaceInput({ id: 'enderio:enchanter' }, 'minecraft:book', 'minecraft:enchanted_book')
	event.replaceInput({ output: 'minecraft:fishing_rod' }, 'minecraft:stick', 'minecraft:bamboo')
	event.replaceInput({ id: 'create:crafting/kinetics/super_glue' }, '#forge:slimeballs', 'thermal:rubber')
	event.replaceInput({ id: 'immersiveengineering:crafting/cloche' }, '#forge:glass', 'actuallyadditions:greenhouse_glass')
	event.replaceInput({ id: 'blockofsky:sky_block' }, 'minecraft:amethyst_shard', 'minecraft:chorus_fruit')
	event.replaceInput({ id: 'thermal:tools/satchel' }, '#forge:ingots/tin', ['kubejs:scrap', 'minecraft:iron_ingot'])
	event.replaceInput({ id: 'thermal:tools/satchel' }, '#forge:leather', 'minecraft:string')
	event.replaceInput({ id: 'thermal:tools/satchel' }, '#thermal:rockwool', '#minecraft:wool')
	event.replaceInput({ id: 'thermal:tools/guidebook' }, 'thermal:wrench', 'immersiveengineering:component_electronic')
	event.replaceInput({ id: 'thermal:device_water_gen' }, 'minecraft:iron_ingot', 'actuallyadditions:empowered_void_crystal')
	event.replaceInput({ id: 'thermal:junk_net' }, 'minecraft:iron_nugget', '#forge:nuggets/lead')
	event.replaceInput({ id: 'actuallyadditions:firework_box' }, '#forge:rods/wooden', 'enderio:infinity_rod')
	event.replaceInput({ id: 'supplementaries:timber_frame' }, '#forge:rods/wooden', 'immersiveengineering:stick_treated')
	event.replaceInput({ id: 'supplementaries:timber_brace' }, '#forge:rods/wooden', 'immersiveengineering:stick_treated')
	event.replaceInput({ id: 'supplementaries:timber_cross_brace' }, '#forge:rods/wooden', 'immersiveengineering:stick_treated')
	event.replaceOutput({ output: 'mekanism:dust_quartz' }, 'mekanism:dust_quartz', 'thermal:quartz_dust')
	event.replaceInput({ input: '#forge:dusts/niter' }, '#forge:dusts/niter', 'immersiveengineering:dust_saltpeter')
	event.replaceOutput({ output: 'thermal:niter_dust' }, 'thermal:niter_dust', 'immersiveengineering:dust_saltpeter')
	event.replaceInput({ id: 'supplementaries:wrench' }, 'minecraft:copper_ingot', 'create:copper_sheet')

	event.remove({ id: 'immersiveengineering:crafting/coal_coke_to_coke' })
	event.remove({ id: 'thermal:storage/coal_coke_block' })
	event.remove({ output: 'thermal:coal_coke' })
	event.shapeless('thermal:coal_coke_block', ['9x #forge:coal_coke']) //can now be compacted via create
	event.remove({ id: 'thermal:storage/slag_block' })
	event.shapeless('thermal:slag_block', ['9x thermal:slag'])
	event.remove({ id: 'thermal:storage/slag_from_block' })
	event.shapeless('9x thermal:slag', ['thermal:slag_block'])
	event.remove({ id: 'thermal:machines/press/packing2x2/press_slag_packing' })
	event.custom({
		"type": "thermal:press",
		"ingredients": [
			{"item": "thermal:slag","count": 9},
			{"item": "thermal:press_packing_3x3_die"}
		],"result": [
			{"item": "thermal:slag_block"}
		],"energy": 400
	})
	event.remove({ id: 'thermal:machines/press/unpacking/press_slag_unpacking' })
	event.custom({
		"type": "thermal:press",
		"ingredients": [
			{ "item": "thermal:slag_block" },
			{ "item": "thermal:press_unpacking_die" }
		], "result": [
			{ "item": "thermal:slag", "count": 9 }
		], "energy": 400
	})
	event.remove({ id: 'thermal:rockwool/white_rockwool_from_smelting' })
	event.remove({ id: 'thermal:rockwool/white_rockwool_from_blasting' })
	event.recipes.createCompacting('thermal:white_rockwool', [
		'2x thermal:slag', '4x minecraft:string'
	])

	event.remove({ id: 'thermal:storage/sawdust_block' })
	event.shapeless('thermal:sawdust_block', ['9x #forge:dusts/wood']) //can now be made out of any sawdust type
	event.remove({ id: 'immersiveengineering:crafting/sawdust' })
	event.remove({ output: 'farmersdelight:safety_net' })
	event.shapeless('farmersdelight:safety_net', ['9x farmersdelight:rope'])
	event.remove({ id: 'farmersdelight:rope_from_safety_net' })
	event.shapeless('9x farmersdelight:rope', ['farmersdelight:safety_net'])
	event.shapeless('thermal:ruby_block', ['9x thermal:ruby'])
	event.shapeless('9x thermal:ruby', ['thermal:ruby_block'])
	event.remove({ output: 'minecraft:writable_book' })
	event.shapeless('minecraft:writable_book', ['minecraft:book', 'minecraft:black_dye', 'minecraft:feather'])
	event.recipes.create.mixing('3x immersiveengineering:fertilizer',
		[Fluid.of('minecraft:water', 1000), '#forge:dusts/saltpeter', '#forge:slag', '#forge:dusts/sulfur']) //can now be automated with the mixer
	event.remove({ id: 'minecraft:cut_copper' }) //to prevent accidental packing
	event.remove({ id: 'minecraft:cut_sandstone' })
	event.remove({ id: 'minecraft:cut_red_sandstone' })
	event.remove({ id: 'ae2:decorative/cut_quartz_block' })
	event.remove({ id: 'minecraft:bone_meal' })
	event.shapeless('2x minecraft:bone_meal', ['minecraft:bone'])
	event.recipes.farmersdelight.cutting(
		'minecraft:bone',
		"#forge:tools/knives",
		["3x minecraft:bone_meal"]);

	event.shapeless('sophisticatedbackpacks:tank_upgrade', ['sophisticatedbackpacks:tank_upgrade'])
	event.shapeless('mekanism:gauge_dropper', ['mekanism:gauge_dropper'])
	event.remove({ type: 'minecraft:crafting_shapeless', output: 'create:cardboard' })
	event.recipes.farmersdelight.cutting(
		'create:cardboard_block',
		"#forge:tools/knives",
		["4x create:cardboard"],);
	event.recipes.farmersdelight.cutting(
		'create:bound_cardboard_block',
		"#forge:tools/knives",
		["4x create:cardboard", "minecraft:string"],);
	event.recipes.farmersdelight.cutting(
		'mekanism:cardboard_box',
		"#forge:tools/knives",
		["4x create:cardboard"],);
	event.recipes.farmersdelight.cutting(
		'storage_shelves:cardboard_box',
		"#forge:tools/knives",
		["4x create:cardboard"],);
	event.recipes.farmersdelight.cutting(
		'storage_shelves:large_cardboard_box',
		"#forge:tools/knives",
		["8x create:cardboard"],);
	event.recipes.farmersdelight.cutting(
		'#minecraft:wool',
		"#forge:tools/knives",
		["2x minecraft:string"],);
	event.recipes.create.cutting('2x immersiveengineering:slab_treated_wood_horizontal', 'immersiveengineering:treated_wood_horizontal')
	event.recipes.create.cutting('2x immersiveengineering:slab_treated_wood_vertical', 'immersiveengineering:treated_wood_vertical')
	event.recipes.create.cutting('2x immersiveengineering:slab_treated_wood_packaged', 'immersiveengineering:treated_wood_packaged')
	event.recipes.create.milling([Item.of('immersiveengineering:dust_saltpeter').withChance(0.9)], 'thermal:niter')
	event.recipes.create.milling([Item.of('thermal:sulfur_dust').withChance(0.9)], 'thermal:sulfur')
	event.remove({ id: 'create:milling/compat/ae2/fluix_crystal' })
	event.recipes.create.milling([Item.of('ae2:fluix_dust').withChance(0.9)], 'ae2:fluix_crystal')
	event.remove({ id: 'create:milling/compat/ae2/certus_quartz' })
	event.recipes.create.milling([Item.of('ae2:certus_quartz_dust').withChance(0.9)], '#forge:gems/certus_quartz')
	event.recipes.createPressing('thermal:tin_plate', '#forge:ingots/tin')
	//event.recipes.createPressing('thermal:bronze_plate', '#forge:ingots/bronze') //intentionally left disabled
	event.remove({ id: 'create:pressing/compat/immersiveengineering/plate_constantan' })

	//Fixes and Rebalances
	event.remove({ output: 'minecraft:tinted_glass' })
	event.remove({ id: 'tconstruct:smeltery/melting/amethyst/tinted_glass' })
	event.recipes.enderio.alloy_smelting(
		Item.of("minecraft:tinted_glass"),
		[Item.of("#forge:glass/colorless"), Ingredient.of("actuallyadditions:black_quartz")],
		4000,
		6
	);
	event.remove({ output: 'botania:world_seed' })
	event.shapeless('8x botania:world_seed', ['minecraft:grass_block', 'botania:tiny_planet', 'botania:overgrowth_seed'])
	event.remove({ id: 'dustrial_decor:smooth_cardboard' })
	event.shaped('4x dustrial_decor:smooth_cardboard', [
		'ccc',
		'c c',
		'ccc'
	], { c: 'dustrial_decor:cardboard'})
	event.remove({ id: 'dustrial_decor:cast_iron_billet' })
	event.remove({ id: 'dustrial_decor:industrial_iron_billet' })
	event.recipes.create.mixing('3x dustrial_decor:cast_iron_billet', ['minecraft:iron_ingot', '2x minecraft:charcoal']).lowheated()
	event.recipes.create.mixing('2x dustrial_decor:industrial_iron_billet', ['dustrial_decor:cast_iron_billet', 'minecraft:iron_ingot']).lowheated()
	event.remove({ id: 'dustrial_decor:rusty_iron_nugget' })
	event.recipes.create.splashing([Item.of('dustrial_decor:rusty_iron_nugget')], 'minecraft:iron_nugget')
	event.remove({ id: 'dustrial_decor:rusty_iron_ingot' })
	event.recipes.create.splashing([Item.of('dustrial_decor:rusty_iron_ingot')], 'minecraft:iron_ingot')
	event.recipes.create.splashing([Item.of('dustrial_decor:rusty_iron_block')], 'minecraft:iron_block')
	event.recipes.create.splashing([Item.of('dustrial_decor:rusty_iron_door')], 'minecraft:iron_door')
	event.remove({ id: 'dustrial_decor:rusty_iron_door' })
	event.shaped('3x dustrial_decor:rusty_iron_door', [
		'mm',
		'mm',
		'mm'
	], {
		m: 'dustrial_decor:rusty_iron_ingot'
	})
	event.recipes.create.splashing([Item.of('dustrial_decor:rusty_iron_trapdoor')], 'minecraft:iron_trapdoor')
	event.remove({ id: 'dustrial_decor:rusty_sheet_metal' })
	event.recipes.create.splashing([Item.of('dustrial_decor:rusty_sheet_metal')], 'dustrial_decor:sheet_metal')
	event.recipes.create.splashing([Item.of('dustrial_decor:rusty_sheet_metal_door')], 'dustrial_decor:sheet_metal_door')
	event.recipes.create.splashing([Item.of('dustrial_decor:rusty_sheet_metal_trapdoor')], 'dustrial_decor:sheet_metal_trapdoor')
	event.remove({ id: 'dustrial_decor:rusty_sheet_metal_treading' })
	event.recipes.create.splashing([Item.of('dustrial_decor:rusty_sheet_metal_treading')], 'dustrial_decor:sheet_metal_treading')
	event.recipes.create.splashing([Item.of('dustrial_decor:rusty_sheet_metal_treading_stairs')], 'dustrial_decor:sheet_metal_treading_stairs')
	event.recipes.create.splashing([Item.of('dustrial_decor:rusty_sheet_metal_treading_slab')], 'dustrial_decor:sheet_metal_treading_slab')
	event.recipes.create.splashing([Item.of('dustrial_decor:rusty_sheet_metal_plating')], 'dustrial_decor:sheet_metal_plating')
	event.recipes.create.splashing([Item.of('dustrial_decor:rusty_sheet_metal_plating_stairs')], 'dustrial_decor:sheet_metal_plating_stairs')
	event.recipes.create.splashing([Item.of('dustrial_decor:rusty_sheet_metal_plating_slab')], 'dustrial_decor:sheet_metal_plating_slab')
	event.recipes.create.splashing([Item.of('dustrial_decor:rusty_sheet_metal_paneling')], 'dustrial_decor:sheet_metal_paneling')
	event.recipes.create.splashing([Item.of('dustrial_decor:rusty_sheet_metal_siding')], 'dustrial_decor:sheet_metal_siding')
	event.recipes.create.splashing([Item.of('dustrial_decor:rusty_sheet_metal_walling')], 'dustrial_decor:sheet_metal_walling')
	event.remove({ id: 'dustrial_decor:sheet_metal' })
	event.stonecutting('2x dustrial_decor:sheet_metal', 'minecraft:iron_ingot')
	event.remove({ id: 'create:industrial_iron_block_from_ingots_iron_stonecutting' })
	event.remove({ id: 'create:weathered_iron_block_from_ingots_iron_stonecutting' })
	event.shaped('8x create:industrial_iron_block', [
		'mmm',
		'mbm',
		'mmm'
	], {
		m: 'dustrial_decor:sheet_metal',
		b: 'dustrial_decor:industrial_iron_billet'
	})
	event.remove({ id: 'create:splashing/soul_sand' })
	event.recipes.create.splashing([Item.of('2x minecraft:quartz').withChance(0.1)], 'minecraft:soul_sand')
    event.remove({id: 'create:haunting/lapis_recycling'})
	event.remove({ id: 'minecraft:campfire' })
	event.remove({ id: 'minecraft:soul_campfire' })
	event.shaped('minecraft:campfire', [
		' C ',
		'CBC',
		'AAA'
	], {
		A: '#minecraft:planks',
		B: 'minecraft:charcoal',
		C: '#forge:rods/wooden'
	})
	event.remove({ id: 'decorative_blocks:lattice' })
	event.shaped('decorative_blocks:lattice', [
		's s',
		' s ',
		's s'
	], {
		s: '#forge:rods/wooden'
	})
	event.remove({ id: 'create:crafting/appliances/slime_ball' })
	event.remove({ id: 'thermal:machines/centrifuge/centrifuge_slime_mushroom_spores' })
	event.remove({ id: 'thermal:smelting/redstone_from_spores_smelting' })
	event.remove({ id: 'enderio:smelting/thermal/smelting/redstone_from_spores_smelting' })
	event.recipes.farmersdelight.cutting(
		"thermal:redstone_mushroom_spores",
		"#forge:tools/knives",
		["minecraft:redstone",Item.of("minecraft:redstone").withChance(0.25),],
	);
	event.remove({ id: 'thermal:smelting/glowstone_dust_from_spores_smelting' })
	event.remove({ id: 'enderio:smelting/thermal/smelting/glowstone_dust_from_spores_smelting' })
	event.remove({ id: 'thermal:furnace_8463023' })
	event.recipes.farmersdelight.cutting(
		"thermal:glowstone_mushroom_spores",
		"#forge:tools/knives",
		[Item.of("minecraft:glowstone_dust").withChance(0.75),],
	);
	event.remove({ id: 'thermal:smelting/gunpowder_from_spores_smelting' })
	event.remove({ id: 'enderio:smelting/thermal/smelting/gunpowder_from_spores_smelting' })
	event.remove({ id: 'thermal:furnace_1605004626' })
	event.recipes.farmersdelight.cutting(
		"thermal:gunpowder_mushroom_spores",
		"#forge:tools/knives",
		[Item.of("minecraft:gunpowder").withChance(0.25),],
	);
  	event.recipes.create.crushing(['2x minecraft:redstone','2x minecraft:glowstone_dust',Item.of('minecraft:redstone').withChance(0.5),Item.of('minecraft:glowstone_dust').withChance(0.5)], 'minecraft:redstone_lamp')
	event.recipes.thermal.pulverizer([Item.of('minecraft:redstone', 2).withChance(1.8),Item.of('minecraft:glowstone_dust', 2).withChance(1.8)],'minecraft:redstone_lamp')
	event.shaped('6x immersiveengineering:sawdust', [
		'sss',
		'sss'
	], { s: '#forge:dusts/wood' }) //recipe conflicted with sawdust block
	event.remove({ id: 'farmersdelight:cutting/gravel' })
	event.recipes.farmersdelight.cutting(
		"minecraft:gravel",
		"#minecraft:shovels",
		[Item.of("minecraft:flint").withChance(0.25)], //no more easy infinite gravel
	);
	event.recipes.farmersdelight.cutting(
		"neapolitan:banana_bundle",
		"#forge:tools/knives",
		["3x neapolitan:banana_bunch",Item.of("neapolitan:banana_bunch").withChance(0.25)], //so they dont need to be placed
	);
	event.recipes.farmersdelight.cutting(
		"neapolitan:banana_bunch",
		"#forge:tools/knives",
		["neapolitan:banana",Item.of("neapolitan:banana").withChance(0.5)], //can now be obtained
	);
	event.remove({ id: 'minecraft:bowl' })
	event.shaped('3x minecraft:bowl', [
		'w w',
		' w '
	], { w: '#forge:treated_wood' }) //by the time you need to summon a fish, you have treated wood
	event.remove({ id: 'farmersdelight:rope' })
	event.shaped('2x farmersdelight:rope', [
		's',
		's',
		's'
	], { s: 'farmersdelight:straw' })
	event.remove({ id: 'actuallyadditions:wood_casing' })
	event.shaped('actuallyadditions:wood_casing', [
		'TRT',
		'RLR',
		'TRT'
	], { T: '#storagedrawers:trim', R: '#forge:rods/wooden', L: '#minecraft:logs' })
	event.remove({ id: 'sawmill:sawmill' })
	event.shaped('sawmill:sawmill', [
		'TTT',
		'FXF',
		'SSS'
	], { T: 'immersiveengineering:stick_treated', S: '#forge:treated_wood_slab', F: 'immersiveengineering:treated_fence', X: 'immersiveengineering:sawblade' })
	event.remove({ id: 'thermal:device_fisher' })
	event.shaped('thermal:device_fisher', [
		'TVT',
		'NNN',
		'TST'
	], { T: '#forge:treated_wood', N: 'farmersdelight:safety_net', V: 'immersiveengineering:component_electronic', S: 'thermal:redstone_servo' })
	event.remove({ id: 'thermal:device_hive_extractor' })
	event.shaped('thermal:device_hive_extractor', [
		'TVT',
		'XCX',
		'TST'
	], { T: '#forge:treated_wood', X: 'minecraft:shears', C: 'minecraft:campfire', V: 'actuallyadditions:empowered_void_crystal', S: 'thermal:redstone_servo' })
	event.remove({ id: 'thermal:device_tree_extractor' }) //not needed
	event.remove({ id: 'supplementaries:cog_block' })
	event.shaped('6x supplementaries:cog_block', [
		'cwc',
		'crc',
		'cwc'
	], {
		c: '#forge:ingots/copper',
		w: 'create:cogwheel',
		r: 'minecraft:redstone_block'
	})
	event.shaped('refurbished_furniture:spatula', [
		'A  ',
		' B ',
		'  B'
	], {
		A: 'create:iron_sheet',
		B: '#forge:rods/wooden'
	})

	event.shaped('refurbished_furniture:knife', [
		'  A',
		' B ',
		'   '
	], {
		A: 'minecraft:iron_ingot',
		B: '#forge:rods/wooden'
	})
	
    event.shaped('minecraft:beehive', [
        'AAA',
        'BBB',
        'AAA'
    ], {
        A: '#minecraft:planks',
        B: 'supplementaries:timber_frame'
    })

	//Poolrooms
  	event.recipes.create.crushing(Item.of('thermal:quartz_dust').withChance(0.05), 'kubejs:pool_tile')
	event.recipes.thermal.pulverizer(Item.of('thermal:quartz_dust').withChance(0.1), 'kubejs:pool_tile')
	//event.recipes.mekanism.crushing(Item.of('thermal:quartz_dust').withChance(0.2), 'kubejs:pool_tile') //chance not supported: Mekanism Issue #813
	event.smelting('minecraft:gold_nugget', 'kubejs:pool_tile_golden')

	//sophisticatedbackpacks
	event.remove({ id: 'sophisticatedbackpacks:backpack' })
	event.shaped('sophisticatedbackpacks:backpack', [
		'scs',
		'ltl',
		'lll'
	], { l: '#forge:leather', s: '#forge:string', c: 'immersiveengineering:crate', t: 'thermal:satchel' })

	let backpackupgrade = (output, material, previous) => {
		event.custom({"type": "sophisticatedbackpacks:backpack_upgrade",
  		"key": {"b": {"item": previous},
    			"m": {"item": material},
    			"c": {"item": 'immersiveengineering:crate'}
  		},
  		"pattern": [
    	"mcm",
    	"mbm",
    	"mmm"
  		],
		"result": {"item": output}
		})
	}

	event.remove({ id: 'sophisticatedbackpacks:copper_backpack' })
	backpackupgrade('sophisticatedbackpacks:copper_backpack', 'minecraft:copper_ingot', 'sophisticatedbackpacks:backpack')
	event.remove({ id: 'sophisticatedbackpacks:iron_backpack' })
	event.remove({ id: 'sophisticatedbackpacks:iron_backpack_from_copper' }) //fixed progression skip
	backpackupgrade('sophisticatedbackpacks:iron_backpack', 'minecraft:iron_ingot', 'sophisticatedbackpacks:copper_backpack')
	event.remove({ id: 'sophisticatedbackpacks:gold_backpack' })
	backpackupgrade('sophisticatedbackpacks:gold_backpack', 'minecraft:gold_ingot', 'sophisticatedbackpacks:iron_backpack')
	event.remove({ id: 'sophisticatedbackpacks:diamond_backpack' })
	backpackupgrade('sophisticatedbackpacks:diamond_backpack', 'minecraft:diamond', 'sophisticatedbackpacks:gold_backpack')

	//StorageDrawers Integration
	event.remove({ id: 'storagedrawers:void_upgrade' })
	event.shapeless('storagedrawers:void_upgrade', ['storagedrawers:upgrade_template', 'minecraft:echo_shard'])

	let storageupgrade = (output, material, previous) => {
		event.shaped(output, [
			'SSS',
			'uXu',
			'SSS'
		], { S: '#forge:treated_wood_slab', X: previous, u: material })
	}

	event.remove({ id: 'storagedrawers:obsidian_storage_upgrade' })
	storageupgrade('storagedrawers:obsidian_storage_upgrade', 'minecraft:flint', 'storagedrawers:upgrade_template')
	event.remove({ id: 'storagedrawers:copper_storage_upgrade' })
	storageupgrade('storagedrawers:copper_storage_upgrade', '#forge:ingots/copper', 'storagedrawers:obsidian_storage_upgrade')
	event.remove({ id: 'storagedrawers:iron_storage_upgrade' })
	storageupgrade('storagedrawers:iron_storage_upgrade', '#forge:ingots/iron', 'storagedrawers:copper_storage_upgrade')
	event.remove({ id: 'storagedrawers:gold_storage_upgrade' })
	storageupgrade('storagedrawers:gold_storage_upgrade', '#forge:ingots/gold', 'storagedrawers:iron_storage_upgrade')
	event.remove({ id: 'storagedrawers:diamond_storage_upgrade' })
	storageupgrade('storagedrawers:diamond_storage_upgrade', '#forge:gems/diamond', 'storagedrawers:gold_storage_upgrade')
	event.remove({ id: 'storagedrawers:emerald_storage_upgrade' })
	storageupgrade('storagedrawers:emerald_storage_upgrade', '#forge:gems/emerald', 'storagedrawers:diamond_storage_upgrade')
	event.remove({ id: 'storagedrawers:netherite_storage_upgrade' })
	storageupgrade('storagedrawers:netherite_storage_upgrade', '#forge:ingots/netherite', 'storagedrawers:emerald_storage_upgrade')

	//For rod of the Moten Core
	event.smelting("kubejs:carpet","kubejs:soggy_carpet",0.0,8000);
	event.smelting("kubejs:carpeted_drain_dry","kubejs:carpeted_drain_soggy",0.0,8000);
	event.smelting("kubejs:pool_tiles","kubejs:pool_tiles_wet",0.0,8000);
	event.smelting("kubejs:missing_tiles_half","kubejs:missing_tiles_half_wet",0.0,8000);
})