import mods.thaumcraft.Research;
import mods.botania.RuneAltar;
import mods.avaritia.ExtremeCrafting;

val IchoriumIngot = <ThaumicTinkerer:kamiResource:2>;
val Chromastone = <ChromatiCraft:chromaticraft_item_crafting:21>;
val Angelsteel3 = <aura:ingotAngelSteel:2>;
val FairyIngot = <ExtraTiC:funStuffIngot>;
val PokefenniumIngot = <ExtraTiC:funStuffIngot:1>;
val VoidmetalIngot = <Thaumcraft:ItemResource:16>;
val FieryIngot = <TwilightForest:item.fieryIngot>;
val GaiaIngot = <Botania:manaResource:14>;
val KobolditeIngot = <witchery:ingredient:150>;
val AeonSteel = <customthings:item>;
val InfinityCatalyst = <Avaritia:Resource:5>;
val LumenCore = <ChromatiCraft:chromaticraft_item_crafting:32>;
val IronSingularity = <Avaritia:Singularity>;
val EnergizedEnergyCore = <ChromatiCraft:chromaticraft_item_crafting:25>;
val ElementalCore = <ChromatiCraft:chromaticraft_item_crafting:8>;
val EnergizedTransformationCore = <ChromatiCraft:chromaticraft_item_crafting:24>;
val EnergizedVoidCore = <ChromatiCraft:chromaticraft_item_crafting:23>;
val CrystalCluster = <AWWayofTime:blockCrystal>;
val ChaoticCore = <DraconicEvolution:chaoticCore>;
val RedMatter = <ProjectE:item.pe_matter:1>;
val CreationShard = <TaintedMagic:ItemMaterial:5>;
val AuraLocus = <ChromatiCraft:chromaticraft_item_placer:42>;
val SoulCrystal = <AWWayofTime:bloodMagicBaseItems:29>;
val LivingBrace = <AWWayofTime:bloodMagicBaseItems:31>;
val DragonStone = <Botania:manaResource:9>;
val DiamondLattice = <Avaritia:Resource>;
val NetherStar = <minecraft:nether_star>;
val CrystalMatrixIngot = <Avaritia:Resource:1>;
val InfinityIngot = <Avaritia:Resource:6>;
val LargeChaosFragment = <DraconicEvolution:chaosFragment:2>;
val NeutroniumNugget = <Avaritia:Resource:3>;
val TemporalIngot = <clockworkphase:ingotTemporal>;
val NeutronCollector = <Avaritia:Neutron_Collector>;
val BedrockiumBlock = <ExtraUtilities:block_bedrockium>;
val WardedGlass = <Thaumcraft:blockCosmeticOpaque:2>;
val AuraIngotBlack = <aura:ingotBlack>;
val ShadowMetal = <TaintedMagic:ItemMaterial>;
val ShadowMetalBlock = <TaintedMagic:BlockShadowmetal>;
val TinyChaos = <DraconicEvolution:chaosFragment>;

Research.addResearch("INFINITY", "TM", "perditio 10, ordo 10, permutatio 10, potentia 10, praecantio 10", 12, -10, 100, InfinityCatalyst);
Research.addPage("INFINITY", "INFINITY.research_page.1");
game.setLocalization("en_US", "INFINITY.research_page.1", "This is it. The final step. From creation to infinity. You can just feel the raw power contained in the infinity catalyst. Now to find something to use it for.");
game.setLocalization("en_US", "tc.research_name.INFINITY", "Infinity Catalyst");
game.setLocalization("en_US", "tc.research_text.INFINITY", "To infinity and beyond!");
Research.addPrereq("INFINITY","ICHOR");
Research.addPrereq("INFINITY","CREATIONSHARD");

