import crafttweaker.api.events.CTEventManager;
import mods.gamestages.events.GameStageAdded;
import mods.dimstages.DimensionStages;
import mods.itemstages.ItemStages;

//removed recipes ('temp'): craftingTable.remove();
//DimensionStages.stageDimensionWithMessage(dimensionId, message, stages);
//mods.recipestages.Recipes.setContainerStages(String containerPath, String... stages);
//mods.recipestages.Recipes.addShaped(String stage, String recipeName, IItemStack output, IIngredient[][] ingredients, @Optional RecipeFunctionMatrix recipeFunction);
//ItemStages.restrict(<item:minecraft:stick>, "ex_one");



//Civ



//Minecolonies as MC

mods.recipestages.Recipes.setRecipeStageByMod("MC_BTool", "minecolonies");
ItemStages.createModRestriction("minecolonies", "MC_BTool");

//craftingTable.removeByName("structurize:sceptergold");
ItemStages.restrict(<item:structurize:sceptergold>, "mcbtool");
mods.recipestages.Recipes.addShaped("mcbtool", "mc-s-bt", <item:structurize:sceptergold>, [
	[<item:minecraft:air>, <item:minecraft:air>, <item:minecraft:gold_block>], 
	[<item:minecraft:air>, <item:minecraft:stick>, <item:minecraft:air>], 
	[<item:minecraft:stick>, <item:minecraft:air>, <item:minecraft:air>]
]);

ItemStages.restrict(<item:minecolonies:blockhuttownhall>, "MC_BTool");
ItemStages.restrict(<item:minecolonies:supplychestdeployer>, "MC_BTool");
ItemStages.restrict(<item:minecolonies:supplycampdeployer>, "MC_BTool");



//craftingTable.removeByName("minecolonies:supplychestdeployer");
mods.recipestages.Recipes.addShaped("MC_SSD", "mc-ssd", <item:minecolonies:supplychestdeployer>, [ 
	[<tag:items:minecraft:boats>, <item:minecraft:air>, <tag:items:minecraft:boats>], 
	[<tag:items:minecraft:boats>, <tag:items:minecraft:boats>, <tag:items:minecraft:boats>]
]);

//craftingTable.removeByName("minecolonies:supplycampdeployer");
mods.recipestages.Recipes.addShaped("MC_SCD", "mc-scd", <item:minecolonies:supplycampdeployer>, [ 
	[<tag:items:forge:chests>, <item:minecraft:air>, <tag:items:forge:chests>], 
	[<tag:items:forge:chests>, <tag:items:forge:chests>, <tag:items:forge:chests>]
]);

//craftingTable.removeByName("minecolonies:blockhutbuilder");
ItemStages.restrict(<item:minecolonies:blockhutbuilder>, "MC_BH");
mods.recipestages.Recipes.addShaped("MC_BH", "mc-bhbh", <item:minecolonies:blockhutbuilder>, [
	[<tag:items:minecraft:planks>, <item:structurize:sceptergold>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <tag:items:minecraft:wooden_doors>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <tag:items:minecraft:planks>, <tag:items:minecraft:planks>]
]);

//craftingTable.removeByName("minecolonies:blockhutcook");
ItemStages.restrict(<item:minecolonies:blockhutcook>, "MC_R");
mods.recipestages.Recipes.addShaped("MC_R", "mc-bhr", <item:minecolonies:blockhutcook>, [
	[<tag:items:minecraft:planks>, <item:structurize:sceptergold>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <item:minecraft:apple>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <tag:items:minecraft:planks>, <tag:items:minecraft:planks>]
]);

//craftingTable.removeByName("minecolonies:blockhuthospital");
ItemStages.restrict(<item:minecolonies:blockhuthospital>, "MC_H");
mods.recipestages.Recipes.addShaped("MC_H", "mc-bhh", <item:minecolonies:blockhuthospital>, [
	[<tag:items:minecraft:planks>, <item:structurize:sceptergold>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <item:minecraft:carrot>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <tag:items:minecraft:planks>, <tag:items:minecraft:planks>]
]);

//craftingTable.removeByName("minecolonies:blockhutenchanter");
ItemStages.restrict(<item:minecolonies:blockhutenchanter>, "MC_ET");
mods.recipestages.Recipes.addShaped("MC_ET", "mc-bhet", <item:minecolonies:blockhutenchanter>, [
	[<tag:items:minecraft:planks>, <item:structurize:sceptergold>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <item:minecraft:enchanting_table>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <tag:items:minecraft:planks>, <tag:items:minecraft:planks>]
]);

//craftingTable.removeByName("minecolonies:blockhutnetherworker");
ItemStages.restrict(<item:minecolonies:blockhutnetherworker>, "MC_NM");
mods.recipestages.Recipes.addShaped("MC_NM", "mc-bhnw", <item:minecolonies:blockhutnetherworker>, [
	[<tag:items:minecraft:planks>, <item:structurize:sceptergold>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <item:minecraft:obsidian>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <tag:items:minecraft:planks>, <tag:items:minecraft:planks>]
]);

//craftingTable.removeByName("minecolonies:blockhutminer");
//craftingTable.removeByName("minecolonies:blockhutminerstone");
ItemStages.restrict(<item:minecolonies:blockhutminer>, "MC_M");
mods.recipestages.Recipes.addShaped("MC_M", "mc-bhm", <item:minecolonies:blockhutminer>, [
	[<tag:items:minecraft:planks>, <item:structurize:sceptergold>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <tag:items:forge:tools/pickaxes>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <tag:items:minecraft:planks>, <tag:items:minecraft:planks>]
]);

