Search in sources :

Example 1 with ItemRitualDiviner

use of WayofTime.alchemicalWizardry.common.items.ItemRitualDiviner in project BloodMagic by WayofTime.

the class AlchemicalWizardry method load.

@EventHandler
public void load(FMLInitializationEvent event) {
    int craftingConstant = OreDictionary.WILDCARD_VALUE;
    ModBlocks.registerBlocksInInit();
    // blocks
    proxy.registerRenderers();
    proxy.registerEntities();
    proxy.registerEntityTrackers();
    proxy.registerEvents();
    // ItemStacks used for crafting go here
    ItemStack lapisStack = new ItemStack(Items.dye, 1, 4);
    ItemStack lavaBucketStack = new ItemStack(Items.lava_bucket);
    ItemStack cobblestoneStack = new ItemStack(Blocks.cobblestone, 1, craftingConstant);
    ItemStack glassStack = new ItemStack(Blocks.glass, 1, craftingConstant);
    ItemStack ironIngotStack = new ItemStack(Items.iron_ingot);
    ItemStack diamondStack = new ItemStack(Items.diamond, 1, craftingConstant);
    ItemStack goldNuggetStack = new ItemStack(Items.gold_nugget);
    ItemStack stoneStack = new ItemStack(Blocks.stone, 1, craftingConstant);
    ItemStack redstoneStack = new ItemStack(Items.redstone);
    ItemStack glowstoneBlockStack = new ItemStack(Blocks.glowstone);
    ItemStack ironBlockStack = new ItemStack(Blocks.iron_block);
    ItemStack waterBucketStack = new ItemStack(Items.water_bucket);
    ItemStack emptyBucketStack = new ItemStack(Items.bucket);
    ItemStack magmaCreamStack = new ItemStack(Items.magma_cream);
    ItemStack stringStack = new ItemStack(Items.string);
    ItemStack obsidianStack = new ItemStack(Blocks.obsidian);
    ItemStack goldIngotStack = new ItemStack(Items.gold_ingot);
    ItemStack furnaceStack = new ItemStack(Blocks.furnace);
    ItemStack sugarStack = new ItemStack(Items.sugar);
    ItemStack featherStack = new ItemStack(Items.feather);
    ItemStack ghastTearStack = new ItemStack(Items.ghast_tear);
    ItemStack ironPickaxeStack = new ItemStack(Items.iron_pickaxe);
    ItemStack ironAxeStack = new ItemStack(Items.iron_axe);
    ItemStack ironShovelStack = new ItemStack(Items.iron_shovel);
    ItemStack glowstoneDustStack = new ItemStack(Items.glowstone_dust);
    ItemStack saplingStack = new ItemStack(Blocks.sapling);
    ItemStack reedStack = new ItemStack(Items.reeds);
    ItemStack blankSlateStack = new ItemStack(ModItems.blankSlate, 1, craftingConstant);
    ItemStack reinforcedSlateStack = new ItemStack(ModItems.reinforcedSlate, 1, craftingConstant);
    ItemStack weakBloodOrbStack = new ItemStack(ModItems.weakBloodOrb, 1, craftingConstant);
    ItemStack imbuedSlateStack = new ItemStack(ModItems.imbuedSlate, 1, craftingConstant);
    ItemStack demonSlateStack = new ItemStack(ModItems.demonicSlate, 1, craftingConstant);
    ItemStack apprenticeBloodOrbStack = new ItemStack(ModItems.apprenticeBloodOrb, 1, craftingConstant);
    ItemStack magicianBloodOrbStack = new ItemStack(ModItems.magicianBloodOrb, 1, craftingConstant);
    ItemStack waterSigilStackCrafted = new ItemStack(ModItems.waterSigil);
    ItemStack lavaSigilStackCrafted = new ItemStack(ModItems.lavaSigil);
    ItemStack voidSigilStackCrafted = new ItemStack(ModItems.voidSigil);
    ItemStack airSigilStack = new ItemStack(ModItems.airSigil);
    ItemStack lavaCrystalStackCrafted = new ItemStack(ModItems.lavaCrystal);
    ItemStack lavaCrystalStack = new ItemStack(ModItems.lavaCrystal);
    ItemStack sacrificialDaggerStack = new ItemStack(ModItems.sacrificialDagger);
    ItemStack bloodAltarStack = new ItemStack(ModBlocks.blockAltar, 1, 0);
    ItemStack bloodRuneCraftedStack = new ItemStack(ModBlocks.bloodRune, 1);
    ItemStack bloodRuneStack = new ItemStack(ModBlocks.bloodRune);
    ItemStack speedRuneStack = new ItemStack(ModBlocks.speedRune);
    ItemStack runeOfSacrificeStack = new ItemStack(ModBlocks.runeOfSacrifice);
    ItemStack runeOfSelfSacrificeStack = new ItemStack(ModBlocks.runeOfSelfSacrifice);
    ItemStack miningSigilStackCrafted = new ItemStack(ModItems.sigilOfTheFastMiner);
    ItemStack divinationSigilStackCrafted = new ItemStack(ModItems.divinationSigil);
    ItemStack seerSigilStackCrafted = new ItemStack(ModItems.itemSeerSigil);
    ItemStack ritualStoneStackCrafted = new ItemStack(ModBlocks.ritualStone, 4);
    ItemStack ritualStoneStack = new ItemStack(ModBlocks.ritualStone);
    ItemStack masterRitualStoneStack = new ItemStack(ModBlocks.blockMasterStone);
    ItemStack imperfectRitualStoneStack = new ItemStack(ModBlocks.imperfectRitualStone);
    ItemStack sigilOfElementalAffinityStackCrafted = new ItemStack(ModItems.sigilOfElementalAffinity);
    ItemStack lavaSigilStack = new ItemStack(ModItems.lavaSigil);
    ItemStack waterSigilStack = new ItemStack(ModItems.waterSigil);
    ItemStack sigilOfHoldingStack = new ItemStack(ModItems.sigilOfHolding);
    ItemStack weakBloodShardStack = new ItemStack(ModItems.weakBloodShard);
    ItemStack emptySocketStack = new ItemStack(ModBlocks.emptySocket);
    ItemStack bloodSocketStack = new ItemStack(ModBlocks.bloodSocket);
    ItemStack armourForgeStack = new ItemStack(ModBlocks.armourForge);
    ItemStack largeBloodStoneBrickStackCrafted = new ItemStack(ModBlocks.largeBloodStoneBrick, 32);
    ItemStack largeBloodStoneBrickStack = new ItemStack(ModBlocks.largeBloodStoneBrick);
    ItemStack bloodStoneBrickStackCrafted = new ItemStack(ModBlocks.bloodStoneBrick, 4);
    ItemStack growthSigilStack = new ItemStack(ModItems.growthSigil);
    ItemStack blockHomHeartStack = new ItemStack(ModBlocks.blockHomHeart);
    ItemStack redWoolStack = new ItemStack(Blocks.wool, 1, 14);
    ItemStack simpleCatalystStack = new ItemStack(ModItems.simpleCatalyst);
    ItemStack duskRitualDivinerStack = new ItemStack(ModItems.itemRitualDiviner);
    ((ItemRitualDiviner) duskRitualDivinerStack.getItem()).setMaxRuneDisplacement(duskRitualDivinerStack, 1);
    ItemStack dawnRitualDivinerStack = new ItemStack(ModItems.itemRitualDiviner);
    ((ItemRitualDiviner) dawnRitualDivinerStack.getItem()).setMaxRuneDisplacement(dawnRitualDivinerStack, 2);
    waterSigilStackCrafted.setItemDamage(waterSigilStackCrafted.getMaxDamage());
    lavaSigilStackCrafted.setItemDamage(lavaSigilStackCrafted.getMaxDamage());
    voidSigilStackCrafted.setItemDamage(voidSigilStackCrafted.getMaxDamage());
    lavaCrystalStackCrafted.setItemDamage(lavaCrystalStackCrafted.getMaxDamage());
    miningSigilStackCrafted.setItemDamage(miningSigilStackCrafted.getMaxDamage());
    sigilOfElementalAffinityStackCrafted.setItemDamage(sigilOfElementalAffinityStackCrafted.getMaxDamage());
    ItemStack archmageBloodOrbStack = new ItemStack(ModItems.archmageBloodOrb);
    ItemStack sanctusStack = new ItemStack(ModItems.sanctus);
    ItemStack aetherStack = new ItemStack(ModItems.aether);
    ItemStack terraeStack = new ItemStack(ModItems.terrae);
    ItemStack incendiumStack = new ItemStack(ModItems.incendium);
    ItemStack tennebraeStack = new ItemStack(ModItems.tennebrae);
    ItemStack aquasalusStack = new ItemStack(ModItems.aquasalus);
    ItemStack crystallosStack = new ItemStack(ModItems.crystallos);
    ItemStack crepitousStack = new ItemStack(ModItems.crepitous);
    ItemStack magicalesStack = new ItemStack(ModItems.magicales);
    // All crafting goes here
    GameRegistry.addRecipe(sacrificialDaggerStack, "ggg", " dg", "i g", 'g', glassStack, 'd', goldIngotStack, 'i', ironIngotStack);
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(lavaCrystalStackCrafted, "glg", "lbl", "odo", 'g', glassStack, 'l', lavaBucketStack, 'b', weakBloodOrbStack, 'd', diamondStack, 'o', obsidianStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(waterSigilStackCrafted, "www", "wbw", "wow", 'w', waterBucketStack, 'b', blankSlateStack, 'o', weakBloodOrbStack));
    GameRegistry.addRecipe(lavaSigilStackCrafted, "lml", "lbl", "lcl", 'l', lavaBucketStack, 'b', blankSlateStack, 'm', magmaCreamStack, 'c', lavaCrystalStack);
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(voidSigilStackCrafted, "ese", "ere", "eoe", 'e', emptyBucketStack, 'r', reinforcedSlateStack, 'o', apprenticeBloodOrbStack, 's', stringStack));
    GameRegistry.addRecipe(bloodAltarStack, "s s", "scs", "gdg", 's', stoneStack, 'c', furnaceStack, 'd', diamondStack, 'g', goldIngotStack);
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(bloodRuneCraftedStack, "sss", "ror", "sss", 's', stoneStack, 'o', weakBloodOrbStack, 'r', blankSlateStack));
    GameRegistry.addRecipe(speedRuneStack, "sbs", "uru", "sbs", 'u', sugarStack, 's', stoneStack, 'r', bloodRuneStack, 'b', blankSlateStack);
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.bloodRune, 1, 1), "sbs", "bob", "srs", 's', stoneStack, 'o', magicianBloodOrbStack, 'b', emptyBucketStack, 'r', new ItemStack(ModItems.imbuedSlate)));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.bloodRune, 1, 2), "sbs", "bob", "srs", 's', stoneStack, 'o', magicianBloodOrbStack, 'b', waterBucketStack, 'r', new ItemStack(ModItems.imbuedSlate)));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.bloodRune, 1, 3), "sws", "ror", "sws", 's', stoneStack, 'o', new ItemStack(ModItems.masterBloodOrb), 'w', weakBloodOrbStack, 'r', new ItemStack(ModItems.demonicSlate)));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.bloodRune, 1, 4), "srs", "beb", "sos", 's', obsidianStack, 'o', new ItemStack(ModItems.masterBloodOrb), 'r', new ItemStack(ModItems.demonicSlate), 'b', emptyBucketStack, 'e', new ItemStack(ModBlocks.bloodRune, 1, 1)));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(airSigilStack, "fgf", "fsf", "fof", 'f', featherStack, 'g', ghastTearStack, 's', reinforcedSlateStack, 'o', apprenticeBloodOrbStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(miningSigilStackCrafted, "sps", "hra", "sos", 'o', apprenticeBloodOrbStack, 's', stoneStack, 'p', ironPickaxeStack, 'h', ironShovelStack, 'a', ironAxeStack, 'r', reinforcedSlateStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(runeOfSacrificeStack, "srs", "gog", "srs", 's', stoneStack, 'g', goldIngotStack, 'o', apprenticeBloodOrbStack, 'r', reinforcedSlateStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(runeOfSelfSacrificeStack, "srs", "gog", "srs", 's', stoneStack, 'g', glowstoneDustStack, 'o', apprenticeBloodOrbStack, 'r', reinforcedSlateStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(divinationSigilStackCrafted, "ggg", "gsg", "gog", 'g', glassStack, 's', blankSlateStack, 'o', weakBloodOrbStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(seerSigilStackCrafted, "gbg", "gsg", "gog", 'g', glassStack, 's', divinationSigilStackCrafted, 'o', apprenticeBloodOrbStack, 'b', new ItemStack(ModItems.bucketLife)));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(ritualStoneStackCrafted, "srs", "ror", "srs", 's', obsidianStack, 'o', apprenticeBloodOrbStack, 'r', reinforcedSlateStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(masterRitualStoneStack, "brb", "ror", "brb", 'b', obsidianStack, 'o', magicianBloodOrbStack, 'r', ritualStoneStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(imperfectRitualStoneStack, "bsb", "sos", "bsb", 's', stoneStack, 'b', obsidianStack, 'o', weakBloodOrbStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(sigilOfElementalAffinityStackCrafted, "oao", "wsl", "oro", 'o', obsidianStack, 'a', airSigilStack, 'w', waterSigilStack, 'l', lavaSigilStack, 'r', magicianBloodOrbStack, 's', imbuedSlateStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(sigilOfHoldingStack, "asa", "srs", "aoa", 'a', blankSlateStack, 's', stoneStack, 'r', imbuedSlateStack, 'o', magicianBloodOrbStack));
    GameRegistry.addRecipe(emptySocketStack, "bgb", "gdg", "bgb", 'b', weakBloodShardStack, 'g', glassStack, 'd', diamondStack);
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(armourForgeStack, "sfs", "fof", "sfs", 'f', bloodSocketStack, 's', stoneStack, 'o', magicianBloodOrbStack));
    GameRegistry.addShapelessRecipe(largeBloodStoneBrickStackCrafted, weakBloodShardStack, stoneStack);
    GameRegistry.addRecipe(bloodStoneBrickStackCrafted, "bb", "bb", 'b', largeBloodStoneBrickStack);
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(growthSigilStack, "srs", "rer", "sos", 's', saplingStack, 'r', reedStack, 'o', apprenticeBloodOrbStack, 'e', reinforcedSlateStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(blockHomHeartStack, "www", "srs", "sos", 'w', redWoolStack, 's', stoneStack, 'r', bloodRuneStack, 'o', apprenticeBloodOrbStack));
    GameRegistry.addShapelessRecipe(new ItemStack(Items.skull, 1, 2), new ItemStack(Items.skull, 1, 1), new ItemStack(Items.rotten_flesh), new ItemStack(Items.iron_ingot), new ItemStack(Items.leather));
    GameRegistry.addShapelessRecipe(new ItemStack(Items.skull, 1, 0), new ItemStack(Items.skull, 1, 1), new ItemStack(Items.bow, 1, 0), new ItemStack(Items.arrow, 1, 0), new ItemStack(Items.bone));
    GameRegistry.addShapelessRecipe(new ItemStack(Items.skull, 1, 4), new ItemStack(Items.skull, 1, 1), new ItemStack(Items.gunpowder), new ItemStack(Blocks.dirt), new ItemStack(Blocks.sand));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.blockWritingTable), " s ", "ror", 's', new ItemStack(Items.brewing_stand), 'r', obsidianStack, 'o', weakBloodOrbStack));
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockPedestal), "ooo", " c ", "ooo", 'o', obsidianStack, 'c', weakBloodShardStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockPlinth), "iii", " p ", "iii", 'i', ironBlockStack, 'p', new ItemStack(ModBlocks.blockPedestal));
    GameRegistry.addShapelessRecipe(new ItemStack(ModItems.alchemyFlask, 1, 0), new ItemStack(ModItems.alchemyFlask, 1, craftingConstant), new ItemStack(Items.nether_wart), redstoneStack, glowstoneDustStack);
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.sigilOfHaste), "csc", "sts", "ror", 'c', new ItemStack(Items.cookie), 's', new ItemStack(Items.sugar), 't', ModItems.demonicSlate, 'r', obsidianStack, 'o', new ItemStack(ModItems.masterBloodOrb)));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.sigilOfWind), "faf", "grg", "fof", 'f', featherStack, 'g', ghastTearStack, 'a', new ItemStack(ModItems.airSigil), 'o', new ItemStack(ModItems.masterBloodOrb), 'r', ModItems.demonicSlate));
    GameRegistry.addRecipe(new ShapelessBloodOrbRecipe(new ItemStack(ModItems.weakBloodShard, 5, 0), new ItemStack(ModItems.masterBloodOrb), new ItemStack(ModItems.weakBloodShard), imbuedSlateStack));
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockTeleposer), "ggg", "efe", "ggg", 'g', goldIngotStack, 'f', new ItemStack(ModItems.telepositionFocus), 'e', new ItemStack(Items.ender_pearl));
    GameRegistry.addShapelessRecipe(new ItemStack(ModItems.reinforcedTelepositionFocus), new ItemStack(ModItems.enhancedTelepositionFocus), new ItemStack(ModItems.weakBloodShard));
    GameRegistry.addShapelessRecipe(new ItemStack(ModItems.demonicTelepositionFocus), new ItemStack(ModItems.reinforcedTelepositionFocus), new ItemStack(ModItems.demonBloodShard));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.sigilOfTheBridge), "nnn", "nsn", "ror", 'n', stoneStack, 'r', new ItemStack(Blocks.soul_sand), 's', imbuedSlateStack, 'o', magicianBloodOrbStack));
    GameRegistry.addRecipe(new ItemStack(ModItems.armourInhibitor), " gg", "gsg", "gg ", 'g', goldIngotStack, 's', new ItemStack(ModItems.weakBloodShard));
    GameRegistry.addRecipe(new ItemStack(ModItems.itemRitualDiviner), "d1d", "2e3", "d4d", '1', new ItemStack(ModItems.airScribeTool), '2', new ItemStack(ModItems.waterScribeTool), '3', new ItemStack(ModItems.fireScribeTool), '4', new ItemStack(ModItems.earthScribeTool), 'd', diamondStack, 'e', new ItemStack(Items.emerald));
    GameRegistry.addRecipe(duskRitualDivinerStack, " d ", "srs", " d ", 'd', new ItemStack(ModItems.duskScribeTool), 's', new ItemStack(ModItems.demonicSlate), 'r', new ItemStack(ModItems.itemRitualDiviner));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.sigilOfMagnetism), "bgb", "gsg", "bob", 'b', new ItemStack(Blocks.iron_block), 'g', goldIngotStack, 's', new ItemStack(ModItems.imbuedSlate), 'o', magicianBloodOrbStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.energyBazooka), "Ocd", "cb ", "d w", 'O', archmageBloodOrbStack, 'c', crepitousStack, 'b', new ItemStack(ModItems.energyBlaster), 'd', diamondStack, 'w', new ItemStack(ModItems.weakBloodShard)));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.itemBloodLightSigil), "btb", "sss", "bob", 'o', magicianBloodOrbStack, 'b', glowstoneBlockStack, 't', new ItemStack(Blocks.torch), 's', imbuedSlateStack));
    GameRegistry.addRecipe(new ItemStack(ModItems.itemKeyOfDiablo), " gw", "gdg", "wg ", 'w', weakBloodShardStack, 'g', goldIngotStack, 'd', diamondStack);
    GameRegistry.addRecipe(new ItemStack(ModItems.itemBloodPack), "gbg", "flf", "gsg", 's', blankSlateStack, 'g', glassStack, 'f', new ItemStack(Items.flint, 1, craftingConstant), 'b', emptyBucketStack, 'l', new ItemStack(Items.leather_chestplate));
    customPotionDrowning = (new PotionDrowning(customPotionDrowningID, true, 0)).setIconIndex(0, 0).setPotionName("Drowning");
    customPotionBoost = (new PotionBoost(customPotionBoostID, false, 0)).setIconIndex(0, 0).setPotionName("Boost");
    customPotionProjProt = (new PotionProjectileProtect(customPotionProjProtID, false, 0)).setIconIndex(0, 0).setPotionName("Whirlwind");
    customPotionInhibit = (new PotionInhibit(customPotionInhibitID, false, 0)).setIconIndex(0, 0).setPotionName("Inhibit");
    customPotionFlight = (new PotionFlight(customPotionFlightID, false, 0)).setIconIndex(0, 0).setPotionName("Flight");
    customPotionReciprocation = (new PotionReciprocation(customPotionReciprocationID, false, 0xFFFFFF)).setIconIndex(0, 0).setPotionName("Reciprocation");
    customPotionFlameCloak = (new PotionFlameCloak(customPotionFlameCloakID, false, 0).setIconIndex(0, 0).setPotionName("Flame Cloak"));
    customPotionIceCloak = (new PotionIceCloak(customPotionIceCloakID, false, 0).setIconIndex(0, 0).setPotionName("Ice Cloak"));
    customPotionHeavyHeart = (new PotionHeavyHeart(customPotionHeavyHeartID, true, 0).setIconIndex(0, 0).setPotionName("Heavy Heart"));
    customPotionFireFuse = (new PotionFireFuse(customPotionFireFuseID, true, 0).setIconIndex(0, 0).setPotionName("Fire Fuse"));
    customPotionPlanarBinding = (new PotionPlanarBinding(customPotionPlanarBindingID, true, 0).setIconIndex(0, 0).setPotionName("Planar Binding"));
    customPotionSoulFray = (new PotionSoulFray(customPotionSoulFrayID, true, 0).setIconIndex(0, 0).setPotionName("Soul Fray"));
    PlayerSacrificeHandler.soulFrayId = customPotionSoulFray;
    customPotionSoulHarden = (new PotionSoulHarden(customPotionSoulHardenID, false, 0).setIconIndex(0, 0).setPotionName("Soul Harden"));
    customPotionDeaf = (new PotionDeaf(customPotionDeafID, true, 0).setIconIndex(0, 0).setPotionName("Deafness"));
    customPotionFeatherFall = (new PotionFeatherFall(customPotionFeatherFallID, false, 0).setIconIndex(0, 0).setPotionName("Feather Fall"));
    customPotionDemonCloak = (new PotionDemonCloak(customPotionDemonCloakID, false, 0).setIconIndex(0, 0).setPotionName("Demon Cloaking"));
    customPotionAmphibian = (new PotionAmphibian(customPotionAmphibianID, false, 0).setIconIndex(0, 0).setPotionName("Amphibian"));
    ItemStack masterBloodOrbStack = new ItemStack(ModItems.masterBloodOrb);
    ItemStack transcendentBloodOrbStack = new ItemStack(ModItems.transcendentBloodOrb);
    // ModBlocks.blockLifeEssence.setUnlocalizedName("lifeEssenceBlock");
    FluidContainerRegistry.registerFluidContainer(lifeEssenceFluid, new ItemStack(ModItems.bucketLife), FluidContainerRegistry.EMPTY_BUCKET);
    ModBlocks.blockAltar.setHarvestLevel("pickaxe", 1);
    // Register Tile Entity
    GameRegistry.registerTileEntity(TEAltar.class, "containerAltar");
    GameRegistry.registerTileEntity(TEMasterStone.class, "containerMasterStone");
    GameRegistry.registerTileEntity(TESocket.class, "containerSocket");
    GameRegistry.registerTileEntity(TEWritingTable.class, "containerWritingTable");
    GameRegistry.registerTileEntity(TEHomHeart.class, "containerHomHeart");
    GameRegistry.registerTileEntity(TEPedestal.class, "containerPedestal");
    GameRegistry.registerTileEntity(TEPlinth.class, "containerPlinth");
    GameRegistry.registerTileEntity(TETeleposer.class, "containerTeleposer");
    GameRegistry.registerTileEntity(TEConduit.class, "containerConduit");
    GameRegistry.registerTileEntity(TEOrientable.class, "containerOrientable");
    GameRegistry.registerTileEntity(TESpellParadigmBlock.class, "containerSpellParadigmBlock");
    GameRegistry.registerTileEntity(TESpellEffectBlock.class, "containerSpellEffectBlock");
    GameRegistry.registerTileEntity(TESpellModifierBlock.class, "containerSpellModifierBlock");
    GameRegistry.registerTileEntity(TESpellEnhancementBlock.class, "containerSpellEnhancementBlock");
    GameRegistry.registerTileEntity(TESpectralContainer.class, "spectralContainerTileEntity");
    GameRegistry.registerTileEntity(TEDemonPortal.class, "containerDemonPortal");
    GameRegistry.registerTileEntity(TESchematicSaver.class, "containerSchematicSaver");
    GameRegistry.registerTileEntity(TESpectralBlock.class, "containerSpectralBlock");
    GameRegistry.registerTileEntity(TEReagentConduit.class, "containerReagentConduit");
    GameRegistry.registerTileEntity(TEBellJar.class, "containerBellJar");
    GameRegistry.registerTileEntity(TEAlchemicCalcinator.class, "containerAlchemicCalcinator");
    GameRegistry.registerTileEntity(TEDemonChest.class, "containerDemonChest");
    GameRegistry.registerTileEntity(TEMimicBlock.class, "containerMimic");
    GameRegistry.registerTileEntity(TECrucible.class, "containerCrucible");
    ModBlocks.bloodRune.setHarvestLevel("pickaxe", 2);
    ModBlocks.speedRune.setHarvestLevel("pickaxe", 2);
    ModBlocks.efficiencyRune.setHarvestLevel("pickaxe", 2);
    ModBlocks.runeOfSacrifice.setHarvestLevel("pickaxe", 2);
    ModBlocks.runeOfSelfSacrifice.setHarvestLevel("pickaxe", 2);
    ModBlocks.ritualStone.setHarvestLevel("pickaxe", 2);
    ModBlocks.bloodSocket.setHarvestLevel("pickaxe", 2);
    ModBlocks.ritualStone.setHarvestLevel("pickaxe", 2);
    ModBlocks.imperfectRitualStone.setHarvestLevel("pickaxe", 2);
    ModBlocks.blockMasterStone.setHarvestLevel("pickaxe", 2);
    ModBlocks.emptySocket.setHarvestLevel("pickaxe", 2);
    ModBlocks.bloodStoneBrick.setHarvestLevel("pickaxe", 0);
    ModBlocks.largeBloodStoneBrick.setHarvestLevel("pickaxe", 0);
    ModBlocks.blockWritingTable.setHarvestLevel("pickaxe", 1);
    ModBlocks.blockHomHeart.setHarvestLevel("pickaxe", 1);
    ModBlocks.blockPedestal.setHarvestLevel("pickaxe", 2);
    ModBlocks.blockPlinth.setHarvestLevel("pickaxe", 2);
    ModBlocks.blockTeleposer.setHarvestLevel("pickaxe", 2);
    // Fuel handler
    GameRegistry.registerFuelHandler(new AlchemicalWizardryFuelHandler());
    // Gui registration
    UpgradedAltars.loadAltars();
    ArmourForge.initializeRecipes();
    TEPlinth.initialize();
    initAlchemyPotionRecipes();
    initAltarRecipes();
    initBindingRecipes();
    initHarvestRegistry();
    initCombinedAlchemyPotionRecipes();
    ReagentRegistry.initReagents();
    initReagentRegistries();
    initRituals();
    initDemonPacketRegistiry();
    initiateRegistry();
    blacklistDemons();
    blacklistAccelerators();
    MinecraftForge.EVENT_BUS.register(new ModLivingDropsEvent());
    proxy.InitRendering();
    NetworkRegistry.INSTANCE.registerGuiHandler(this, new GuiHandler());
    ItemStack gunpowderStack = new ItemStack(Items.gunpowder);
    ItemStack offensaStack = new ItemStack(ModItems.baseAlchemyItems, 1, 0);
    ItemStack praesidiumStack = new ItemStack(ModItems.baseAlchemyItems, 1, 1);
    ItemStack orbisTerraeStack = new ItemStack(ModItems.baseAlchemyItems, 1, 2);
    ItemStack strengthenedCatalystStack = new ItemStack(ModItems.baseAlchemyItems, 1, 3);
    ItemStack concentratedCatalystStack = new ItemStack(ModItems.baseAlchemyItems, 1, 4);
    ItemStack fracturedBoneStack = new ItemStack(ModItems.baseAlchemyItems, 1, 5);
    ItemStack virtusStack = new ItemStack(ModItems.baseAlchemyItems, 1, 6);
    ItemStack reductusStack = new ItemStack(ModItems.baseAlchemyItems, 1, 7);
    ItemStack potentiaStack = new ItemStack(ModItems.baseAlchemyItems, 1, 8);
    ItemStack strengthenedCatalystStackCrafted = new ItemStack(ModItems.baseAlchemyItems, 2, 3);
    ItemStack fracturedBoneStackCrafted = new ItemStack(ModItems.baseAlchemyItems, 4, 5);
    // TODO NEW RECIPES!
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.weakBindingAgent), 10, new ItemStack[] { simpleCatalystStack, simpleCatalystStack, new ItemStack(Items.clay_ball) }, 2);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.standardBindingAgent), 15, new ItemStack[] { new ItemStack(ModItems.weakBindingAgent), sanctusStack, new ItemStack(ModItems.crystallos) }, 3);
    AlchemyRecipeRegistry.registerRecipe(simpleCatalystStack, 2, new ItemStack[] { sugarStack, redstoneStack, redstoneStack, glowstoneDustStack, new ItemStack(Items.gunpowder) }, 1);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.incendium), 5, new ItemStack[] { lavaBucketStack, new ItemStack(Items.blaze_powder), new ItemStack(Items.blaze_powder), new ItemStack(Blocks.netherrack), simpleCatalystStack }, 2);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.aether), 5, new ItemStack[] { featherStack, featherStack, glowstoneDustStack, ghastTearStack, simpleCatalystStack }, 2);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.sanctus), 5, new ItemStack[] { glowstoneDustStack, new ItemStack(Items.gold_nugget), glowstoneDustStack, glassStack, simpleCatalystStack }, 2);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.crepitous), 5, new ItemStack[] { new ItemStack(Items.gunpowder), new ItemStack(Items.gunpowder), cobblestoneStack, cobblestoneStack, simpleCatalystStack }, 2);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.crystallos), 5, new ItemStack[] { new ItemStack(Blocks.ice), new ItemStack(Blocks.ice), new ItemStack(Blocks.snow), new ItemStack(Blocks.snow), simpleCatalystStack }, 2);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.terrae), 5, new ItemStack[] { new ItemStack(Blocks.dirt), new ItemStack(Blocks.sand), obsidianStack, obsidianStack, simpleCatalystStack }, 2);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.aquasalus), 5, new ItemStack[] { simpleCatalystStack, new ItemStack(Items.dye, 1, 0), new ItemStack(Items.potionitem, 1, 0), new ItemStack(Items.potionitem, 1, 0), new ItemStack(Items.potionitem, 1, 0) }, 2);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.tennebrae), 5, new ItemStack[] { simpleCatalystStack, new ItemStack(Items.coal), new ItemStack(Items.coal), new ItemStack(Blocks.obsidian), new ItemStack(Items.clay_ball) }, 2);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.magicales), 5, new ItemStack[] { redstoneStack, simpleCatalystStack, new ItemStack(Items.gunpowder), new ItemStack(Items.glowstone_dust), new ItemStack(Items.glowstone_dust) }, 2);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.mundanePowerCatalyst), 10, new ItemStack[] { glowstoneDustStack, glowstoneDustStack, glowstoneDustStack, new ItemStack(ModItems.weakBindingAgent), simpleCatalystStack }, 3);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.mundaneLengtheningCatalyst), 10, new ItemStack[] { redstoneStack, redstoneStack, redstoneStack, new ItemStack(ModItems.weakBindingAgent), simpleCatalystStack }, 3);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.averagePowerCatalyst), 20, new ItemStack[] { new ItemStack(ModItems.mundanePowerCatalyst), new ItemStack(ModItems.mundanePowerCatalyst), new ItemStack(ModItems.standardBindingAgent) }, 4);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.averageLengtheningCatalyst), 20, new ItemStack[] { new ItemStack(ModItems.mundaneLengtheningCatalyst), new ItemStack(ModItems.mundaneLengtheningCatalyst), new ItemStack(ModItems.standardBindingAgent) }, 4);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.greaterPowerCatalyst), 30, new ItemStack[] { new ItemStack(ModItems.averagePowerCatalyst), new ItemStack(ModItems.averagePowerCatalyst), new ItemStack(ModItems.incendium) }, 4);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.greaterLengtheningCatalyst), 30, new ItemStack[] { new ItemStack(ModItems.averageLengtheningCatalyst), new ItemStack(ModItems.averageLengtheningCatalyst), new ItemStack(ModItems.aquasalus) }, 4);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.weakFillingAgent), 5, new ItemStack[] { simpleCatalystStack, new ItemStack(Items.nether_wart), redstoneStack, glowstoneDustStack }, 3);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.standardFillingAgent), 10, new ItemStack[] { new ItemStack(ModItems.weakFillingAgent), new ItemStack(ModItems.terrae) }, 3);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.enhancedFillingAgent), 25, new ItemStack[] { new ItemStack(ModItems.standardFillingAgent), new ItemStack(ModItems.aquasalus), new ItemStack(ModItems.magicales) }, 4);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.activationCrystal, 1, 1), 100, new ItemStack[] { new ItemStack(ModItems.activationCrystal, 1, 0), new ItemStack(ModItems.demonBloodShard), incendiumStack, aquasalusStack, aetherStack }, 4);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.activationCrystal, 1, 1), 100, new ItemStack[] { new ItemStack(ModItems.activationCrystal, 1, 0), new ItemStack(Items.nether_star), incendiumStack, aquasalusStack, aetherStack }, 4);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(Blocks.web), 2, new ItemStack[] { new ItemStack(Items.string), new ItemStack(Items.string), new ItemStack(Items.string), new ItemStack(Items.string), new ItemStack(Items.string) }, 1);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.gunpowder, 2, 0), 2, new ItemStack[] { gunpowderStack, new ItemStack(Items.coal), new ItemStack(Blocks.sand) }, 1);
    AlchemyRecipeRegistry.registerRecipe(strengthenedCatalystStackCrafted, 10, new ItemStack[] { simpleCatalystStack, simpleCatalystStack, new ItemStack(Items.dye, 1, 15), new ItemStack(Items.nether_wart) }, 3);
    AlchemyRecipeRegistry.registerRecipe(offensaStack, 10, new ItemStack[] { strengthenedCatalystStack, incendiumStack, new ItemStack(Items.arrow), new ItemStack(Items.flint), new ItemStack(Items.arrow) }, 3);
    AlchemyRecipeRegistry.registerRecipe(praesidiumStack, 10, new ItemStack[] { strengthenedCatalystStack, tennebraeStack, ironIngotStack, new ItemStack(Blocks.web), redstoneStack }, 3);
    AlchemyRecipeRegistry.registerRecipe(orbisTerraeStack, 10, new ItemStack[] { strengthenedCatalystStack, terraeStack, gunpowderStack, new ItemStack(Blocks.netherrack), new ItemStack(Blocks.sand) }, 3);
    AlchemyRecipeRegistry.registerRecipe(concentratedCatalystStack, 10, new ItemStack[] { strengthenedCatalystStack, fracturedBoneStack, goldNuggetStack }, 4);
    AlchemyRecipeRegistry.registerRecipe(fracturedBoneStackCrafted, 2, new ItemStack[] { new ItemStack(Items.bone), new ItemStack(Items.bone), new ItemStack(Items.bone), new ItemStack(Items.bone), gunpowderStack }, 1);
    AlchemyRecipeRegistry.registerRecipe(virtusStack, 20, new ItemStack[] { redstoneStack, new ItemStack(Items.coal), strengthenedCatalystStack, redstoneStack, gunpowderStack }, 3);
    AlchemyRecipeRegistry.registerRecipe(reductusStack, 20, new ItemStack[] { redstoneStack, goldIngotStack, strengthenedCatalystStack, new ItemStack(Blocks.soul_sand), new ItemStack(Items.carrot) }, 3);
    AlchemyRecipeRegistry.registerRecipe(potentiaStack, 20, new ItemStack[] { glowstoneDustStack, strengthenedCatalystStack, lapisStack, lapisStack, new ItemStack(Items.quartz) }, 3);
    HomSpellRegistry.registerBasicSpell(new ItemStack(Items.flint_and_steel), new SpellFireBurst());
    HomSpellRegistry.registerBasicSpell(new ItemStack(Blocks.ice), new SpellFrozenWater());
    HomSpellRegistry.registerBasicSpell(new ItemStack(Blocks.tnt), new SpellExplosions());
    HomSpellRegistry.registerBasicSpell(new ItemStack(ModItems.apprenticeBloodOrb), new SpellHolyBlast());
    HomSpellRegistry.registerBasicSpell(new ItemStack(Items.ghast_tear), new SpellWindGust());
    HomSpellRegistry.registerBasicSpell(new ItemStack(Items.glowstone_dust), new SpellLightningBolt());
    HomSpellRegistry.registerBasicSpell(new ItemStack(Items.water_bucket), new SpellWateryGrave());
    HomSpellRegistry.registerBasicSpell(new ItemStack(Blocks.obsidian), new SpellEarthBender());
    HomSpellRegistry.registerBasicSpell(new ItemStack(Items.ender_pearl), new SpellTeleport());
    SummoningRegistry.registerSummon(new SummoningHelperAW(entityFallenAngelID), new ItemStack[] { sanctusStack, sanctusStack, sanctusStack, aetherStack, tennebraeStack, terraeStack }, new ItemStack[] {}, new ItemStack[] {}, 0, 4);
    SummoningRegistry.registerSummon(new SummoningHelperAW(entityLowerGuardianID), new ItemStack[] { cobblestoneStack, cobblestoneStack, terraeStack, tennebraeStack, new ItemStack(Items.iron_ingot), new ItemStack(Items.gold_nugget) }, new ItemStack[] {}, new ItemStack[] {}, 0, 4);
    SummoningRegistry.registerSummon(new SummoningHelperAW(entityBileDemonID), new ItemStack[] { new ItemStack(Items.poisonous_potato), tennebraeStack, terraeStack, new ItemStack(Items.porkchop), new ItemStack(Items.egg), new ItemStack(Items.beef) }, new ItemStack[] { crepitousStack, crepitousStack, terraeStack, ironBlockStack, ironBlockStack, diamondStack }, new ItemStack[] {}, 0, 5);
    SummoningRegistry.registerSummon(new SummoningHelperAW(entityWingedFireDemonID), new ItemStack[] { aetherStack, incendiumStack, incendiumStack, incendiumStack, tennebraeStack, new ItemStack(Blocks.netherrack) }, new ItemStack[] { diamondStack, new ItemStack(Blocks.gold_block), magicalesStack, magicalesStack, new ItemStack(Items.fire_charge), new ItemStack(Blocks.coal_block) }, new ItemStack[] {}, 0, 5);
    SummoningRegistry.registerSummon(new SummoningHelperAW(entitySmallEarthGolemID), new ItemStack[] { new ItemStack(Items.clay_ball), terraeStack, terraeStack }, new ItemStack[] {}, new ItemStack[] {}, 0, 4);
    SummoningRegistry.registerSummon(new SummoningHelperAW(entityIceDemonID), new ItemStack[] { crystallosStack, crystallosStack, aquasalusStack, crystallosStack, sanctusStack, terraeStack }, new ItemStack[] {}, new ItemStack[] {}, 0, 4);
    SummoningRegistry.registerSummon(new SummoningHelperAW(entityBoulderFistID), new ItemStack[] { terraeStack, sanctusStack, tennebraeStack, new ItemStack(Items.bone), new ItemStack(Items.cooked_beef), new ItemStack(Items.cooked_beef) }, new ItemStack[] {}, new ItemStack[] {}, 0, 4);
    SummoningRegistry.registerSummon(new SummoningHelperAW(entityShadeID), new ItemStack[] { tennebraeStack, tennebraeStack, tennebraeStack, aetherStack, glassStack, new ItemStack(Items.glass_bottle) }, new ItemStack[] {}, new ItemStack[] {}, 0, 4);
    SummoningRegistry.registerSummon(new SummoningHelperAW(entityAirElementalID), new ItemStack[] { aetherStack, aetherStack, aetherStack, aetherStack, aetherStack, aetherStack }, new ItemStack[] {}, new ItemStack[] {}, 0, 4);
    SummoningRegistry.registerSummon(new SummoningHelperAW(entityWaterElementalID), new ItemStack[] { aquasalusStack, aquasalusStack, aquasalusStack, aquasalusStack, aquasalusStack, aquasalusStack }, new ItemStack[] {}, new ItemStack[] {}, 0, 4);
    SummoningRegistry.registerSummon(new SummoningHelperAW(entityEarthElementalID), new ItemStack[] { terraeStack, terraeStack, terraeStack, terraeStack, terraeStack, terraeStack }, new ItemStack[] {}, new ItemStack[] {}, 0, 4);
    SummoningRegistry.registerSummon(new SummoningHelperAW(entityFireElementalID), new ItemStack[] { incendiumStack, incendiumStack, incendiumStack, incendiumStack, incendiumStack, incendiumStack }, new ItemStack[] {}, new ItemStack[] {}, 0, 4);
    SummoningRegistry.registerSummon(new SummoningHelperAW(entityShadeElementalID), new ItemStack[] { tennebraeStack, tennebraeStack, tennebraeStack, tennebraeStack, tennebraeStack, tennebraeStack }, new ItemStack[] {}, new ItemStack[] {}, 0, 4);
    SummoningRegistry.registerSummon(new SummoningHelperAW(entityHolyElementalID), new ItemStack[] { sanctusStack, sanctusStack, sanctusStack, sanctusStack, sanctusStack, sanctusStack }, new ItemStack[] {}, new ItemStack[] {}, 0, 4);
    // SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityMinorDemonGruntID), new ItemStack[]{incendiumStack, sanctusStack, sanctusStack, sanctusStack, sanctusStack, sanctusStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4);
    // Custom mobs
    EntityRegistry.registerModEntity(EntityFallenAngel.class, "FallenAngel", 20, this, 80, 3, true);
    EntityRegistry.registerModEntity(EntityLowerGuardian.class, "LowerGuardian", 21, this, 80, 3, true);
    EntityRegistry.registerModEntity(EntityBileDemon.class, "BileDemon", 22, this, 80, 3, true);
    EntityRegistry.registerModEntity(EntityWingedFireDemon.class, "WingedFireDemon", 23, this, 80, 3, true);
    EntityRegistry.registerModEntity(EntitySmallEarthGolem.class, "SmallEarthGolem", 24, this, 80, 3, true);
    EntityRegistry.registerModEntity(EntityIceDemon.class, "IceDemon", 25, this, 80, 3, true);
    EntityRegistry.registerModEntity(EntityBoulderFist.class, "BoulderFist", 26, this, 80, 3, true);
    EntityRegistry.registerModEntity(EntityShade.class, "Shade", 27, this, 80, 3, true);
    EntityRegistry.registerModEntity(EntityAirElemental.class, "AirElemental", 28, this, 120, 3, true);
    EntityRegistry.registerModEntity(EntityWaterElemental.class, "WaterElemental", 29, this, 120, 3, true);
    EntityRegistry.registerModEntity(EntityEarthElemental.class, "EarthElemental", 30, this, 120, 3, true);
    EntityRegistry.registerModEntity(EntityFireElemental.class, "FireElemental", 31, this, 120, 3, true);
    EntityRegistry.registerModEntity(EntityShadeElemental.class, "ShadeElemental", 32, this, 120, 3, true);
    EntityRegistry.registerModEntity(EntityHolyElemental.class, "HolyElemental", 33, this, 120, 3, true);
    EntityRegistry.registerModEntity(EntityMinorDemonGrunt.class, "MinorDemonGrunt", 34, this, 80, 3, true);
    EntityRegistry.registerModEntity(EntityMinorDemonGruntFire.class, "MinorDemonGruntFire", 35, this, 80, 3, true);
    EntityRegistry.registerModEntity(EntityMinorDemonGruntWind.class, "MinorDemonGruntWind", 36, this, 80, 3, true);
    EntityRegistry.registerModEntity(EntityMinorDemonGruntIce.class, "MinorDemonGruntIce", 37, this, 80, 3, true);
    EntityRegistry.registerModEntity(EntityMinorDemonGruntEarth.class, "MinorDemonGruntEarth", 38, this, 80, 3, true);
    EntityRegistry.registerModEntity(EntityMinorDemonGruntGuardian.class, "MinorDemonGruntGuardian", 39, this, 80, 3, true);
    EntityRegistry.registerModEntity(EntityMinorDemonGruntGuardianFire.class, "MinorDemonGruntGuardianFire", 40, this, 80, 3, true);
    EntityRegistry.registerModEntity(EntityMinorDemonGruntGuardianWind.class, "MinorDemonGruntGuardianWind", 41, this, 80, 3, true);
    EntityRegistry.registerModEntity(EntityMinorDemonGruntGuardianIce.class, "MinorDemonGruntGuardianIce", 42, this, 80, 3, true);
    EntityRegistry.registerModEntity(EntityMinorDemonGruntGuardianEarth.class, "MinorDemonGruntGuardianEarth", 43, this, 80, 3, true);
    ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.standardBindingAgent), 1, 3, this.standardBindingAgentDungeonChance / 5));
    ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.mundanePowerCatalyst), 1, 1, this.mundanePowerCatalystDungeonChance / 5));
    ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.mundaneLengtheningCatalyst), 1, 1, this.mundaneLengtheningCatalystDungeonChance / 5));
    ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.averagePowerCatalyst), 1, 1, this.averagePowerCatalystDungeonChance / 5));
    ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.averageLengtheningCatalyst), 1, 1, this.averageLengtheningCatalystDungeonChance / 5));
    ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.greaterPowerCatalyst), 1, 1, this.greaterPowerCatalystDungeonChance / 5));
    ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.greaterLengtheningCatalyst), 1, 1, this.greaterLengtheningCatalystDungeonChance / 5));
    // Ore Dictionary Registration
    OreDictionary.registerOre("oreCoal", Blocks.coal_ore);
    MeteorRegistry.registerMeteorParadigm(diamondStack, diamondMeteorArray, diamondMeteorRadius);
    MeteorRegistry.registerMeteorParadigm(stoneStack, stoneMeteorArray, stoneMeteorRadius);
    MeteorRegistry.registerMeteorParadigm(ironBlockStack, ironBlockMeteorArray, ironBlockMeteorRadius);
    MeteorRegistry.registerMeteorParadigm(new ItemStack(Items.nether_star), netherStarMeteorArray, netherStarMeteorRadius);
    ItemStack stickStack = new ItemStack(Items.stick, 1, craftingConstant);
    // Register spell component recipes
    ItemStack complexSpellCrystalStack = new ItemStack(ModItems.itemComplexSpellCrystal);
    ItemStack quartzRodStack = new ItemStack(ModItems.baseItems, 1, 0);
    ItemStack emptyCoreStack = new ItemStack(ModItems.baseItems, 1, 1);
    ItemStack magicalesCableStack = new ItemStack(ModItems.baseItems, 1, 2);
    ItemStack woodBraceStack = new ItemStack(ModItems.baseItems, 1, 3);
    ItemStack stoneBraceStack = new ItemStack(ModItems.baseItems, 1, 4);
    ItemStack projectileCoreStack = new ItemStack(ModItems.baseItems, 1, 5);
    ItemStack selfCoreStack = new ItemStack(ModItems.baseItems, 1, 6);
    ItemStack meleeCoreStack = new ItemStack(ModItems.baseItems, 1, 7);
    ItemStack toolCoreStack = new ItemStack(ModItems.baseItems, 1, 26);
    ItemStack paradigmBackPlateStack = new ItemStack(ModItems.baseItems, 1, 8);
    ItemStack outputCableStack = new ItemStack(ModItems.baseItems, 1, 9);
    ItemStack flameCoreStack = new ItemStack(ModItems.baseItems, 1, 10);
    ItemStack iceCoreStack = new ItemStack(ModItems.baseItems, 1, 11);
    ItemStack windCoreStack = new ItemStack(ModItems.baseItems, 1, 12);
    ItemStack earthCoreStack = new ItemStack(ModItems.baseItems, 1, 13);
    ItemStack inputCableStack = new ItemStack(ModItems.baseItems, 1, 14);
    ItemStack crackedRunicPlateStack = new ItemStack(ModItems.baseItems, 1, 15);
    ItemStack runicPlateStack = new ItemStack(ModItems.baseItems, 1, 16);
    ItemStack imbuedRunicPlateStack = new ItemStack(ModItems.baseItems, 1, 17);
    ItemStack defaultCoreStack = new ItemStack(ModItems.baseItems, 1, 18);
    ItemStack offenseCoreStack = new ItemStack(ModItems.baseItems, 1, 19);
    ItemStack defensiveCoreStack = new ItemStack(ModItems.baseItems, 1, 20);
    ItemStack environmentalCoreStack = new ItemStack(ModItems.baseItems, 1, 21);
    ItemStack powerCoreStack = new ItemStack(ModItems.baseItems, 1, 22);
    ItemStack costCoreStack = new ItemStack(ModItems.baseItems, 1, 23);
    ItemStack potencyCoreStack = new ItemStack(ModItems.baseItems, 1, 24);
    ItemStack obsidianBraceStack = new ItemStack(ModItems.baseItems, 1, 25);
    ItemStack etherealSlateStack = new ItemStack(ModItems.baseItems, 1, 27);
    ItemStack lifeShardStack = new ItemStack(ModItems.baseItems, 1, 28);
    ItemStack soulShardStack = new ItemStack(ModItems.baseItems, 1, 29);
    ItemStack soulRunicPlateStack = new ItemStack(ModItems.baseItems, 1, 30);
    ItemStack livingBraceStack = new ItemStack(ModItems.baseItems, 1, 31);
    ItemStack enderShardStack = new ItemStack(ModItems.baseItems, 1, 32);
    ItemStack enderShardCraftedStack = new ItemStack(ModItems.baseItems, 8, 32);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockCrystal), "lsl", "sls", "lsl", 'l', lifeShardStack, 's', soulShardStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockCrystal, 4, 1), "ss", "ss", 's', new ItemStack(ModBlocks.blockCrystal, 1, 0));
    ItemStack magicalesCraftedCableStack = new ItemStack(ModItems.baseItems, 5, 2);
    ItemStack crackedRunicPlateStackCrafted = new ItemStack(ModItems.baseItems, 2, 15);
    GameRegistry.addRecipe(quartzRodStack, "qqq", 'q', new ItemStack(Items.quartz));
    GameRegistry.addRecipe(emptyCoreStack, "gig", "nrn", "gig", 'n', goldIngotStack, 'i', ironIngotStack, 'g', glassStack, 'r', simpleCatalystStack);
    GameRegistry.addRecipe(magicalesCraftedCableStack, "sss", "mmm", "sss", 's', new ItemStack(Items.string), 'm', magicalesStack);
    GameRegistry.addRecipe(woodBraceStack, " il", "ili", "li ", 'l', new ItemStack(Blocks.log, 1, craftingConstant), 'i', new ItemStack(Items.string));
    GameRegistry.addRecipe(stoneBraceStack, " is", "isi", "si ", 'i', ironIngotStack, 's', reinforcedSlateStack);
    GameRegistry.addRecipe(obsidianBraceStack, " is", "ibi", "si ", 'i', obsidianStack, 's', reinforcedSlateStack, 'b', stoneBraceStack);
    GameRegistry.addRecipe(livingBraceStack, " gc", "gog", "sg ", 'g', goldIngotStack, 'o', obsidianBraceStack, 'c', lifeShardStack, 's', demonSlateStack);
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(projectileCoreStack, "mbm", "aca", "mom", 'c', emptyCoreStack, 'b', weakBloodShardStack, 'm', magicalesStack, 'o', magicianBloodOrbStack, 'a', new ItemStack(Items.arrow)));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(selfCoreStack, "sbs", "ncn", "sos", 'c', emptyCoreStack, 's', sanctusStack, 'b', weakBloodShardStack, 'o', magicianBloodOrbStack, 'n', glowstoneDustStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(meleeCoreStack, "sbs", "ncn", "sos", 'c', emptyCoreStack, 's', incendiumStack, 'b', weakBloodShardStack, 'o', magicianBloodOrbStack, 'n', new ItemStack(Items.fire_charge)));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(toolCoreStack, "sbs", "ncn", "sos", 'c', emptyCoreStack, 's', terraeStack, 'b', weakBloodShardStack, 'o', magicianBloodOrbStack, 'n', new ItemStack(Blocks.obsidian)));
    GameRegistry.addRecipe(paradigmBackPlateStack, "isi", "rgr", "isi", 'i', ironIngotStack, 'r', stoneStack, 'g', goldIngotStack, 's', reinforcedSlateStack);
    GameRegistry.addRecipe(outputCableStack, " si", "s c", " si", 's', stoneStack, 'i', ironIngotStack, 'c', simpleCatalystStack);
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(flameCoreStack, "mdm", "scs", "mom", 'm', incendiumStack, 'c', emptyCoreStack, 'o', magicianBloodOrbStack, 'd', diamondStack, 's', weakBloodShardStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(iceCoreStack, "mdm", "scs", "mom", 'm', crystallosStack, 'c', emptyCoreStack, 'o', magicianBloodOrbStack, 'd', diamondStack, 's', weakBloodShardStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(windCoreStack, "mdm", "scs", "mom", 'm', aetherStack, 'c', emptyCoreStack, 'o', magicianBloodOrbStack, 'd', diamondStack, 's', weakBloodShardStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(earthCoreStack, "mdm", "scs", "mom", 'm', terraeStack, 'c', emptyCoreStack, 'o', magicianBloodOrbStack, 'd', diamondStack, 's', weakBloodShardStack));
    GameRegistry.addRecipe(inputCableStack, "ws ", "rcs", "ws ", 'w', blankSlateStack, 's', stoneStack, 'r', imbuedSlateStack, 'c', simpleCatalystStack);
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(defaultCoreStack, "msm", "geg", "mom", 'm', strengthenedCatalystStack, 'e', emptyCoreStack, 'o', magicianBloodOrbStack, 's', weakBloodShardStack, 'g', goldIngotStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(offenseCoreStack, "msm", "geg", "mom", 'm', offensaStack, 'e', emptyCoreStack, 'o', magicianBloodOrbStack, 's', weakBloodShardStack, 'g', goldIngotStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(defensiveCoreStack, "msm", "geg", "mom", 'm', praesidiumStack, 'e', emptyCoreStack, 'o', magicianBloodOrbStack, 's', weakBloodShardStack, 'g', goldIngotStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(environmentalCoreStack, "msm", "geg", "mom", 'm', orbisTerraeStack, 'e', emptyCoreStack, 'o', magicianBloodOrbStack, 's', weakBloodShardStack, 'g', goldIngotStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(powerCoreStack, "msm", "geg", "mom", 'm', virtusStack, 'e', emptyCoreStack, 'o', masterBloodOrbStack, 's', weakBloodShardStack, 'g', goldIngotStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(costCoreStack, "msm", "geg", "mom", 'm', reductusStack, 'e', emptyCoreStack, 'o', masterBloodOrbStack, 's', weakBloodShardStack, 'g', goldIngotStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(potencyCoreStack, "msm", "geg", "mom", 'm', potentiaStack, 'e', emptyCoreStack, 'o', masterBloodOrbStack, 's', weakBloodShardStack, 'g', goldIngotStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.itemHarvestSigil), "mgm", "gsg", "mom", 's', etherealSlateStack, 'o', archmageBloodOrbStack, 'g', new ItemStack(Items.golden_hoe), 'm', new ItemStack(Blocks.dirt)));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.bloodRune, 1, 5), "bsb", "grg", "bob", 's', etherealSlateStack, 'o', archmageBloodOrbStack, 'r', speedRuneStack, 'b', emptyBucketStack, 'g', goldIngotStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.itemCompressionSigil), "pop", "csc", "obo", 'b', masterBloodOrbStack, 'p', new ItemStack(Blocks.piston), 'c', new ItemStack(Blocks.crafting_table), 's', demonSlateStack, 'o', obsidianStack));
    AlchemyRecipeRegistry.registerRecipe(crackedRunicPlateStackCrafted, 10, new ItemStack[] { imbuedSlateStack, imbuedSlateStack, concentratedCatalystStack }, 4);
    AlchemyRecipeRegistry.registerRecipe(runicPlateStack, 30, new ItemStack[] { crackedRunicPlateStack, terraeStack }, 5);
    AlchemyRecipeRegistry.registerRecipe(imbuedRunicPlateStack, 100, new ItemStack[] { magicalesStack, incendiumStack, runicPlateStack, runicPlateStack, aquasalusStack }, 5);
    AlchemyRecipeRegistry.registerRecipe(complexSpellCrystalStack, 50, new ItemStack[] { new ItemStack(ModItems.blankSpell), weakBloodShardStack, weakBloodShardStack, diamondStack, goldIngotStack }, 3);
    AlchemyRecipeRegistry.registerRecipe(soulRunicPlateStack, 150, new ItemStack[] { imbuedRunicPlateStack, soulShardStack, soulShardStack, weakBloodShardStack, diamondStack }, 6);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockConduit, 1, 0), "q q", "ccc", "q q", 'q', quartzRodStack, 'c', magicalesCableStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellParadigm, 1, 0), "gb ", "pcw", "gb ", 'p', paradigmBackPlateStack, 'c', projectileCoreStack, 'g', goldIngotStack, 'b', stoneBraceStack, 'w', outputCableStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellParadigm, 1, 1), "gb ", "pcw", "gb ", 'p', paradigmBackPlateStack, 'c', selfCoreStack, 'g', goldIngotStack, 'b', stoneBraceStack, 'w', outputCableStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellParadigm, 1, 2), "gb ", "pcw", "gb ", 'p', paradigmBackPlateStack, 'c', meleeCoreStack, 'g', goldIngotStack, 'b', stoneBraceStack, 'w', outputCableStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellParadigm, 1, 3), "gb ", "pcw", "gb ", 'p', paradigmBackPlateStack, 'c', toolCoreStack, 'g', goldIngotStack, 'b', stoneBraceStack, 'w', outputCableStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEffect, 1, 0), "bgb", "ico", "bgb", 'c', flameCoreStack, 'b', stoneBraceStack, 'g', goldIngotStack, 'i', inputCableStack, 'o', outputCableStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEffect, 1, 1), "bgb", "ico", "bgb", 'c', iceCoreStack, 'b', stoneBraceStack, 'g', goldIngotStack, 'i', inputCableStack, 'o', outputCableStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEffect, 1, 2), "bgb", "ico", "bgb", 'c', windCoreStack, 'b', stoneBraceStack, 'g', goldIngotStack, 'i', inputCableStack, 'o', outputCableStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEffect, 1, 3), "bgb", "ico", "bgb", 'c', earthCoreStack, 'b', stoneBraceStack, 'g', goldIngotStack, 'i', inputCableStack, 'o', outputCableStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellModifier, 1, 0), "bgb", "ico", "bgb", 'c', defaultCoreStack, 'i', inputCableStack, 'o', outputCableStack, 'b', stoneBraceStack, 'g', ironIngotStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellModifier, 1, 1), "bgb", "ico", "bgb", 'c', offenseCoreStack, 'i', inputCableStack, 'o', outputCableStack, 'b', stoneBraceStack, 'g', ironIngotStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellModifier, 1, 2), "bgb", "ico", "bgb", 'c', defensiveCoreStack, 'i', inputCableStack, 'o', outputCableStack, 'b', stoneBraceStack, 'g', ironIngotStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellModifier, 1, 3), "bgb", "ico", "bgb", 'c', environmentalCoreStack, 'i', inputCableStack, 'o', outputCableStack, 'b', stoneBraceStack, 'g', ironIngotStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEnhancement, 1, 0), "bpb", "ico", "bpb", 'c', powerCoreStack, 'b', woodBraceStack, 'p', crackedRunicPlateStack, 'i', inputCableStack, 'o', outputCableStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEnhancement, 1, 1), "bpb", "ico", "bpb", 'c', powerCoreStack, 'b', stoneBraceStack, 'p', runicPlateStack, 'i', inputCableStack, 'o', outputCableStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEnhancement, 1, 2), "bpb", "ico", "bpb", 'c', powerCoreStack, 'b', obsidianBraceStack, 'p', imbuedRunicPlateStack, 'i', inputCableStack, 'o', outputCableStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEnhancement, 1, 3), "bpb", "ico", "bpb", 'c', powerCoreStack, 'b', livingBraceStack, 'p', soulRunicPlateStack, 'i', inputCableStack, 'o', outputCableStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEnhancement, 1, 5), "bpb", "ico", "bpb", 'c', costCoreStack, 'b', woodBraceStack, 'p', crackedRunicPlateStack, 'i', inputCableStack, 'o', outputCableStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEnhancement, 1, 6), "bpb", "ico", "bpb", 'c', costCoreStack, 'b', stoneBraceStack, 'p', runicPlateStack, 'i', inputCableStack, 'o', outputCableStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEnhancement, 1, 7), "bpb", "ico", "bpb", 'c', costCoreStack, 'b', obsidianBraceStack, 'p', imbuedRunicPlateStack, 'i', inputCableStack, 'o', outputCableStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEnhancement, 1, 8), "bpb", "ico", "bpb", 'c', costCoreStack, 'b', livingBraceStack, 'p', soulRunicPlateStack, 'i', inputCableStack, 'o', outputCableStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEnhancement, 1, 10), "bpb", "ico", "bpb", 'c', potencyCoreStack, 'b', woodBraceStack, 'p', crackedRunicPlateStack, 'i', inputCableStack, 'o', outputCableStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEnhancement, 1, 11), "bpb", "ico", "bpb", 'c', potencyCoreStack, 'b', stoneBraceStack, 'p', runicPlateStack, 'i', inputCableStack, 'o', outputCableStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEnhancement, 1, 12), "bpb", "ico", "bpb", 'c', potencyCoreStack, 'b', obsidianBraceStack, 'p', imbuedRunicPlateStack, 'i', inputCableStack, 'o', outputCableStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockSpellEnhancement, 1, 13), "bpb", "ico", "bpb", 'c', potencyCoreStack, 'b', livingBraceStack, 'p', soulRunicPlateStack, 'i', inputCableStack, 'o', outputCableStack);
    GameRegistry.addRecipe(new ItemStack(ModItems.itemAttunedCrystal), "Sr ", " ar", "s S", 'r', quartzRodStack, 's', new ItemStack(Items.stick, 1, craftingConstant), 'a', strengthenedCatalystStack, 'S', stoneStack);
    GameRegistry.addRecipe(new ItemStack(ModItems.itemTankSegmenter), "gqi", " rq", "q g", 'q', quartzRodStack, 'i', ironIngotStack, 'r', strengthenedCatalystStack, 'g', goldIngotStack);
    GameRegistry.addRecipe(new ItemStack(ModItems.itemDestinationClearer), "qcq", "c c", "qcq", 'q', quartzRodStack, 'c', simpleCatalystStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockAlchemicCalcinator), "pgp", "gsg", "ccc", 'p', crackedRunicPlateStack, 'g', glassStack, 's', strengthenedCatalystStack, 'c', cobblestoneStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockCrystalBelljar), "GGG", "GcG", "www", 'G', glassStack, 'c', concentratedCatalystStack, 'w', new ItemStack(Blocks.wooden_slab, 1, craftingConstant));
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockReagentConduit), "isi", "scs", "isi", 'c', concentratedCatalystStack, 's', stringStack, 'i', ironIngotStack);
    GameRegistry.addRecipe(new ItemStack(ModItems.ritualDismantler), "a a", " b ", 'a', Blocks.redstone_torch, 'b', ModItems.itemRitualDiviner);
    GameRegistry.addShapelessRecipe(new ItemStack(Items.dye, 5, 15), fracturedBoneStack);
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.itemSigilOfSupression), "wtl", "wvl", "wol", 'v', new ItemStack(ModItems.voidSigil), 't', new ItemStack(ModBlocks.blockTeleposer), 'o', masterBloodOrbStack, 'l', lavaBucketStack, 'w', waterBucketStack));
    GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.itemSigilOfEnderSeverance), "ptp", "ese", "pop", 's', new ItemStack(ModItems.demonicSlate), 't', weakBloodShardStack, 'o', masterBloodOrbStack, 'e', new ItemStack(Items.ender_eye), 'p', new ItemStack(Items.ender_pearl)));
    GameRegistry.addShapelessRecipe(enderShardCraftedStack, weakBloodShardStack, new ItemStack(Items.ender_pearl));
    GameRegistry.addRecipe(new ItemStack(ModItems.inputRoutingFocus), "sgs", "geg", "sgs", 'e', enderShardStack, 's', stickStack, 'g', glassStack);
    GameRegistry.addRecipe(new ItemStack(ModItems.outputRoutingFocus, 1, 0), "sgs", "geg", "sgs", 'e', enderShardStack, 's', stickStack, 'g', stoneStack);
    GameRegistry.addRecipe(new ItemStack(ModItems.outputRoutingFocus, 1, 1), "sgs", "geg", "sgs", 'e', enderShardStack, 's', stickStack, 'g', new ItemStack(Blocks.sandstone));
    GameRegistry.addRecipe(new ItemStack(ModItems.outputRoutingFocus, 1, 2), "sgs", "geg", "sgs", 'e', enderShardStack, 's', stickStack, 'g', new ItemStack(Items.dye, 1, craftingConstant));
    GameRegistry.addRecipe(new ItemStack(ModItems.outputRoutingFocus, 1, 3), "sgs", "geg", "sgs", 'e', enderShardStack, 's', stickStack, 'g', obsidianStack);
    GameRegistry.addRecipe(new ItemStack(ModItems.outputRoutingFocus, 1, 4), "sgs", "geg", "sgs", 'e', enderShardStack, 's', stickStack, 'g', stringStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockStabilityGlyph), "1s1", "grg", "bob", 'o', transcendentBloodOrbStack, 'r', bloodRuneStack, '1', crepitousStack, 'g', etherealSlateStack, 'b', praesidiumStack, 's', magicalesStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockEnchantmentGlyph, 1, 0), "1s1", "grg", "bob", 'o', transcendentBloodOrbStack, 'r', bloodRuneStack, 'g', etherealSlateStack, 'b', magicalesStack, '1', offensaStack, 's', lifeShardStack);
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockEnchantmentGlyph, 1, 1), "1s1", "grg", "bob", 'o', transcendentBloodOrbStack, 'r', bloodRuneStack, 'g', etherealSlateStack, 'b', magicalesStack, '1', virtusStack, 's', soulShardStack);
    GameRegistry.addRecipe(dawnRitualDivinerStack, " d ", "srs", " d ", 'd', new ItemStack(ModItems.dawnScribeTool), 's', etherealSlateStack, 'r', duskRitualDivinerStack);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.flint, 2, 0), 1, new ItemStack[] { new ItemStack(Blocks.gravel), new ItemStack(Items.flint) }, 1);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(Blocks.grass), 2, new ItemStack[] { new ItemStack(Blocks.dirt), new ItemStack(Items.dye, 1, 15), new ItemStack(Items.wheat_seeds), new ItemStack(Items.wheat_seeds) }, 1);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.leather, 3, 0), 2, new ItemStack[] { new ItemStack(Items.rotten_flesh), new ItemStack(Items.rotten_flesh), new ItemStack(Items.rotten_flesh), waterBucketStack, new ItemStack(Items.flint) }, 1);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.bread), 1, new ItemStack[] { new ItemStack(Items.wheat), new ItemStack(Items.sugar) }, 1);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.fire_charge, 5, 0), 3, new ItemStack[] { new ItemStack(Items.coal), new ItemStack(Items.blaze_powder), gunpowderStack }, 1);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(Blocks.sand, 2, 0), 1, new ItemStack[] { new ItemStack(Blocks.cobblestone), gunpowderStack }, 1);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(Blocks.clay, 4, 0), 2, new ItemStack[] { new ItemStack(Blocks.hardened_clay, 1, craftingConstant), new ItemStack(Blocks.hardened_clay, 1, craftingConstant), new ItemStack(Blocks.hardened_clay, 1, craftingConstant), new ItemStack(Blocks.hardened_clay, 1, craftingConstant), waterBucketStack }, 1);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.string, 4, 0), 1, new ItemStack[] { new ItemStack(Blocks.wool, 1, craftingConstant), new ItemStack(Items.flint) }, 1);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(Blocks.gravel, 2, 0), 1, new ItemStack[] { new ItemStack(Blocks.stone), gunpowderStack }, 1);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(Blocks.obsidian), 1, new ItemStack[] { waterBucketStack, lavaBucketStack }, 1);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.paper), 1, new ItemStack[] { new ItemStack(Items.reeds) }, 1);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(Blocks.soul_sand, 3, 0), 3, new ItemStack[] { new ItemStack(Blocks.sand), new ItemStack(Blocks.sand), new ItemStack(Blocks.sand), waterBucketStack, weakBloodShardStack }, 3);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(Blocks.mycelium, 1, 0), 5, new ItemStack[] { new ItemStack(Blocks.grass), new ItemStack(Blocks.brown_mushroom), new ItemStack(Blocks.red_mushroom) }, 2);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(Blocks.ice), 2, new ItemStack[] { waterBucketStack, new ItemStack(Items.snowball) }, 1);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.potionitem, 1, 0), 1, new ItemStack[] { new ItemStack(Items.glass_bottle), new ItemStack(Blocks.cactus) }, 1);
    AlchemyRecipeRegistry.registerRecipe(waterBucketStack, 1, new ItemStack[] { emptyBucketStack, new ItemStack(Blocks.cactus) }, 1);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.glass_bottle, 3), 1, new ItemStack[] { glassStack, glassStack, glassStack }, 1);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.ghast_tear, 2), 100, new ItemStack[] { ghastTearStack, concentratedCatalystStack, weakBloodShardStack, new ItemStack(Blocks.soul_sand), new ItemStack(Blocks.soul_sand) }, 5);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.coal, 5), 1, new ItemStack[] { new ItemStack(Items.coal, 1, 1), new ItemStack(Items.coal, 1, 1), new ItemStack(Items.coal, 1, 1), new ItemStack(Items.coal, 1, 1), new ItemStack(Items.coal, 1, 1) }, 1);
    AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.clay_ball, 4), 5, new ItemStack[] { new ItemStack(Blocks.sand), waterBucketStack }, 2);
    ItemIncense.registerIncenseRecipes();
    GameRegistry.addRecipe(new ItemStack(ModBlocks.blockCrucible), "i i", "sis", " S ", 's', new ItemStack(Blocks.stone_slab), 'i', ironIngotStack, 'S', stoneStack);
}
Also used : SpellHolyBlast(WayofTime.alchemicalWizardry.common.spell.simple.SpellHolyBlast) ShapedBloodOrbRecipe(WayofTime.alchemicalWizardry.api.items.ShapedBloodOrbRecipe) PotionSoulHarden(WayofTime.alchemicalWizardry.common.potion.PotionSoulHarden) SpellWindGust(WayofTime.alchemicalWizardry.common.spell.simple.SpellWindGust) ItemRitualDiviner(WayofTime.alchemicalWizardry.common.items.ItemRitualDiviner) SpellLightningBolt(WayofTime.alchemicalWizardry.common.spell.simple.SpellLightningBolt) SpellEarthBender(WayofTime.alchemicalWizardry.common.spell.simple.SpellEarthBender) PotionSoulFray(WayofTime.alchemicalWizardry.common.potion.PotionSoulFray) PotionAmphibian(WayofTime.alchemicalWizardry.common.potion.PotionAmphibian) PotionReciprocation(WayofTime.alchemicalWizardry.common.potion.PotionReciprocation) SpellFrozenWater(WayofTime.alchemicalWizardry.common.spell.simple.SpellFrozenWater) PotionFeatherFall(WayofTime.alchemicalWizardry.common.potion.PotionFeatherFall) PotionProjectileProtect(WayofTime.alchemicalWizardry.common.potion.PotionProjectileProtect) PotionDrowning(WayofTime.alchemicalWizardry.common.potion.PotionDrowning) PotionPlanarBinding(WayofTime.alchemicalWizardry.common.potion.PotionPlanarBinding) PotionDeaf(WayofTime.alchemicalWizardry.common.potion.PotionDeaf) SpellExplosions(WayofTime.alchemicalWizardry.common.spell.simple.SpellExplosions) PotionInhibit(WayofTime.alchemicalWizardry.common.potion.PotionInhibit) SpellTeleport(WayofTime.alchemicalWizardry.common.spell.simple.SpellTeleport) AlchemicalWizardryFuelHandler(WayofTime.alchemicalWizardry.common.AlchemicalWizardryFuelHandler) WeightedRandomChestContent(net.minecraft.util.WeightedRandomChestContent) PotionHeavyHeart(WayofTime.alchemicalWizardry.common.potion.PotionHeavyHeart) GuiHandler(WayofTime.alchemicalWizardry.common.tileEntity.gui.GuiHandler) PotionFireFuse(WayofTime.alchemicalWizardry.common.potion.PotionFireFuse) PotionFlight(WayofTime.alchemicalWizardry.common.potion.PotionFlight) ModLivingDropsEvent(WayofTime.alchemicalWizardry.common.ModLivingDropsEvent) SpellFireBurst(WayofTime.alchemicalWizardry.common.spell.simple.SpellFireBurst) SummoningHelperAW(WayofTime.alchemicalWizardry.common.summoning.SummoningHelperAW) PotionDemonCloak(WayofTime.alchemicalWizardry.common.potion.PotionDemonCloak) PotionFlameCloak(WayofTime.alchemicalWizardry.common.potion.PotionFlameCloak) ItemStack(net.minecraft.item.ItemStack) PotionBoost(WayofTime.alchemicalWizardry.common.potion.PotionBoost) PotionIceCloak(WayofTime.alchemicalWizardry.common.potion.PotionIceCloak) SpellWateryGrave(WayofTime.alchemicalWizardry.common.spell.simple.SpellWateryGrave) ShapelessBloodOrbRecipe(WayofTime.alchemicalWizardry.api.items.ShapelessBloodOrbRecipe) EventHandler(cpw.mods.fml.common.Mod.EventHandler)