mods.thaumcraft.Infusion.addRecipe("INFINITY", KobolditeIngot, [TemporalIngot,IchoriumIngot, Chromastone, Angelsteel3, FairyIngot, PokefenniumIngot, VoidmetalIngot, FieryIngot, GaiaIngot, TemporalIngot, IchoriumIngot, Chromastone, Angelsteel3, FairyIngot, PokefenniumIngot, VoidmetalIngot, FieryIngot, GaiaIngot], "potentia 256, praecantatio 256, metallum 256", AeonSteel, 15);
Research.addInfusionPage("INFINITY", AeonSteel);
ExtremeCrafting.remove(InfinityCatalyst);
mods.thaumcraft.Infusion.addRecipe("INFINITY", AuraLocus, [CreationShard,AeonSteel,TinyChaos,AeonSteel,CreationShard,AeonSteel,TinyChaos,AeonSteel], "aer 8, alienis 8, aqua 8, arbor 8, auram 8, bestia 8, cognitio 8, corpus 8, desidia 8, exanimis 8, fabrico 8, fames 8, gelum 8, gula 8, herba 8, humanus 8, ignis 8, infernus 8, instrumentum 8, invidia 8, ira 8, iter 8, limus 8, lucrum 8, lux 8, luxuria 8, machina 8, messis 8, metallum 8, meto 8, mortuus 8, motus 8, ordo 8, pannus 8, perditio 8, perfodio 8, permutatio 8, perplexus 8, potentia 8, praecantatio 8, principia 8, sano 8, sensus 8, signum 8, spiritus 8, superbia 8, telum 8, tempestas 8, tempus 8, tenebrae 8, terminus 8, terra 8, tutamen 8, vacuos 8, venemum 8, victus 8, vinculum 8, vitium 8, vitreus 8, volatus 8", InfinityCatalyst, 15);
Research.addInfusionPage("INFINITY", InfinityCatalyst);

recipes.remove(DiamondLattice);
recipes.addShaped(DiamondLattice,[[SoulCrystal,DragonStone,SoulCrystal],[DragonStone,LivingBrace,DragonStone],[SoulCrystal,DragonStone,SoulCrystal]]);

recipes.remove(CrystalMatrixIngot);
recipes.addShaped(CrystalMatrixIngot,[[DiamondLattice,DiamondLattice,DiamondLattice],[VoidmetalIngot,NetherStar,VoidmetalIngot],[DiamondLattice,DiamondLattice,DiamondLattice]]);

ExtremeCrafting.remove(InfinityIngot);
RuneAltar.addRecipe(InfinityIngot, [InfinityCatalyst,NeutroniumNugget,LargeChaosFragment,NeutroniumNugget,CrystalMatrixIngot,NeutroniumNugget,LargeChaosFragment,NeutroniumNugget,InfinityCatalyst,NeutroniumNugget,LargeChaosFragment,NeutroniumNugget,CrystalMatrixIngot,NeutroniumNugget,LargeChaosFragment,NeutroniumNugget], 10000000);

ExtremeCrafting.remove(NeutronCollector);
ExtremeCrafting.addShaped(NeutronCollector,[
[IchoriumIngot,ShadowMetal,WardedGlass,WardedGlass,WardedGlass,WardedGlass,WardedGlass,ShadowMetal,IchoriumIngot],
[ShadowMetal,null,AuraIngotBlack,WardedGlass,WardedGlass,WardedGlass,AuraIngotBlack,null,ShadowMetal],
[ShadowMetal,null,null,AuraIngotBlack,WardedGlass,AuraIngotBlack,null,null,ShadowMetal],
[ShadowMetalBlock,null,AuraIngotBlack,AuraIngotBlack,WardedGlass,AuraIngotBlack,AuraIngotBlack,null,ShadowMetalBlock],
[ShadowMetal,null,AuraIngotBlack,CrystalMatrixIngot,BedrockiumBlock,CrystalMatrixIngot,AuraIngotBlack,null,ShadowMetal],
[ShadowMetalBlock,null,AuraIngotBlack,AuraIngotBlack,CrystalMatrixIngot,AuraIngotBlack,AuraIngotBlack,null,ShadowMetalBlock],
[ShadowMetal,null,null,AuraIngotBlack,AuraIngotBlack,AuraIngotBlack,null,null,ShadowMetal],
[ShadowMetal,null,null,null,null,null,null,null,ShadowMetal],
[IchoriumIngot,ShadowMetal,ShadowMetal,ShadowMetal,ShadowMetal,ShadowMetal,ShadowMetal,ShadowMetal,IchoriumIngot]]);