//craftingTable.removeByName("minecolonies:mediumquarry");
ItemStages.restrict(<item:minecolonies:mediumquarry>, "MC_Q");
mods.recipestages.Recipes.addShaped("MC_Q", "mc-mq", <item:minecolonies:mediumquarry>, [
	[<tag:items:minecraft:planks>, <item:structurize:sceptergold>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <item:minecraft:diamond_pickaxe>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <item:minecraft:barrel>, <tag:items:minecraft:planks>]
]);

//craftingTable.removeByName("minecolonies:blockhutsmeltery");
ItemStages.restrict(<item:minecolonies:blockhutsmeltery>, "MC_Smeltery");
mods.recipestages.Recipes.addShaped("MC_Smeltery", "mc-bhsmelt", <item:minecolonies:blockhutsmeltery>, [
	[<tag:items:minecraft:planks>, <item:structurize:sceptergold>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <item:minecraft:iron_ingot>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <tag:items:minecraft:planks>, <tag:items:minecraft:planks>]
]);

//craftingTable.removeByName("minecolonies:blockhutstonesmeltery");
ItemStages.restrict(<item:minecolonies:blockhutstonesmeltery>, "MC_Smeltery");
mods.recipestages.Recipes.addShaped("MC_Smeltery", "mc-bhstonesmelt", <item:minecolonies:blockhutstonesmeltery>, [
	[<tag:items:minecraft:planks>, <item:structurize:sceptergold>, <tag:items:minecraft:planks>], 
	[<item:minecraft:stone_bricks>, <item:minecraft:furnace>, <item:minecraft:stone_bricks>], 
	[<tag:items:minecraft:planks>, <tag:items:minecraft:planks>, <tag:items:minecraft:planks>]
]);

//craftingTable.removeByName("minecolonies:blockhutblacksmith");
ItemStages.restrict(<item:minecolonies:blockhutblacksmith>, "MC_BS");
mods.recipestages.Recipes.addShaped("MC_BS", "mc-bhbs", <item:minecolonies:blockhutblacksmith>, [
	[<tag:items:minecraft:planks>, <item:structurize:sceptergold>, <tag:items:minecraft:planks>], 
	[<item:minecraft:iron_ingot>, <item:minecraft:iron_ingot>, <item:minecraft:iron_ingot>], 
	[<tag:items:minecraft:planks>, <tag:items:minecraft:planks>, <tag:items:minecraft:planks>]
]);

//craftingTable.removeByName("minecolonies:blockhutdeliveryman");
//craftingTable.removeByName("minecolonies:blockhutdeliverymaniron");
ItemStages.restrict(<item:minecolonies:blockhutdeliveryman>, "MC_C_W");
mods.recipestages.Recipes.addShaped("MC_C_W", "mc-bhdm", <item:minecolonies:blockhutdeliveryman>, [
	[<tag:items:minecraft:planks>, <item:structurize:sceptergold>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <tag:items:forge:armors/boots>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <tag:items:minecraft:planks>, <tag:items:minecraft:planks>]
]);

//craftingTable.removeByName("minecolonies:blockhutwarehouse");
ItemStages.restrict(<item:minecolonies:blockhutwarehouse>, "MC_C_W");
mods.recipestages.Recipes.addShaped("MC_C_W", "mc-bhwh", <item:minecolonies:blockhutwarehouse>, [
	[<tag:items:minecraft:planks>, <item:structurize:sceptergold>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <tag:items:forge:chests>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <tag:items:minecraft:planks>, <tag:items:minecraft:planks>]
]);

//craftingTable.removeByName("minecolonies:blockhutuniversity");
ItemStages.restrict(<item:minecolonies:blockhutuniversity>, "MC_U");
mods.recipestages.Recipes.addShaped("MC_U", "mc-bhu", <item:minecolonies:blockhutuniversity>, [
	[<tag:items:minecraft:planks>, <item:structurize:sceptergold>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <item:minecraft:book>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <item:minecraft:book>, <tag:items:minecraft:planks>]
]);

//craftingTable.removeByName("minecolonies:blockhutschool");
ItemStages.restrict(<item:minecolonies:blockhutschool>, "MC_S");
mods.recipestages.Recipes.addShaped("MC_S", "mc-bhs", <item:minecolonies:blockhutschool>, [
	[<tag:items:minecraft:planks>, <item:structurize:sceptergold>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <item:minecraft:feather>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <item:minecraft:feather>, <tag:items:minecraft:planks>]
]);

//craftingTable.removeByName("minecolonies:blockhutcowboy");
ItemStages.restrict(<item:minecolonies:blockhutcowboy>, "MC_CHH");
mods.recipestages.Recipes.addShaped("MC_CHH", "mc-bhcb", <item:minecolonies:blockhutcowboy>, [
	[<tag:items:minecraft:planks>, <item:structurize:sceptergold>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <item:minecraft:beef>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <tag:items:minecraft:planks>, <tag:items:minecraft:planks>]
]);

//craftingTable.removeByName("minecolonies:blockhutshepherd");
ItemStages.restrict(<item:minecolonies:blockhutshepherd>, "MC_SHH");
mods.recipestages.Recipes.addShaped("MC_SHH", "mc-bhsh", <item:minecolonies:blockhutshepherd>, [
	[<tag:items:minecraft:planks>, <item:structurize:sceptergold>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <item:minecraft:shears>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <tag:items:minecraft:planks>, <tag:items:minecraft:planks>]
]);

//craftingTable.removeByName("minecolonies:blockhutswineherder");
ItemStages.restrict(<item:minecolonies:blockhutswineherder>, "MC_SWHH");
mods.recipestages.Recipes.addShaped("MC_SWHH", "mc-bhswh", <item:minecolonies:blockhutswineherder>, [
	[<tag:items:minecraft:planks>, <item:structurize:sceptergold>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <item:minecraft:porkchop>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <tag:items:minecraft:planks>, <tag:items:minecraft:planks>]
]);

