ServerEvents.recipes(event => {
	//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: 'actuallyadditions:feeder' })
	event.remove({ output: 'actuallyadditions:farmer' }) //could replace soggy carpet
	event.remove({ output: 'actuallyadditions:placer' }) //causes crash
	event.remove({ output: 'actuallyadditions:breaker' }) //could break unbreakable blocks
	event.remove({ output: 'actuallyadditions:long_range_breaker' }) //could break unbreakable blocks
	event.remove({ output: 'actuallyadditions:vertical_digger' }) //could break unbreakable blocks
	event.remove({ output: 'thermal:area_radius_augment' }) //could break unbreakable blocks
	event.remove({ output: 'botania:lens_mine' }) //could break unbreakable blocks
	event.remove({ output: 'actuallyadditions:crafter_on_a_stick' }) //portable crafting
	event.remove({ output: 'create:crafting_blueprint' }) //instant crafting
	event.remove({ output: 'mekanism:formulaic_assemblicator' }) //instant crafting
	event.remove({ output: 'sophisticatedbackpacks:crafting_upgrade' })
	event.remove({ output: 'sophisticatedbackpacks:anvil_upgrade' })
	event.remove({ output: 'sophisticatedbackpacks:smithing_upgrade' })
	event.remove({ output: 'sophisticatedbackpacks:stonecutter_upgrade' })
	event.remove({ output: 'sophisticatedbackpacks:auto_smelting_upgrade' })
	event.remove({ output: 'sophisticatedbackpacks:blasting_upgrade' })
	event.remove({ output: 'sophisticatedbackpacks:auto_blasting_upgrade' })
	event.remove({ output: 'sophisticatedbackpacks:smoking_upgrade' })
	event.remove({ output: 'sophisticatedbackpacks:auto_smoking_upgrade' })
	event.remove({ output: 'sophisticatedbackpacks:compacting_upgrade' })
	event.remove({ output: 'sophisticatedbackpacks:advanced_compacting_upgrade' }) //instant crafting
	event.remove({ output: 'thermal:wrench' }) //allowed wall breaking exploit per issue #183
	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: 'mekanism:paper' })
	event.remove({ id: 'actuallyadditions:rice_paper' })
	event.remove({ id: 'enderio:stick' })
	event.remove({ output: 'supplementaries:slidy_block' })
	event.remove({ output: 'create:wrench' }) //due to open block rotation wall breaking exploit
	event.remove({ output: 'tconstruct:glow_ball' })
	event.remove({ output: 'actuallyadditions:wings_of_the_bats' })
	event.remove({ output: 'botania:star_sword' })
	event.remove({ output: 'botania:cocoon' }) //allowed summoning of villagers per issue #127
	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' })

	//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({ 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')


	//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: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.remove({ id: 'dustrial_decor:rusty_sheet_metal' })
	event.recipes.create.splashing([Item.of('dustrial_decor:rusty_sheet_metal')], 'dustrial_decor:sheet_metal')
	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: '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.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'
	})

	//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.shaped(output, [
			'mcm',
			'mbm',
			'mmm'
		], { m: material, b: previous, c: 'immersiveengineering:crate' })
	}

	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:ender_eye'])

	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')
})