Example 2 with ItemRitualDiviner

use of WayofTime.alchemicalWizardry.common.items.ItemRitualDiviner in project BloodMagic by WayofTime.

the class RitualDivinerRender method render.

@SubscribeEvent
public void render(RenderWorldLastEvent event) {
    Minecraft minecraft = Minecraft.getMinecraft();
    EntityClientPlayerMP player = minecraft.thePlayer;
    World world = player.worldObj;
    if (minecraft.objectMouseOver == null || minecraft.objectMouseOver.typeOfHit != MovingObjectPosition.MovingObjectType.BLOCK) {
        return;
    }
    TileEntity tileEntity = world.getTileEntity(minecraft.objectMouseOver.blockX, minecraft.objectMouseOver.blockY, minecraft.objectMouseOver.blockZ);
    if (!(tileEntity instanceof IMasterRitualStone)) {
        return;
    }
    Vector3 vec3 = new Vector3(minecraft.objectMouseOver.blockX, minecraft.objectMouseOver.blockY, minecraft.objectMouseOver.blockZ);
    double posX = player.lastTickPosX + (player.posX - player.lastTickPosX) * event.partialTicks;
    double posY = player.lastTickPosY + (player.posY - player.lastTickPosY) * event.partialTicks;
    double posZ = player.lastTickPosZ + (player.posZ - player.lastTickPosZ) * event.partialTicks;
    if (player.inventory.getCurrentItem() != null && player.inventory.getCurrentItem().getItem() instanceof ItemRitualDiviner) {
        ItemRitualDiviner ritualDiviner = (ItemRitualDiviner) player.inventory.getCurrentItem().getItem();
        int direction = ritualDiviner.getDirection(player.inventory.getCurrentItem());
        RitualEffect ritualEffect = getEffectFromString(ritualDiviner.getCurrentRitual(player.inventory.getCurrentItem()));
        if (ritualEffect == null) {
            return;
        }
        GL11.glPushMatrix();
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        for (RitualComponent ritualComponent : ritualEffect.getRitualComponentList()) {
            Vector3 vX = vec3.add(new Vector3(ritualComponent.getX(direction), ritualComponent.getY(), ritualComponent.getZ(direction)));
            double minX = vX.x - posX;
            double minY = vX.y - posY;
            double minZ = vX.z - posZ;
            if (!world.getBlock(vX.x, vX.y, vX.z).isOpaqueCube()) {
                RenderFakeBlocks.drawFakeBlock(vX, ModBlocks.ritualStone, ritualComponent.getStoneType(), minX, minY, minZ, world);
            }
        }
        GL11.glPopMatrix();
    }
}
Also used : TileEntity(net.minecraft.tileentity.TileEntity) EntityClientPlayerMP(net.minecraft.client.entity.EntityClientPlayerMP) RitualEffect(WayofTime.alchemicalWizardry.api.rituals.RitualEffect) IMasterRitualStone(WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone) RitualComponent(WayofTime.alchemicalWizardry.api.rituals.RitualComponent) Vector3(WayofTime.alchemicalWizardry.api.Vector3) World(net.minecraft.world.World) ItemRitualDiviner(WayofTime.alchemicalWizardry.common.items.ItemRitualDiviner) Minecraft(net.minecraft.client.Minecraft) SubscribeEvent(cpw.mods.fml.common.eventhandler.SubscribeEvent)