//craftingTable.removeByName("minecolonies:blockhutchickenherder");
ItemStages.restrict(<item:minecolonies:blockhutchickenherder>, "MC_CFH");
mods.recipestages.Recipes.addShaped("MC_CFH", "mc-bhch", <item:minecolonies:blockhutchickenherder>, [
	[<tag:items:minecraft:planks>, <item:structurize:sceptergold>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <item:minecraft:egg>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <tag:items:minecraft:planks>, <tag:items:minecraft:planks>]
]);

//craftingTable.removeByName("minecolonies:blockhutbeekeeper");
ItemStages.restrict(<item:minecolonies:blockhutbeekeeper>, "MC_A");
mods.recipestages.Recipes.addShaped("MC_A", "mc-bhbk", <item:minecolonies:blockhutbeekeeper>, [
	[<tag:items:minecraft:planks>, <item:structurize:sceptergold>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <item:minecraft:beehive>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <tag:items:minecraft:planks>, <tag:items:minecraft:planks>]
]);

//craftingTable.removeByName("minecolonies:blockhutfisherman");
ItemStages.restrict(<item:minecolonies:blockhutfisherman>, "MC_FH");
mods.recipestages.Recipes.addShaped("MC_FH", "mc-bhfm", <item:minecolonies:blockhutfisherman>, [
	[<tag:items:minecraft:planks>, <item:structurize:sceptergold>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <item:minecraft:fishing_rod>, <tag:items:minecraft:planks>], 
	[<tag:items:minecraft:planks>, <tag:items:minecraft:planks>, <tag:items:minecraft:planks>]
]);



//Simple Storage Network as SS

mods.recipestages.Recipes.setRecipeStageByMod("SS", "storagenetwork");
ItemStages.createModRestriction("storagenetwork", "SS");

/*craftingTable.removeByName("storagenetwork:master");
ItemStages.restrict(<item:storagenetwork:master>, "SS");
mods.recipestages.Recipes.addShaped("SS", "ss-m", <item:storagenetwork:master>, [
	[<item:minecraft:quartz>, <item:storagenetwork:kabel>, <item:minecraft:quartz>], 
	[<item:storagenetwork:kabel>, <item:minecraft:diamond>, <item:storagenetwork:kabel>], 
	[<item:minecraft:quartz>, <item:storagenetwork:kabel>, <item:minecraft:quartz>]
]);

craftingTable.removeByName("storagenetwork:inventory");
ItemStages.restrict(<item:storagenetwork:inventory>, "SS");
mods.recipestages.Recipes.addShaped("SS", "ss-i", <item:storagenetwork:inventory>, [
	[<item:minecraft:iron_nugget>, <item:storagenetwork:kabel>, <item:minecraft:iron_nugget>], 
	[<item:storagenetwork:kabel>, <item:minecraft:dropper>, <item:storagenetwork:kabel>], 
	[<item:minecraft:iron_nugget>, <item:storagenetwork:kabel>, <item:minecraft:iron_nugget>]
]);

craftingTable.removeByName("storagenetwork:request");
ItemStages.restrict(<item:storagenetwork:request>, "SS");
mods.recipestages.Recipes.addShaped("SS", "ss-r", <item:storagenetwork:request>, [
	[<item:minecraft:crafting_table>, <item:minecraft:gold_ingot>, <item:minecraft:crafting_table>], 
	[<item:minecraft:gold_ingot>, <item:storagenetwork:inventory>, <item:minecraft:gold_ingot>], 
	[<item:minecraft:crafting_table>, <item:minecraft:gold_ingot>, <item:minecraft:crafting_table>]
]);

craftingTable.removeByName("storagenetwork:inventory_remote");
ItemStages.restrict(<item:storagenetwork:inventory_remote>, "SS");
mods.recipestages.Recipes.addShaped("SS", "ss-ir", <item:storagenetwork:inventory_remote>, [
	[<tag:items:forge:slimeballs>, <item:minecraft:glowstone_dust>, <tag:items:forge:slimeballs>], 
	[<item:minecraft:gold_ingot>, <item:minecraft:diamond>, <item:minecraft:gold_ingot>], 
	[<tag:items:forge:slimeballs>, <item:minecraft:air>, <tag:items:forge:slimeballs>]
]);

craftingTable.removeByName("storagenetwork:crafting_remote");
ItemStages.restrict(<item:storagenetwork:crafting_remote>, "SS");
mods.recipestages.Recipes.addShaped("SS", "ss-cr", <item:storagenetwork:crafting_remote>, [
	[<item:minecraft:sea_lantern>, <item:minecraft:ender_chest>, <item:minecraft:sea_lantern>], 
	[<item:minecraft:gold_block>, <item:storagenetwork:master>, <item:minecraft:gold_block>], 
	[<item:minecraft:sea_lantern>, <item:minecraft:air>, <item:minecraft:sea_lantern>]
]);

craftingTable.removeByName("storagenetwork:builder_remote");
ItemStages.restrict(<item:storagenetwork:builder_remote>, "SS");
mods.recipestages.Recipes.addShaped("SS", "ss-br", <item:storagenetwork:builder_remote>, [
	[<item:minecraft:air>, <item:storagenetwork:request>, <item:minecraft:air>], 
	[<item:storagenetwork:request>, <item:storagenetwork:inventory_remote>, <item:storagenetwork:request>], 
	[<item:minecraft:air>, <item:storagenetwork:request>, <item:minecraft:air>]
]);

craftingTable.removeByName("storagenetwork:picker_remote");
ItemStages.restrict(<item:storagenetwork:picker_remote>, "SS");
mods.recipestages.Recipes.addShaped("SS", "ss-pr", <item:storagenetwork:picker_remote>, [
	[<item:minecraft:air>, <item:storagenetwork:kabel>, <item:minecraft:air>], 
	[<item:storagenetwork:kabel>, <item:storagenetwork:inventory_remote>, <item:storagenetwork:kabel>], 
	[<item:minecraft:air>, <item:storagenetwork:kabel>, <item:minecraft:air>]
]);

craftingTable.removeByName("storagenetwork:collector_remote");
ItemStages.restrict(<item:storagenetwork:collector_remote>, "SS");
mods.recipestages.Recipes.addShaped("SS", "ss-collectr", <item:storagenetwork:collector_remote>, [
	[<item:minecraft:air>, <item:storagenetwork:import_kabel>, <item:minecraft:air>], 
	[<item:storagenetwork:import_kabel>, <item:storagenetwork:inventory_remote>, <item:storagenetwork:import_kabel>], 
	[<item:minecraft:air>, <item:storagenetwork:import_kabel>, <item:minecraft:air>]
]);

craftingTable.removeByName("storagenetwork:kabel");
ItemStages.restrict(<item:storagenetwork:kabel>, "SS");
mods.recipestages.Recipes.addShaped("SS", "ss-ke", <item:storagenetwork:kabel>, [
	[<item:minecraft:stone_slab>, <item:minecraft:stone_slab>, <item:minecraft:stone_slab>], 
	[<item:minecraft:iron_ingot>, <item:minecraft:air>, <item:minecraft:iron_ingot>], 
	[<item:minecraft:stone_slab>, <item:minecraft:stone_slab>, <item:minecraft:stone_slab>]
]);

craftingTable.removeByName("storagenetwork:storage_kabel");
ItemStages.restrict(<item:storagenetwork:storage_kabel>, "SS");
mods.recipestages.Recipes.addShaped("SS", "ss-sk", <item:storagenetwork:storage_kabel>, [
	[<item:minecraft:air>, <item:storagenetwork:kabel>, <item:minecraft:air>], 
	[<item:storagenetwork:kabel>, <tag:items:forge:chests/wooden>, <item:storagenetwork:kabel>], 
	[<item:minecraft:air>, <item:storagenetwork:kabel>, <item:minecraft:air>]
]);

craftingTable.removeByName("storagenetwork:import_kabel");
ItemStages.restrict(<item:storagenetwork:import_kabel>, "SS");
mods.recipestages.Recipes.addShaped("SS", "ss-ik", <item:storagenetwork:import_kabel>, [
	[<item:minecraft:air>, <item:storagenetwork:kabel>, <item:minecraft:air>], 
	[<item:storagenetwork:kabel>, <item:minecraft:hopper>, <item:storagenetwork:kabel>], 
	[<item:minecraft:air>, <item:storagenetwork:kabel>, <item:minecraft:air>]
]);

craftingTable.removeByName("storagenetwork:filter_kabel");
ItemStages.restrict(<item:storagenetwork:filter_kabel>, "SS");
mods.recipestages.Recipes.addShaped("SS", "ss-fk", <item:storagenetwork:filter_kabel>, [
	[<item:minecraft:air>, <item:storagenetwork:kabel>, <item:minecraft:air>], 
	[<item:storagenetwork:kabel>, <item:minecraft:observer>, <item:storagenetwork:kabel>], 
	[<item:minecraft:air>, <item:storagenetwork:kabel>, <item:minecraft:air>]
]);

craftingTable.removeByName("storagenetwork:export_kabel");
ItemStages.restrict(<item:storagenetwork:export_kabel>, "SS");
mods.recipestages.Recipes.addShaped("SS", "ss-ek", <item:storagenetwork:export_kabel>, [
	[<item:minecraft:air>, <item:storagenetwork:kabel>, <item:minecraft:air>], 
	[<item:storagenetwork:kabel>, <item:minecraft:piston>, <item:storagenetwork:kabel>], 
	[<item:minecraft:air>, <item:storagenetwork:kabel>, <item:minecraft:air>]
]);

craftingTable.removeByName("storagenetwork:import_filter_kabel");
ItemStages.restrict(<item:storagenetwork:import_filter_kabel>, "SS");
mods.recipestages.Recipes.addShaped("SS", "ss-ifk", <item:storagenetwork:import_filter_kabel>, [
	[<item:minecraft:air>, <item:storagenetwork:filter_kabel>, <item:minecraft:air>], 
	[<item:storagenetwork:filter_kabel>, <item:minecraft:barrel>, <item:storagenetwork:filter_kabel>], 
	[<item:minecraft:air>, <item:storagenetwork:filter_kabel>, <item:minecraft:air>]
]);*/

//Expanded Storage as ES

//Dank Storage as DS

//Ender Storage as EChest

//Storage Drawers as SD

//Colossal Chest as CC

//Iron Chests as IC



//Magic



//Ars Nuveau as ArsN

mods.recipestages.Recipes.setRecipeStageByMod("ArsN", "ars_nouveau");
ItemStages.createModRestriction("ars_nouveau", "ArsN");

/*mods.ItemStages.removeItemStage(<item:ars_nouveau:novice_spell_book>);
mods.ItemStages.removeItemStage(<item:ars_nouveau:apprentice_spell_book>);
mods.ItemStages.removeItemStage(<item:ars_nouveau:archmage_spell_book>);
mods.ItemStages.removeItemStage(<item:ars_nouveau:creative_spell_book>);*/