Aggregations

ItemRitualDiviner (WayofTime.alchemicalWizardry.common.items.ItemRitualDiviner)2 Vector3 (WayofTime.alchemicalWizardry.api.Vector3)1 ShapedBloodOrbRecipe (WayofTime.alchemicalWizardry.api.items.ShapedBloodOrbRecipe)1 ShapelessBloodOrbRecipe (WayofTime.alchemicalWizardry.api.items.ShapelessBloodOrbRecipe)1 IMasterRitualStone (WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone)1 RitualComponent (WayofTime.alchemicalWizardry.api.rituals.RitualComponent)1 RitualEffect (WayofTime.alchemicalWizardry.api.rituals.RitualEffect)1 AlchemicalWizardryFuelHandler (WayofTime.alchemicalWizardry.common.AlchemicalWizardryFuelHandler)1 ModLivingDropsEvent (WayofTime.alchemicalWizardry.common.ModLivingDropsEvent)1 PotionAmphibian (WayofTime.alchemicalWizardry.common.potion.PotionAmphibian)1 PotionBoost (WayofTime.alchemicalWizardry.common.potion.PotionBoost)1 PotionDeaf (WayofTime.alchemicalWizardry.common.potion.PotionDeaf)1 PotionDemonCloak (WayofTime.alchemicalWizardry.common.potion.PotionDemonCloak)1 PotionDrowning (WayofTime.alchemicalWizardry.common.potion.PotionDrowning)1 PotionFeatherFall (WayofTime.alchemicalWizardry.common.potion.PotionFeatherFall)1 PotionFireFuse (WayofTime.alchemicalWizardry.common.potion.PotionFireFuse)1 PotionFlameCloak (WayofTime.alchemicalWizardry.common.potion.PotionFlameCloak)1 PotionFlight (WayofTime.alchemicalWizardry.common.potion.PotionFlight)1 PotionHeavyHeart (WayofTime.alchemicalWizardry.common.potion.PotionHeavyHeart)1 PotionIceCloak (WayofTime.alchemicalWizardry.common.potion.PotionIceCloak)1