ItemStages.restrict(<item:ars_nouveau:novice_spell_book>, "ArsN_NSB");
mods.recipestages.Recipes.setRecipeStage("ArsN_NSB", <item:ars_nouveau:novice_spell_book>);
ItemStages.restrict(<item:ars_nouveau:apprentice_spell_book>, "ArsN_ASB");
mods.recipestages.Recipes.setRecipeStage("ArsN_ASB", <item:ars_nouveau:apprentice_spell_book>);
ItemStages.restrict(<item:ars_nouveau:archmage_spell_book>, "ArsN_AMSB");
mods.recipestages.Recipes.setRecipeStage("ArsN_AMSB", <item:ars_nouveau:archmage_spell_book>);
ItemStages.restrict(<item:ars_nouveau:creative_spell_book>, "ArsN_CSB");
mods.recipestages.Recipes.setRecipeStage("ArsN_CSB", <item:ars_nouveau:creative_spell_book>);

//Occultism as Occ

mods.recipestages.Recipes.setRecipeStageByMod("Occ", "occultism");
ItemStages.createModRestriction("occultism", "Occ");

//Vampirism as V

mods.recipestages.Recipes.setRecipeStageByMod("V", "vampirism");
ItemStages.createModRestriction("vampirism", "V");

//Forbidden and Arcanus as FaA

mods.recipestages.Recipes.setRecipeStageByMod("FaA", "forbidden_arcanus");
ItemStages.createModRestriction("forbidden_arcanus", "FaA");

//Hexerei as Hex

mods.recipestages.Recipes.setRecipeStageByMod("Hex", "hexerei");
ItemStages.createModRestriction("hexerei", "Hex");

//Botania as B

mods.recipestages.Recipes.setRecipeStageByMod("B", "botania");
ItemStages.createModRestriction("botania", "B");
mods.recipestages.Recipes.setRecipeStageByMod("B", "mythicbotany");
ItemStages.createModRestriction("mythicbotany", "B");

//Mystical Agriculture as MA, Mystical Agradditions as MAD

mods.recipestages.Recipes.setRecipeStageByMod("MA", "mystical_agriculture");
ItemStages.createModRestriction("mystical_agriculture", "MA");
mods.recipestages.Recipes.setRecipeStageByMod("MA", "mystical_agradditions");
ItemStages.createModRestriction("mystical_agradditions", "MA");
mods.recipestages.Recipes.setRecipeStageByMod("MA", "mystical_adaptations");
ItemStages.createModRestriction("mystical_adaptations", "MA");

ItemStages.restrict(<item:mysticalagriculture:basic_reprocessor>, "Creative");
ItemStages.restrict(<item:mysticalagriculture:inferium_reprocessor>, "Creative");
ItemStages.restrict(<item:mysticalagriculture:prudentium_reprocessor>, "Creative");
ItemStages.restrict(<item:mysticalagriculture:tertium_reprocessor>, "Creative");
ItemStages.restrict(<item:mysticalagriculture:imperium_reprocessor>, "Creative");
ItemStages.restrict(<item:mysticalagriculture:supremium_reprocessor>, "Creative");
ItemStages.restrict(<item:mysticalagriculture:awakened_supremium_reprocessor>, "Creative");
ItemStages.restrict(<item:mysticaladaptations:insanium_reprocessor>, "Creative");


ItemStages.restrict(<item:mysticalagriculture:awakening_altar>, "MA_ASE");
ItemStages.restrict(<item:mysticalagriculture:awakening_pedestal>, "MA_ASE");
ItemStages.restrict(<item:mysticalagriculture:essence_vessel>, "MA_ASE");
ItemStages.restrict(<item:mysticalagriculture:awakened_supremium_essence>, "MA_ASE");
ItemStages.restrict(<item:mysticalagriculture:awakened_supremium_block>, "MA_ASE");

craftingTable.removeByName("mysticalagriculture:inferium_seeds");
ItemStages.restrict(<item:mysticalagriculture:inferium_seeds>, "MA_IS");
mods.recipestages.Recipes.addShaped("MA_IS", "ma-is", <item:mysticalagriculture:inferium_seeds>, [
	[<item:mysticalagriculture:inferium_essence>, <item:mysticalagriculture:inferium_essence>, <item:mysticalagriculture:inferium_essence>], 
	[<item:mysticalagriculture:inferium_essence>, <item:minecraft:wheat_seeds>, <item:mysticalagriculture:inferium_essence>], 
	[<item:mysticalagriculture:inferium_essence>, <item:mysticalagriculture:inferium_essence>, <item:mysticalagriculture:inferium_essence>]
]);

craftingTable.removeByName("mysticalagriculture:infusion_altar");
ItemStages.restrict(<item:mysticalagriculture:infusion_altar>, "MA");
mods.recipestages.Recipes.addShaped("MA", "ma-ia", <item:mysticalagriculture:infusion_altar>, [
	[<item:minecraft:gold_ingot>, <item:minecraft:red_wool>, <item:minecraft:gold_ingot>], 
	[<item:minecraft:red_wool>, <item:minecraft:stone_bricks>, <item:minecraft:red_wool>], 
	[<item:minecraft:stone_bricks>, <item:minecraft:stone_bricks>, <item:minecraft:stone_bricks>]
]);

craftingTable.removeByName("mysticalagriculture:infusion_pedestal");
ItemStages.restrict(<item:mysticalagriculture:infusion_pedestal>, "MA");
mods.recipestages.Recipes.addShaped("MA", "ma-ip", <item:mysticalagriculture:infusion_pedestal>, [
	[<item:minecraft:gold_ingot>, <item:minecraft:red_wool>, <item:minecraft:gold_ingot>], 
	[<item:minecraft:air>, <item:minecraft:stone_bricks>, <item:minecraft:air>], 
	[<item:minecraft:air>, <item:minecraft:stone_bricks>, <item:minecraft:air>]
]);

ItemStages.restrict(<item:mysticalagriculture:inferium_essence>, "MA");

ItemStages.restrict(<item:mysticalagriculture:prosperity_shard>, "MA");

craftingTable.removeByName("mysticalagriculture:prosperity_seed_base");
ItemStages.restrict(<item:mysticalagriculture:prosperity_seed_base>, "MA_PSB");
mods.recipestages.Recipes.addShaped("MA_PSB", "ma-psb", <item:mysticalagriculture:prosperity_seed_base>, [
	[<item:minecraft:air>, <item:mysticalagriculture:prosperity_shard>, <item:minecraft:air>], 
	[<item:mysticalagriculture:prosperity_shard>, <item:minecraft:wheat_seeds>, <item:mysticalagriculture:prosperity_shard>], 
	[<item:minecraft:air>, <item:mysticalagriculture:prosperity_shard>, <item:minecraft:air>]
]);

ItemStages.restrict(<item:mysticalagriculture:wood_seeds>, "MA_PSB");
ItemStages.restrict(<item:mysticalagriculture:dirt_seeds>, "MA_PSB");
ItemStages.restrict(<item:mysticalagriculture:stone_seeds>, "MA_PSB");
ItemStages.restrict(<item:mysticalagriculture:deepslate_seeds>, "MA_PSB");
ItemStages.restrict(<item:mysticalagriculture:ice_seeds>, "MA_PSB");

craftingTable.removeByName("mysticalagriculture:prudentium_essence");
ItemStages.restrict(<item:mysticalagriculture:prudentium_essence>, "MA_PE");
mods.recipestages.Recipes.addShaped("MA_PE", "ma-pe", <item:mysticalagriculture:prudentium_essence>, [
	[<item:minecraft:air>, <item:mysticalagriculture:inferium_essence>, <item:minecraft:air>], 
	[<item:mysticalagriculture:inferium_essence>, <item:mysticalagriculture:infusion_crystal>.anyDamage().transformDamage(1), <item:mysticalagriculture:inferium_essence>], 
	[<item:minecraft:air>, <item:mysticalagriculture:inferium_essence>, <item:minecraft:air>]
]);

ItemStages.restrict(<item:mysticalagriculture:coal_seeds>, "MA_PE");
ItemStages.restrict(<item:mysticalagriculture:amethyst_seeds>, "MA_PE");
ItemStages.restrict(<item:mysticalagriculture:nature_seeds>, "MA_PE");
ItemStages.restrict(<item:mysticalagriculture:nether_seeds>, "MA_PE");
ItemStages.restrict(<item:mysticalagriculture:honey_seeds>, "MA_PE");
ItemStages.restrict(<item:mysticalagriculture:mystical_flower_seeds>, "MA_PE");
ItemStages.restrict(<item:mysticalagriculture:coral_seeds>, "MA_PE");
ItemStages.restrict(<item:mysticalagriculture:dye_seeds>, "MA_PE");
ItemStages.restrict(<item:mysticalagriculture:cow_seeds>, "MA_PE");
ItemStages.restrict(<item:mysticalagriculture:pig_seeds>, "MA_PE");
ItemStages.restrict(<item:mysticalagriculture:sheep_seeds>, "MA_PE");
ItemStages.restrict(<item:mysticalagriculture:chicken_seeds>, "MA_PE");
ItemStages.restrict(<item:mysticalagriculture:squid_seeds>, "MA_PE");
ItemStages.restrict(<item:mysticalagriculture:fish_seeds>, "MA_PE");
ItemStages.restrict(<item:mysticalagriculture:slime_seeds>, "MA_PE");
ItemStages.restrict(<item:mysticalagriculture:turtle_seeds>, "MA_PE");

craftingTable.removeByName("mysticalagriculture:tertium_essence");
ItemStages.restrict(<item:mysticalagriculture:tertium_essence>, "MA_TE");
mods.recipestages.Recipes.addShaped("MA_TE", "ma-te", <item:mysticalagriculture:tertium_essence>, [
	[<item:minecraft:air>, <item:mysticalagriculture:prudentium_essence>, <item:minecraft:air>], 
	[<item:mysticalagriculture:prudentium_essence>, <item:mysticalagriculture:infusion_crystal>.anyDamage().transformDamage(1), <item:mysticalagriculture:prudentium_essence>], 
	[<item:minecraft:air>, <item:mysticalagriculture:prudentium_essence>, <item:minecraft:air>]
]);

ItemStages.restrict(<item:mysticalagriculture:iron_seeds>, "MA_TE");
ItemStages.restrict(<item:mysticalagriculture:copper_seeds>, "MA_TE");
ItemStages.restrict(<item:mysticalagriculture:nether_quartz_seeds>, "MA_TE");
ItemStages.restrict(<item:mysticalagriculture:redstone_seeds>, "MA_TE");
ItemStages.restrict(<item:mysticalagriculture:glowstone_seeds>, "MA_TE");
ItemStages.restrict(<item:mysticalagriculture:obsidian_seeds>, "MA_TE");
ItemStages.restrict(<item:mysticalagriculture:prismarine_seeds>, "MA_TE");
ItemStages.restrict(<item:mysticalagriculture:manasteel_seeds>, "MA_TE");
ItemStages.restrict(<item:mysticalagriculture:steeleaf_seeds>, "MA_TE");
ItemStages.restrict(<item:mysticalagriculture:ironwood_seeds>, "MA_TE");
ItemStages.restrict(<item:mysticalagriculture:silver_seeds>, "MA_TE");
ItemStages.restrict(<item:mysticalagriculture:zombie_seeds>, "MA_TE");
ItemStages.restrict(<item:mysticalagriculture:skeleton_seeds>, "MA_TE");
ItemStages.restrict(<item:mysticalagriculture:creeper_seeds>, "MA_TE");
ItemStages.restrict(<item:mysticalagriculture:spider_seeds>, "MA_TE");
ItemStages.restrict(<item:mysticalagriculture:rabbit_seeds>, "MA_TE");

craftingTable.removeByName("mysticalagriculture:imperium_essence");
ItemStages.restrict(<item:mysticalagriculture:imperium_essence>, "MA_IE");
mods.recipestages.Recipes.addShaped("MA_IE", "ma-ie", <item:mysticalagriculture:imperium_essence>, [
	[<item:minecraft:air>, <item:mysticalagriculture:tertium_essence>, <item:minecraft:air>], 
	[<item:mysticalagriculture:tertium_essence>, <item:mysticalagriculture:infusion_crystal>.anyDamage().transformDamage(1), <item:mysticalagriculture:tertium_essence>], 
	[<item:minecraft:air>, <item:mysticalagriculture:tertium_essence>, <item:minecraft:air>]
]);

ItemStages.restrict(<item:mysticalagriculture:gold_seeds>, "MA_IE");
ItemStages.restrict(<item:mysticalagriculture:lapis_lazuli_seeds>, "MA_IE");
ItemStages.restrict(<item:mysticalagriculture:fiery_ingot_seeds>, "MA_IE");
ItemStages.restrict(<item:mysticalagriculture:elementium_seeds>, "MA_IE");
ItemStages.restrict(<item:mysticalagriculture:knightmetal_seeds>, "MA_IE");
ItemStages.restrict(<item:mysticalagriculture:end_seeds>, "MA_IE");
ItemStages.restrict(<item:mysticalagriculture:experience_seeds>, "MA_IE");
ItemStages.restrict(<item:mysticalagriculture:blaze_seeds>, "MA_IE");
ItemStages.restrict(<item:mysticalagriculture:ghast_seeds>, "MA_IE");
ItemStages.restrict(<item:mysticalagriculture:enderman_seeds>, "MA_IE");

craftingTable.removeByName("mysticalagriculture:supremium_essence");
ItemStages.restrict(<item:mysticalagriculture:supremium_essence>, "MA_SE");
mods.recipestages.Recipes.addShaped("MA_SE", "ma-se", <item:mysticalagriculture:supremium_essence>, [
	[<item:minecraft:air>, <item:mysticalagriculture:imperium_essence>, <item:minecraft:air>], 
	[<item:mysticalagriculture:imperium_essence>, <item:mysticalagriculture:infusion_crystal>.anyDamage().transformDamage(1), <item:mysticalagriculture:imperium_essence>], 
	[<item:minecraft:air>, <item:mysticalagriculture:imperium_essence>, <item:minecraft:air>]
]);

ItemStages.restrict(<item:mysticalagriculture:diamond_seeds>, "MA_SE");
ItemStages.restrict(<item:mysticalagriculture:emerald_seeds>, "MA_SE");
ItemStages.restrict(<item:mysticalagriculture:netherite_seeds>, "MA_SE");
ItemStages.restrict(<item:mysticalagriculture:terrasteel_seeds>, "MA_SE");
ItemStages.restrict(<item:mysticalagriculture:wither_skeleton_seeds>, "MA_SE");

craftingTable.removeByName("mysticalagradditions:insanium_essence");
ItemStages.restrict(<item:mysticalagradditions:insanium_essence>, "MAD_IE");
mods.recipestages.Recipes.addShaped("MAD_IE", "mad-ie", <item:mysticalagradditions:insanium_essence>, [
	[<item:minecraft:air>, <item:mysticalagriculture:awakened_supremium_essence>, <item:minecraft:air>], 
	[<item:mysticalagriculture:awakened_supremium_essence>, <item:mysticalagriculture:infusion_crystal>.anyDamage().transformDamage(1), <item:mysticalagriculture:awakened_supremium_essence>], 
	[<item:minecraft:air>, <item:mysticalagriculture:awakened_supremium_essence>, <item:minecraft:air>]
]);

ItemStages.restrict(<item:mysticalagriculture:dragon_egg_seeds>, "MAD_IE");
ItemStages.restrict(<item:mysticalagriculture:nether_star_seeds>, "MAD_IE");
ItemStages.restrict(<item:mysticalagriculture:gaia_spirit_seeds>, "MAD_IE");


ItemStages.restrict(<item:mysticalagradditions:creative_essence>, "MAD_CE");


//EvilCraft as EC

mods.recipestages.Recipes.setRecipeStageByMod("EC", "evilcraft");
ItemStages.createModRestriction("evilcraft", "EC");

ItemStages.restrict(<item:evilcraft:dark_gem>, "EC");
ItemStages.restrict(<item:evilcraft:blood_extractor>, "EC");
mods.recipestages.Recipes.setRecipeStage("EC", <item:evilcraft:blood_extractor>);
ItemStages.restrict(<item:evilcraft:sanguinary_pedestal_0>, "EC");
mods.recipestages.Recipes.setRecipeStage("EC", <item:evilcraft:sanguinary_pedestal_0>);
ItemStages.restrict(<item:evilcraft:dark_power_gem>, "EC");
ItemStages.restrict(<item:evilcraft:blood_infusion_core>, "EC");
mods.recipestages.Recipes.setRecipeStage("EC", <item:evilcraft:blood_infusion_core>);
ItemStages.restrict(<item:evilcraft:blood_infuser>, "EC");
mods.recipestages.Recipes.setRecipeStage("EC", <item:evilcraft:blood_infuser>);
ItemStages.restrict(<item:evilcraft:blood_chest>, "EC");
mods.recipestages.Recipes.setRecipeStage("EC", <item:evilcraft:blood_chest>);
ItemStages.restrict(<item:evilcraft:colossal_blood_chest>, "EC");
mods.recipestages.Recipes.setRecipeStage("EC", <item:evilcraft:colossal_blood_chest>);
ItemStages.restrict(<item:evilcraft:reinforced_undead_planks>, "EC");
ItemStages.restrict(<item:evilcraft:undead_sapling>, "EC");
ItemStages.restrict(<item:evilcraft:spiked_plate>, "EC");
mods.recipestages.Recipes.setRecipeStage("EC", <item:evilcraft:spiked_plate>);
ItemStages.restrict(<item:evilcraft:purifier>, "EC");
mods.recipestages.Recipes.setRecipeStage("EC", <item:evilcraft:purifier>);
ItemStages.restrict(<item:evilcraft:entangled_chalice>, "EC");
mods.recipestages.Recipes.setRecipeStage("EC", <item:evilcraft:entangled_chalice>);
ItemStages.restrict(<item:evilcraft:sanguinary_pedestal_1>, "EC");
mods.recipestages.Recipes.setRecipeStage("EC", <item:evilcraft:sanguinary_pedestal_1>);
ItemStages.restrict(<item:evilcraft:dark_tank>, "EC");
mods.recipestages.Recipes.setRecipeStage("EC", <item:evilcraft:dark_tank>);
ItemStages.restrict(<item:evilcraft:vengeance_ring>, "EC_SC");
mods.recipestages.Recipes.setRecipeStage("EC_SC", <item:evilcraft:vengeance_ring>);
ItemStages.restrict(<item:evilcraft:vengeance_focus>, "EC_SC");
mods.recipestages.Recipes.setRecipeStage("EC_SC", <item:evilcraft:vengeance_focus>);
ItemStages.restrict(<item:evilcraft:box_of_eternal_closure>, "EC_SC");
mods.recipestages.Recipes.setRecipeStage("EC_SC", <item:evilcraft:box_of_eternal_closure>);
ItemStages.restrict(<item:evilcraft:spirit_furnace>, "EC_SC");
mods.recipestages.Recipes.setRecipeStage("EC_SC", <item:evilcraft:spirit_furnace>);
ItemStages.restrict(<item:evilcraft:dark_blood_brick>, "EC_SC");
//ItemStages.restrict(<item:evilcraft:creative_blood_drop>, "EC_CBD");
//mods.recipestages.Recipes.setRecipeStage("EC_CBD", <item:evilcraft:creative_blood_drop>);

//Mahou Tsukai as MT

mods.recipestages.Recipes.setRecipeStageByMod("MT", "mahoutsukai");
ItemStages.createModRestriction("mahoutsukai", "MT");

//Dim



//DivineRPG as DRPG - Note: DimensionStages does not allow special characters nor caps


mods.recipestages.Recipes.setRecipeStageByMod("DRPG", "divinerpg");
ItemStages.createModRestriction("divinerpg", "DRPG");

DimensionStages.stageDimensionWithMessage("divinerpg:iceika", "You Haven't Unlocked This Dimension Yet!", "drpgi");
DimensionStages.stageDimensionWithMessage("divinerpg:arcana", "You Haven't Unlocked This Dimension Yet!", "drpga");
DimensionStages.stageDimensionWithMessage("divinerpg:eden", "You Haven't Unlocked This Dimension Yet!", "drpgte");
DimensionStages.stageDimensionWithMessage("divinerpg:wildwood", "You Haven't Unlocked This Dimension Yet!", "drpgtw");
DimensionStages.stageDimensionWithMessage("divinerpg:apalachia", "You Haven't Unlocked This Dimension Yet!", "drpgta");
DimensionStages.stageDimensionWithMessage("divinerpg:skythern", "You Haven't Unlocked This Dimension Yet!", "drpgts");
DimensionStages.stageDimensionWithMessage("divinerpg:mortum", "You Haven't Unlocked This Dimension Yet!", "drpgtm");
DimensionStages.stageDimensionWithMessage("divinerpg:vethea", "You Haven't Unlocked This Dimension Yet!", "drpgtn");

ItemStages.restrict(<item:divinerpg:twilight_clock>, "DRPG_TC");
mods.recipestages.Recipes.setRecipeStage("DRPG_TC", <item:divinerpg:twilight_clock>);
ItemStages.restrict(<item:divinerpg:nightmare_bed>, "DRPG_NB");
mods.recipestages.Recipes.setRecipeStage("DRPG_NB", <item:divinerpg:nightmare_bed>);

//The Abyss as A

mods.recipestages.Recipes.setRecipeStageByMod("A", "theabyss");
ItemStages.createModRestriction("theabyss", "A");
DimensionStages.stageDimensionWithMessage("theabyss:frost_world", "You Haven't Unlocked This Dimension Yet!", "afwd");
DimensionStages.stageDimensionWithMessage("theabyss:the_abyss", "You Haven't Unlocked This Dimension Yet!", "ad");

//Twilight Forest as TF

mods.recipestages.Recipes.setRecipeStageByMod("TF", "twilightforest");
ItemStages.createModRestriction("twilightforest", "TF");
DimensionStages.stageDimensionWithMessage("twilightforest:twilight_forest", "You Haven't Unlocked This Dimension Yet!", "tfd");

//Mythic Botany as MB

DimensionStages.stageDimensionWithMessage("mythicbotany:alfheim", "You Haven't Unlocked This Dimension Yet!", "mb");