/** * This class was created by . It's distributed as * part of the Botania Mod. Get the Source Code in github: * https://github.com/Vazkii/Botania * * Botania is Open Source and distributed under a * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) * * File Created @ [Jan 19, 2014, 3:54:48 PM (GMT)] */ package vazkii.botania.common.crafting; import java.util.List; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.CraftingManager; import net.minecraft.item.crafting.IRecipe; import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe; import vazkii.botania.api.BotaniaAPI; import vazkii.botania.common.Botania; import vazkii.botania.common.block.ModBlocks; import vazkii.botania.common.core.handler.ConfigHandler; import vazkii.botania.common.item.ItemLens; import vazkii.botania.common.item.ItemSignalFlare; import vazkii.botania.common.item.ItemTwigWand; import vazkii.botania.common.item.ModItems; import vazkii.botania.common.lib.LibOreDict; import cpw.mods.fml.common.registry.GameRegistry; public final class ModCraftingRecipes { public static IRecipe recipeLexicon; public static List recipesPetals; public static List recipesDyes; public static IRecipe recipePestleAndMortar; public static List recipesTwigWand; public static List recipesApothecary; public static List recipesSpreader; public static IRecipe recipeManaLens; public static List recipesLensDying; public static IRecipe recipeRainbowLens; public static IRecipe recipePool; public static List recipesRuneAltar; public static IRecipe recipeLensVelocity; public static IRecipe recipeLensPotency; public static IRecipe recipeLensResistance; public static IRecipe recipeLensEfficiency; public static IRecipe recipeLensBounce; public static IRecipe recipeLensGravity; public static IRecipe recipeLensBore; public static IRecipe recipeLensDamaging; public static IRecipe recipeLensPhantom; public static IRecipe recipeLensMagnet; public static IRecipe recipeLensExplosive; public static List recipesUnstableBlocks; public static IRecipe recipePylon; public static IRecipe recipeDistributor; public static IRecipe recipeLivingrockDecor1; public static IRecipe recipeLivingrockDecor2; public static IRecipe recipeLivingrockDecor3; public static IRecipe recipeLivingrockDecor4; public static IRecipe recipeLivingwoodDecor1; public static IRecipe recipeLivingwoodDecor2; public static IRecipe recipeLivingwoodDecor3; public static IRecipe recipeLivingwoodDecor4; public static IRecipe recipeLivingwoodDecor5; public static List recipesManaBeacons; public static List recipesSignalFlares; public static IRecipe recipeManaVoid; public static List recipesManaTablet; public static IRecipe recipeManaDetector; public static IRecipe recipeManaBlaster; public static IRecipe recipeTurntable; public static IRecipe recipeFertilizerPowder; public static IRecipe recipeFerilizerDye; public static IRecipe recipeLivingwoodTwig; public static IRecipe recipeDirtRod; public static IRecipe recipeTerraformRod; public static IRecipe recipeRedstoneSpreader; public static IRecipe recipeManaMirror; public static IRecipe recipeManasteelHelm; public static IRecipe recipeManasteelChest; public static IRecipe recipeManasteelLegs; public static IRecipe recipeManasteelBoots; public static IRecipe recipeManasteelPick; public static IRecipe recipeManasteelShovel; public static IRecipe recipeManasteelAxe; public static IRecipe recipeManasteelShears; public static IRecipe recipeManasteelSword; public static IRecipe recipeGrassHorn; public static IRecipe recipeTerrasteelHelm; public static IRecipe recipeTerrasteelChest; public static IRecipe recipeTerrasteelLegs; public static IRecipe recipeTerrasteelBoots; public static IRecipe recipeTerraSword; public static IRecipe recipeTinyPlanet; public static IRecipe recipeManaRing; public static IRecipe recipeAuraRing; public static IRecipe recipeGreaterManaRing; public static IRecipe recipeGreaterAuraRing; public static IRecipe recipeTravelBelt; public static IRecipe recipeKnocbackBelt; public static IRecipe recipeIcePendant; public static IRecipe recipeFirePendant; public static IRecipe recipeGoldenLaurel; public static IRecipe recipeTinyPlanetBlock; public static IRecipe recipeAlchemyCatalyst; public static IRecipe recipeOpenCrate; public static IRecipe recipeForestEye; public static IRecipe recipeRedstoneRoot; public static IRecipe recipeForestDrum; public static IRecipe recipeWaterRing; public static IRecipe recipeMiningRing; public static IRecipe recipeMagnetRing; public static IRecipe recipeTerraPick; public static IRecipe recipeDivaCharm; public static IRecipe recipeFlightTiara; public static List recipesShinyFlowers; public static IRecipe recipePlatform; public static IRecipe recipeEnderDagger; public static IRecipe recipeDarkQuartz; public static IRecipe recipeBlazeQuartz; public static List recipesLavenderQuartz; public static IRecipe recipeRedQuartz; public static IRecipe recipeAlfPortal; public static IRecipe recipeNaturaPylon; public static IRecipe recipeWaterRod; public static IRecipe recipeElementiumHelm; public static IRecipe recipeElementiumChest; public static IRecipe recipeElementiumLegs; public static IRecipe recipeElementiumBoots; public static IRecipe recipeElementiumPick; public static IRecipe recipeElementiumShovel; public static IRecipe recipeElementiumAxe; public static IRecipe recipeElementiumShears; public static IRecipe recipeElementiumSword; public static IRecipe recipeOpenBucket; public static IRecipe recipeConjurationCatalyst; public static IRecipe recipeSpawnerMover; public static IRecipe recipePixieRing; public static IRecipe recipeSuperTravelBelt; public static IRecipe recipeRainbowRod; public static IRecipe recipeSpectralPlatform; public static List recipesDreamwoodSpreader; public static IRecipe recipeTornadoRod; public static IRecipe recipeFireRod; public static IRecipe recipeVineBall; public static IRecipe recipeSlingshot; public static IRecipe recipePrismarine; public static IRecipe recipePrismarineBrick; public static IRecipe recipeDarkPrismarine; public static IRecipe recipeSeaLamp; public static IRecipe recipeLensInfluence; public static IRecipe recipeLensWeight; public static IRecipe recipeLensPaint; public static List recipesMiniIsland; public static IRecipe recipeGaiaPylon; public static IRecipe recipeGatherDrum; public static IRecipe recipeLensFire; public static IRecipe recipeLensPiston; public static List recipesLaputaShard; public static List recipesLaputaShardUpgrade; public static IRecipe recipeVirusZombie; public static IRecipe recipeVirusSkeleton; public static IRecipe recipeReachRing; public static IRecipe recipeSkyDirtRod; public static IRecipe recipeSpawnerClaw; public static IRecipe recipeCraftCrate; public static IRecipe recipePlaceholder; public static IRecipe recipeReedBlock; public static IRecipe recipeThatch; public static IRecipe recipeNetherBrick; public static IRecipe recipeSoulBrick; public static IRecipe recipeSnowBrick; public static IRecipe recipeRoofTile; public static IRecipe recipeAzulejo; public static List recipesAzulejoCycling; public static IRecipe recipeEnderEyeBlock; public static IRecipe recipeItemFinder; public static IRecipe recipeSuperLavaPendant; public static IRecipe recipeEnderHand; public static IRecipe recipeGlassPick; public static IRecipe recipeStarfield; public static List recipesSpark; public static List recipesSparkUpgrades; public static IRecipe recipeLeafHorn; public static IRecipe recipeDiviningRod; public static List recipesWings; public static IRecipe recipeRFGenerator; public static IRecipe recipeGravityRod; public static IRecipe recipeRegenIvy; public static IRecipe recipeUltraSpreader; public static IRecipe recipeHelmetOfRevealing; public static IRecipe recipeVial; public static IRecipe recipeFlask; public static IRecipe recipeBrewery; public static IRecipe recipeBloodPendant; public static IRecipe recipeTerraPlate; public static void init() { // Lexicon Recipe addShapelessOreDictRecipe(new ItemStack(ModItems.lexicon), "treeSapling", Items.book); recipeLexicon = BotaniaAPI.getLatestAddedRecipe(); // Petal/Dye Recipes for(int i = 0; i < 16; i++) addShapelessOreDictRecipe(new ItemStack(ModItems.petal, 2, i), LibOreDict.FLOWER[i]); recipesPetals = BotaniaAPI.getLatestAddedRecipes(16); for(int i = 0; i < 16; i++) addShapelessOreDictRecipe(new ItemStack(ModItems.dye, 1, i), LibOreDict.PETAL[i], LibOreDict.PESTLE_AND_MORTAR); recipesDyes = BotaniaAPI.getLatestAddedRecipes(16); // Pestle and Mortar Recipe addOreDictRecipe(new ItemStack(ModItems.pestleAndMortar), " S", "W ", "B ", 'S', "stickWood", 'W', "plankWood", 'B', Items.bowl); recipePestleAndMortar = BotaniaAPI.getLatestAddedRecipe(); // Wand of the Forest Recipes for(int i = 0; i < 16; i++) for(int j = 0; j < 16; j++) { addOreDictRecipe(ItemTwigWand.forColors(i, j), " AS", " SB", "S ", 'A', LibOreDict.PETAL[i], 'B', LibOreDict.PETAL[j], 'S', LibOreDict.LIVINGWOOD_TWIG); } recipesTwigWand = BotaniaAPI.getLatestAddedRecipes(256); // Petal Apothecary Recipes for(int i = 0; i < 16; i++) addOreDictRecipe(new ItemStack(ModBlocks.altar), "SPS", " C ", "CCC", 'S', new ItemStack(Blocks.stone_slab, 1, 3), 'P', LibOreDict.PETAL[i], 'C', "cobblestone"); recipesApothecary = BotaniaAPI.getLatestAddedRecipes(16); // Mana Spreader Recipes for(int i = 0; i < 16; i++) addOreDictRecipe(new ItemStack(ModBlocks.spreader), "WWW", "GP ", "WWW", 'W', LibOreDict.LIVING_WOOD, 'P', LibOreDict.PETAL[i], 'G', "ingotGold"); recipesSpreader = BotaniaAPI.getLatestAddedRecipes(16); // Mana Lens Recipe addOreDictRecipe(new ItemStack(ModItems.lens), " S ", "SGS", " S ", 'S', LibOreDict.MANA_STEEL, 'G', new ItemStack(Blocks.glass_pane)); recipeManaLens = BotaniaAPI.getLatestAddedRecipe(); // Mana Lens Dying Recipes for(int j = 0; j < 16; j++) addShapelessOreDictRecipe(ItemLens.setLensColor(new ItemStack(ModItems.lens), j), new ItemStack(ModItems.lens), LibOreDict.DYE[j]); recipesLensDying = BotaniaAPI.getLatestAddedRecipes(16); for(int i = 1; i < ItemLens.SUBTYPES; i++) for(int j = 0; j < 16; j++) addShapelessOreDictRecipe(ItemLens.setLensColor(new ItemStack(ModItems.lens, 1, i), j), new ItemStack(ModItems.lens, 1, i), LibOreDict.DYE[j]); // Rainbow Lens Recipe addShapelessOreDictRecipe(ItemLens.setLensColor(new ItemStack(ModItems.lens), 16), new ItemStack(ModItems.lens), LibOreDict.MANA_PEARL); recipeRainbowLens = BotaniaAPI.getLatestAddedRecipe(); for(int i = 1; i < ItemLens.SUBTYPES; i++) addShapelessOreDictRecipe(ItemLens.setLensColor(new ItemStack(ModItems.lens, 1, i), 16), new ItemStack(ModItems.lens, 1, i), LibOreDict.MANA_PEARL); // Mana Pool Recipe addOreDictRecipe(new ItemStack(ModBlocks.pool, 1, 2), "R R", "RRR", 'R', LibOreDict.LIVING_ROCK); recipePool = BotaniaAPI.getLatestAddedRecipe(); // Runic Altar Recipe addOreDictRecipe(new ItemStack(ModBlocks.runeAltar), "SSS", "SPS", 'S', LibOreDict.LIVING_ROCK, 'P', LibOreDict.MANA_PEARL); addOreDictRecipe(new ItemStack(ModBlocks.runeAltar), "SSS", "SDS", 'S', LibOreDict.LIVING_ROCK, 'D', LibOreDict.MANA_DIAMOND); recipesRuneAltar = BotaniaAPI.getLatestAddedRecipes(2); // Lens Recipes addShapelessOreDictRecipe(new ItemStack(ModItems.lens, 1, 1), new ItemStack(ModItems.lens), LibOreDict.RUNE[3]); recipeLensVelocity = BotaniaAPI.getLatestAddedRecipe(); addShapelessOreDictRecipe(new ItemStack(ModItems.lens, 1, 2), new ItemStack(ModItems.lens), LibOreDict.RUNE[1]); recipeLensPotency = BotaniaAPI.getLatestAddedRecipe(); addShapelessOreDictRecipe(new ItemStack(ModItems.lens, 1, 3), new ItemStack(ModItems.lens), LibOreDict.RUNE[2]); recipeLensResistance = BotaniaAPI.getLatestAddedRecipe(); addShapelessOreDictRecipe(new ItemStack(ModItems.lens, 1, 4), new ItemStack(ModItems.lens), LibOreDict.RUNE[0]); recipeLensEfficiency = BotaniaAPI.getLatestAddedRecipe(); addShapelessOreDictRecipe(new ItemStack(ModItems.lens, 1, 5), new ItemStack(ModItems.lens), LibOreDict.RUNE[5]); recipeLensBounce = BotaniaAPI.getLatestAddedRecipe(); addShapelessOreDictRecipe(new ItemStack(ModItems.lens, 1, 6), new ItemStack(ModItems.lens), LibOreDict.RUNE[7]); recipeLensGravity = BotaniaAPI.getLatestAddedRecipe(); addShapelessOreDictRecipe(new ItemStack(ModItems.lens, 1, 7), new ItemStack(ModItems.lens), LibOreDict.RUNE[11]); recipeLensBore = BotaniaAPI.getLatestAddedRecipe(); addShapelessOreDictRecipe(new ItemStack(ModItems.lens, 1, 8), new ItemStack(ModItems.lens), LibOreDict.RUNE[13]); recipeLensDamaging = BotaniaAPI.getLatestAddedRecipe(); addShapelessOreDictRecipe(new ItemStack(ModItems.lens, 1, 9), new ItemStack(ModItems.lens), new ItemStack(ModBlocks.platform)); recipeLensPhantom = BotaniaAPI.getLatestAddedRecipe(); addShapelessOreDictRecipe(new ItemStack(ModItems.lens, 1, 10), new ItemStack(ModItems.lens), "ingotIron", "ingotGold"); recipeLensMagnet = BotaniaAPI.getLatestAddedRecipe(); addShapelessOreDictRecipe(new ItemStack(ModItems.lens, 1, 11), new ItemStack(ModItems.lens), LibOreDict.RUNE[14]); recipeLensExplosive = BotaniaAPI.getLatestAddedRecipe(); // Unstable Block Recipes for(int i = 0; i < 16; i++) addOreDictRecipe(new ItemStack(ModBlocks.unstableBlock, 2, i), "OPO", "PMP", "OPO", 'O', new ItemStack(Blocks.obsidian), 'P', LibOreDict.PETAL[i], 'M', new ItemStack(Items.ender_pearl)); recipesUnstableBlocks = BotaniaAPI.getLatestAddedRecipes(16); // Mana Pylon Recipe addOreDictRecipe(new ItemStack(ModBlocks.pylon), " G ", "MDM", " G ", 'G', "ingotGold", 'M', LibOreDict.MANA_STEEL, 'D', LibOreDict.MANA_DIAMOND); recipePylon = BotaniaAPI.getLatestAddedRecipe(); // Mana Distributor addOreDictRecipe(new ItemStack(ModBlocks.distributor), "RRR", "S S", "RRR", 'R', LibOreDict.LIVING_ROCK, 'S', LibOreDict.MANA_STEEL); recipeDistributor = BotaniaAPI.getLatestAddedRecipe(); // Livingrock Decorative Blocks addOreDictRecipe(new ItemStack(ModBlocks.livingrock, 4, 1), "RR", "RR", 'R', LibOreDict.LIVING_ROCK); recipeLivingrockDecor1 = BotaniaAPI.getLatestAddedRecipe(); addShapelessOreDictRecipe(new ItemStack(ModBlocks.livingrock, 1, 2), new ItemStack(ModBlocks.livingrock, 1, 1), new ItemStack(Items.wheat_seeds)); recipeLivingrockDecor2 = BotaniaAPI.getLatestAddedRecipe(); addShapelessOreDictRecipe(new ItemStack(ModBlocks.livingrock, 2, 3), new ItemStack(ModBlocks.livingrock, 1, 1), "cobblestone"); recipeLivingrockDecor3 = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModBlocks.livingrock, 4, 4), "RR", "RR", 'R', new ItemStack(ModBlocks.livingrock, 1, 1)); recipeLivingrockDecor4 = BotaniaAPI.getLatestAddedRecipe(); // Livingwood Decorative Blocks addShapelessOreDictRecipe(new ItemStack(ModBlocks.livingwood, 4, 1), LibOreDict.LIVING_WOOD); recipeLivingwoodDecor1 = BotaniaAPI.getLatestAddedRecipe(); addShapelessOreDictRecipe(new ItemStack(ModBlocks.livingwood, 1, 2), new ItemStack(ModBlocks.livingwood, 1, 1), new ItemStack(Items.wheat_seeds)); recipeLivingwoodDecor2 = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModBlocks.livingwood, 4, 3), "WW", "WW", 'W', new ItemStack(ModBlocks.livingwood, 1, 1)); recipeLivingwoodDecor3 = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModBlocks.livingwood, 4, 4), " W ", "W W", " W ", 'W', new ItemStack(ModBlocks.livingwood, 1, 1)); recipeLivingwoodDecor4 = BotaniaAPI.getLatestAddedRecipe(); addShapelessOreDictRecipe(new ItemStack(ModBlocks.livingwood, 1, 5), LibOreDict.LIVING_WOOD, new ItemStack(Items.glowstone_dust)); recipeLivingwoodDecor5 = BotaniaAPI.getLatestAddedRecipe(); // Dreamwood Decorative Blocks addShapelessOreDictRecipe(new ItemStack(ModBlocks.dreamwood, 4, 1), LibOreDict.DREAM_WOOD); addShapelessOreDictRecipe(new ItemStack(ModBlocks.dreamwood, 1, 2), new ItemStack(ModBlocks.dreamwood, 1, 1), new ItemStack(Items.wheat_seeds)); addOreDictRecipe(new ItemStack(ModBlocks.dreamwood, 4, 3), "WW", "WW", 'W', new ItemStack(ModBlocks.dreamwood, 1, 1)); addOreDictRecipe(new ItemStack(ModBlocks.dreamwood, 4, 4), " W ", "W W", " W ", 'W', new ItemStack(ModBlocks.dreamwood, 1, 1)); addShapelessOreDictRecipe(new ItemStack(ModBlocks.dreamwood, 1, 5), LibOreDict.DREAM_WOOD, new ItemStack(Items.glowstone_dust)); // Mana Beacon Recipe for(int i = 0; i < 16; i++) addOreDictRecipe(new ItemStack(ModBlocks.manaBeacon, 1, i), " B ", "BPB", " B ", 'B', new ItemStack(ModBlocks.unstableBlock, 1, i), 'P', LibOreDict.MANA_PEARL); recipesManaBeacons = BotaniaAPI.getLatestAddedRecipes(16); // Signal Flare Recipe for(int i = 0; i < 16; i++) addOreDictRecipe(ItemSignalFlare.forColor(i), "I ", " B", "W ", 'B', new ItemStack(ModBlocks.manaBeacon, 1, i), 'I', "ingotIron", 'W', LibOreDict.LIVING_WOOD); recipesSignalFlares = BotaniaAPI.getLatestAddedRecipes(16); // Mana Void Recipe addOreDictRecipe(new ItemStack(ModBlocks.manaVoid), "SSS", "O O", "SSS", 'S', LibOreDict.LIVING_ROCK, 'O', new ItemStack(Blocks.obsidian)); recipeManaVoid = BotaniaAPI.getLatestAddedRecipe(); // Mana Tablet Recipe addOreDictRecipe(new ItemStack(ModItems.manaTablet, 1, 10000), "SSS", "SPS", "SSS", 'S', LibOreDict.LIVING_ROCK, 'P', LibOreDict.MANA_PEARL); addOreDictRecipe(new ItemStack(ModItems.manaTablet, 1, 10000), "SSS", "SDS", "SSS", 'S', LibOreDict.LIVING_ROCK, 'D', LibOreDict.MANA_DIAMOND); recipesManaTablet = BotaniaAPI.getLatestAddedRecipes(2); // Mana Detector Recipe addOreDictRecipe(new ItemStack(ModBlocks.manaDetector), "RSR", "SCS", "RSR", 'R', new ItemStack(Items.redstone), 'C', new ItemStack(Items.comparator), 'S', LibOreDict.LIVING_ROCK); recipeManaDetector = BotaniaAPI.getLatestAddedRecipe(); // Mana Blaster Recipe addOreDictRecipe(new ItemStack(ModItems.manaGun), "SMD", " WT", " W", 'S', new ItemStack(ModBlocks.spreader, 1, 1), 'M', LibOreDict.RUNE[8], 'D', LibOreDict.MANA_DIAMOND, 'T', new ItemStack(Blocks.tnt), 'W', LibOreDict.LIVING_WOOD); recipeManaBlaster = BotaniaAPI.getLatestAddedRecipe(); // Spreader Turntable Recipe addOreDictRecipe(new ItemStack(ModBlocks.turntable), "WWW", "WPW", "WWW", 'W', LibOreDict.LIVING_WOOD, 'P', Blocks.sticky_piston); recipeTurntable = BotaniaAPI.getLatestAddedRecipe(); // Fertilizer Recipes GameRegistry.addShapelessRecipe(new ItemStack(ModItems.fertilizer), new ItemStack(Items.dye, 1, 15), new ItemStack(ModItems.dye, 1, Short.MAX_VALUE), new ItemStack(ModItems.dye, 1, Short.MAX_VALUE), new ItemStack(ModItems.dye, 1, Short.MAX_VALUE), new ItemStack(ModItems.dye, 1, Short.MAX_VALUE)); recipeFertilizerPowder = BotaniaAPI.getLatestAddedRecipe(); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.fertilizer), new ItemStack(Items.dye, 1, 15), new ItemStack(Items.dye, 1, 11), new ItemStack(Items.dye, 1, 11), new ItemStack(Items.dye, 1, 1), new ItemStack(Items.dye, 1, 1)); recipeFerilizerDye = BotaniaAPI.getLatestAddedRecipe(); // Livingwood Twig Recipe addOreDictRecipe(new ItemStack(ModItems.manaResource, 1, 3), "W", "W", 'W', LibOreDict.LIVING_WOOD); recipeLivingwoodTwig = BotaniaAPI.getLatestAddedRecipe(); // Rod of the Lands Recipe addOreDictRecipe(new ItemStack(ModItems.dirtRod), " D", " T ", "E ", 'D', new ItemStack(Blocks.dirt), 'T', LibOreDict.LIVINGWOOD_TWIG, 'E', LibOreDict.RUNE[2]); recipeDirtRod = BotaniaAPI.getLatestAddedRecipe(); // Terra Firma Rod Recipe addOreDictRecipe(new ItemStack(ModItems.terraformRod), " WT", "ARS", "GM ", 'T', LibOreDict.TERRA_STEEL, 'R', new ItemStack(ModItems.dirtRod), 'G', new ItemStack(ModItems.grassSeeds), 'W', LibOreDict.RUNE[7], 'S', LibOreDict.RUNE[4], 'M', LibOreDict.RUNE[5], 'A', LibOreDict.RUNE[6]); recipeTerraformRod = BotaniaAPI.getLatestAddedRecipe(); // Redstone Mana Spreader Recipe GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.spreader, 1, 1), new ItemStack(ModBlocks.spreader), new ItemStack(Items.redstone)); recipeRedstoneSpreader = BotaniaAPI.getLatestAddedRecipe(); // Mana Miror Recipe addOreDictRecipe(new ItemStack(ModItems.manaMirror), " PR", " SI", "T ", 'P', LibOreDict.MANA_PEARL, 'R', LibOreDict.LIVING_ROCK, 'S', LibOreDict.LIVINGWOOD_TWIG, 'I', LibOreDict.TERRA_STEEL, 'T', new ItemStack(ModItems.manaTablet, 1, Short.MAX_VALUE)); recipeManaMirror = BotaniaAPI.getLatestAddedRecipe(); // Mana Armor & Tools Recipes addOreDictRecipe(new ItemStack(ModItems.manasteelHelm), "SSS", "S S", 'S', LibOreDict.MANA_STEEL); recipeManasteelHelm = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModItems.manasteelChest), "S S", "SSS", "SSS", 'S', LibOreDict.MANA_STEEL); recipeManasteelChest = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModItems.manasteelLegs), "SSS", "S S", "S S", 'S', LibOreDict.MANA_STEEL); recipeManasteelLegs = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModItems.manasteelBoots), "S S", "S S", 'S', LibOreDict.MANA_STEEL); recipeManasteelBoots = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModItems.manasteelPick), "SSS", " T ", " T ", 'S', LibOreDict.MANA_STEEL, 'T', LibOreDict.LIVINGWOOD_TWIG); recipeManasteelPick = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModItems.manasteelShovel), "S", "T", "T", 'S', LibOreDict.MANA_STEEL, 'T', LibOreDict.LIVINGWOOD_TWIG); recipeManasteelShovel = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModItems.manasteelAxe), "SS", "TS", "T ", 'S', LibOreDict.MANA_STEEL, 'T', LibOreDict.LIVINGWOOD_TWIG); recipeManasteelAxe = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModItems.manasteelSword), "S", "S", "T", 'S', LibOreDict.MANA_STEEL, 'T', LibOreDict.LIVINGWOOD_TWIG); recipeManasteelSword = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModItems.manasteelShears), "S ", " S", 'S', LibOreDict.MANA_STEEL); recipeManasteelShears = BotaniaAPI.getLatestAddedRecipe(); // Horn of the Wild Recipe addOreDictRecipe(new ItemStack(ModItems.grassHorn), " W ", "WSW", "WW ", 'W', LibOreDict.LIVING_WOOD, 'S', new ItemStack(ModItems.grassSeeds)); recipeGrassHorn = BotaniaAPI.getLatestAddedRecipe(); // Terrasteel Armor Recipes addOreDictRecipe(new ItemStack(ModItems.terrasteelHelm), "SSS", "S S", 'S', LibOreDict.TERRA_STEEL); recipeTerrasteelHelm = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModItems.terrasteelChest), "S S", "SSS", "SSS", 'S', LibOreDict.TERRA_STEEL); recipeTerrasteelChest = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModItems.terrasteelLegs), "SSS", "S S", "S S", 'S', LibOreDict.TERRA_STEEL); recipeTerrasteelLegs = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModItems.terrasteelBoots), "S S", "S S", 'S', LibOreDict.TERRA_STEEL); recipeTerrasteelBoots = BotaniaAPI.getLatestAddedRecipe(); // Terra Blade Recipe addOreDictRecipe(new ItemStack(ModItems.terraSword), "I", "I", "S", 'I', LibOreDict.TERRA_STEEL, 'S', LibOreDict.LIVINGWOOD_TWIG); recipeTerraSword = BotaniaAPI.getLatestAddedRecipe(); // Tiny Planet Recipe addOreDictRecipe(new ItemStack(ModItems.tinyPlanet), "LSL", "SPS", "LSL", 'S', "stone", 'L', LibOreDict.LIVING_ROCK, 'P', LibOreDict.MANA_PEARL); recipeTinyPlanet = BotaniaAPI.getLatestAddedRecipe(); // Mana Band Recipe addOreDictRecipe(new ItemStack(ModItems.manaRing), "TI ", "I I", " I ", 'T', new ItemStack(ModItems.manaTablet, 1, Short.MAX_VALUE), 'I', LibOreDict.MANA_STEEL); recipeManaRing = BotaniaAPI.getLatestAddedRecipe(); // Aura Band Recipe addOreDictRecipe(new ItemStack(ModItems.auraRing), "RI ", "I I", " I ", 'R', LibOreDict.RUNE[8], 'I', LibOreDict.MANA_STEEL); recipeAuraRing = BotaniaAPI.getLatestAddedRecipe(); // Greater Mana Band Recipe addOreDictRecipe(new ItemStack(ModItems.manaRingGreater), "IRI", 'I', LibOreDict.TERRA_STEEL, 'R', new ItemStack(ModItems.manaRing)); recipeGreaterManaRing = BotaniaAPI.getLatestAddedRecipe(); // Greater Aura Band Recipe addOreDictRecipe(new ItemStack(ModItems.auraRingGreater), "IRI", 'I', LibOreDict.TERRA_STEEL, 'R', new ItemStack(ModItems.auraRing)); recipeGreaterAuraRing = BotaniaAPI.getLatestAddedRecipe(); // Soujourner's Belt Recipe addOreDictRecipe(new ItemStack(ModItems.travelBelt), "EL ", "L L", "SLA", 'E', LibOreDict.RUNE[2], 'A', LibOreDict.RUNE[3], 'S', LibOreDict.MANA_STEEL, 'L', new ItemStack(Items.leather)); recipeTravelBelt = BotaniaAPI.getLatestAddedRecipe(); // Tectonic Girdle Recipe addOreDictRecipe(new ItemStack(ModItems.knockbackBelt), "AL ", "L L", "SLE", 'E', LibOreDict.RUNE[2], 'A', LibOreDict.RUNE[1], 'S', LibOreDict.MANA_STEEL, 'L', new ItemStack(Items.leather)); recipeKnocbackBelt = BotaniaAPI.getLatestAddedRecipe(); // Snowflake Pendant Recipe addOreDictRecipe(new ItemStack(ModItems.icePendant), "WS ", "S S", "MSR", 'S', new ItemStack(Items.string), 'M', LibOreDict.MANA_STEEL, 'R', LibOreDict.RUNE[0], 'W', LibOreDict.RUNE[7]); recipeIcePendant = BotaniaAPI.getLatestAddedRecipe(); // Pyroclast Pendant Recipe addOreDictRecipe(new ItemStack(ModItems.lavaPendant), "MS ", "S S", "DSF", 'S', new ItemStack(Items.string), 'D', LibOreDict.MANA_STEEL, 'M', LibOreDict.RUNE[5], 'F', LibOreDict.RUNE[1]); recipeFirePendant = BotaniaAPI.getLatestAddedRecipe(); // Golden Laurel Crown Recipe addOreDictRecipe(new ItemStack(ModItems.goldLaurel), "G G", "LEL", "LLL", 'G', "ingotGold", 'L', "treeLeaves", 'E', LibOreDict.LIFE_ESSENCE); recipeGoldenLaurel = BotaniaAPI.getLatestAddedRecipe(); // Tiny Planet Block Recipe addOreDictRecipe(new ItemStack(ModBlocks.tinyPlanet), "SSS", "SPS", "SSS", 'S', "stone", 'P', ModItems.tinyPlanet); recipeTinyPlanetBlock = BotaniaAPI.getLatestAddedRecipe(); // Alchemy Catalyst Recipe addOreDictRecipe(new ItemStack(ModBlocks.alchemyCatalyst), "SGS", "BPB", "SGS", 'S', LibOreDict.LIVING_ROCK, 'G', "ingotGold", 'B', new ItemStack(Items.brewing_stand), 'P', LibOreDict.MANA_PEARL); recipeAlchemyCatalyst = BotaniaAPI.getLatestAddedRecipe(); // Open Crate Recipe GameRegistry.addRecipe(new ItemStack(ModBlocks.openCrate), "WWW", "W W", "W W", 'W', new ItemStack(ModBlocks.livingwood, 1, 1)); recipeOpenCrate = BotaniaAPI.getLatestAddedRecipe(); // Eye of the Ancients Recipe addOreDictRecipe(new ItemStack(ModBlocks.forestEye), "MSM", "SES", "MSM", 'M', LibOreDict.MANA_STEEL, 'S', LibOreDict.LIVING_ROCK, 'E', new ItemStack(Items.ender_eye)); recipeForestEye = BotaniaAPI.getLatestAddedRecipe(); // Redstone Root Recipe GameRegistry.addShapelessRecipe(new ItemStack(ModItems.manaResource, 1, 6), new ItemStack(Items.redstone), new ItemStack(Blocks.tallgrass, 1, 1)); recipeRedstoneRoot = BotaniaAPI.getLatestAddedRecipe(); // Drum of the Wild Recipe addOreDictRecipe(new ItemStack(ModBlocks.forestDrum), "WLW", "WHW", "WLW", 'W', LibOreDict.LIVING_WOOD, 'L', new ItemStack(Items.leather), 'H', new ItemStack(ModItems.grassHorn)); recipeForestDrum = BotaniaAPI.getLatestAddedRecipe(); // Ring of Chordata Recipe addOreDictRecipe(new ItemStack(ModItems.waterRing), "WMP", "M M", "SM ", 'W', LibOreDict.RUNE[0], 'M', LibOreDict.MANA_STEEL, 'P', new ItemStack(Items.fish, 1, 3), 'S', new ItemStack(Items.fish, 1, 1)); recipeWaterRing = BotaniaAPI.getLatestAddedRecipe(); // Ring of the Mantle Recipe addOreDictRecipe(new ItemStack(ModItems.miningRing), "EMP", "M M", " M ", 'E', LibOreDict.RUNE[2], 'M', LibOreDict.MANA_STEEL, 'P', new ItemStack(Items.golden_pickaxe)); recipeMiningRing = BotaniaAPI.getLatestAddedRecipe(); // Ring of Magnetization Recipe addOreDictRecipe(new ItemStack(ModItems.magnetRing), "LM ", "M M", " M ", 'L', new ItemStack(ModItems.lens, 1, 10), 'M', LibOreDict.MANA_STEEL); recipeMagnetRing = BotaniaAPI.getLatestAddedRecipe(); // Terra Shatterer Recipe addOreDictRecipe(new ItemStack(ModItems.terraPick), "ITI", "ILI", " L ", 'T', new ItemStack(ModItems.manaTablet, 1, Short.MAX_VALUE), 'I', LibOreDict.TERRA_STEEL, 'L', LibOreDict.LIVINGWOOD_TWIG); recipeTerraPick = BotaniaAPI.getLatestAddedRecipe(); // Charm of the Diva Recipe addOreDictRecipe(new ItemStack(ModItems.divaCharm), "LGP", " HG", " GL", 'L', LibOreDict.LIFE_ESSENCE, 'G', "ingotGold", 'H', LibOreDict.RUNE[15], 'P', new ItemStack(ModItems.tinyPlanet)); recipeDivaCharm = BotaniaAPI.getLatestAddedRecipe(); // Flugel Tiara Recipe addOreDictRecipe(new ItemStack(ModItems.flightTiara), "LLL", "ILI", "FIF", 'L', LibOreDict.LIFE_ESSENCE, 'I', LibOreDict.ELEMENTIUM, 'F', new ItemStack(Items.feather)); recipeFlightTiara = BotaniaAPI.getLatestAddedRecipe(); // Glimmering Flowers Recipes for(int i = 0; i < 16; i++) addShapelessOreDictRecipe(new ItemStack(ModBlocks.shinyFlower, 1, i), new ItemStack(Items.glowstone_dust), new ItemStack(Items.glowstone_dust), LibOreDict.FLOWER[i]); recipesShinyFlowers = BotaniaAPI.getLatestAddedRecipes(16); // Abstruse Platform Recipe addOreDictRecipe(new ItemStack(ModBlocks.platform, 2), "343", "0P0", '0', new ItemStack(ModBlocks.livingwood, 0, 0), '3', new ItemStack(ModBlocks.livingwood, 0, 3), '4', new ItemStack(ModBlocks.livingwood, 0, 4), 'P', LibOreDict.MANA_PEARL); recipePlatform = BotaniaAPI.getLatestAddedRecipe(); // Soulscribe Recipe addOreDictRecipe(new ItemStack(ModItems.enderDagger), "P", "S", "T", 'P', LibOreDict.MANA_PEARL, 'S', LibOreDict.MANA_STEEL, 'T', LibOreDict.LIVINGWOOD_TWIG); recipeEnderDagger = BotaniaAPI.getLatestAddedRecipe(); // Quartz Recipes if(ConfigHandler.darkQuartzEnabled) recipeDarkQuartz = addQuartzRecipes(0, Items.coal, ModBlocks.darkQuartz, ModBlocks.darkQuartzStairs, ModBlocks.darkQuartzSlab); addQuartzRecipes(1, null, ModBlocks.manaQuartz, ModBlocks.manaQuartzStairs, ModBlocks.manaQuartzSlab); recipeBlazeQuartz = addQuartzRecipes(2, Items.blaze_powder, ModBlocks.blazeQuartz, ModBlocks.blazeQuartzStairs, ModBlocks.blazeQuartzSlab); GameRegistry.addRecipe(new ItemStack(ModItems.quartz, 8, 3), "QQQ", "QCQ", "QQQ", 'Q', Items.quartz, 'C', new ItemStack(Blocks.red_flower, 1, 2)); GameRegistry.addRecipe(new ItemStack(ModItems.quartz, 8, 3), "QQQ", "QCQ", "QQQ", 'Q', Items.quartz, 'C', new ItemStack(Blocks.red_flower, 1, 7)); GameRegistry.addRecipe(new ItemStack(ModItems.quartz, 8, 3), "QQQ", "QCQ", "QQQ", 'Q', Items.quartz, 'C', new ItemStack(Blocks.double_plant, 1, 1)); GameRegistry.addRecipe(new ItemStack(ModItems.quartz, 8, 3), "QQQ", "QCQ", "QQQ", 'Q', Items.quartz, 'C', new ItemStack(Blocks.double_plant, 1, 5)); recipesLavenderQuartz = BotaniaAPI.getLatestAddedRecipes(4); addQuartzRecipes(3, null, ModBlocks.lavenderQuartz, ModBlocks.lavenderQuartzStairs, ModBlocks.lavenderQuartzSlab); recipeRedQuartz = addQuartzRecipes(4, Items.redstone, ModBlocks.redQuartz, ModBlocks.redQuartzStairs, ModBlocks.redQuartzSlab); addQuartzRecipes(5, null, ModBlocks.elfQuartz, ModBlocks.elfQuartzStairs, ModBlocks.elfQuartzSlab); // Alfheim Portal Recipe addOreDictRecipe(new ItemStack(ModBlocks.alfPortal), "WWW", "WTW", "WWW", 'W', LibOreDict.LIVING_WOOD, 'T', LibOreDict.TERRA_STEEL); recipeAlfPortal = BotaniaAPI.getLatestAddedRecipe(); // Natura Pylon Recipe addShapelessOreDictRecipe(new ItemStack(ModBlocks.pylon, 2, 1), ModBlocks.pylon, LibOreDict.TERRA_STEEL, ModBlocks.pylon); recipeNaturaPylon = BotaniaAPI.getLatestAddedRecipe(); // Rod of the Seas Recipe addOreDictRecipe(new ItemStack(ModItems.waterRod), " B", " T ", "R ", 'B', new ItemStack(Items.potionitem), 'T', LibOreDict.LIVINGWOOD_TWIG, 'R', LibOreDict.RUNE[0]); recipeWaterRod = BotaniaAPI.getLatestAddedRecipe(); // Elementium Armor & Tools Recipes addOreDictRecipe(new ItemStack(ModItems.elementiumHelm), "SSS", "S S", 'S', LibOreDict.ELEMENTIUM); recipeElementiumHelm = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModItems.elementiumChest), "S S", "SSS", "SSS", 'S', LibOreDict.ELEMENTIUM); recipeElementiumChest = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModItems.elementiumLegs), "SSS", "S S", "S S", 'S', LibOreDict.ELEMENTIUM); recipeElementiumLegs = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModItems.elementiumBoots), "S S", "S S", 'S', LibOreDict.ELEMENTIUM); recipeElementiumBoots = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModItems.elementiumPick), "SSS", " T ", " T ", 'S', LibOreDict.ELEMENTIUM, 'T', LibOreDict.LIVINGWOOD_TWIG); recipeElementiumPick = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModItems.elementiumShovel), "S", "T", "T", 'S', LibOreDict.ELEMENTIUM, 'T', LibOreDict.LIVINGWOOD_TWIG); recipeElementiumShovel = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModItems.elementiumAxe), "SS", "TS", "T ", 'S', LibOreDict.ELEMENTIUM, 'T', LibOreDict.LIVINGWOOD_TWIG); recipeElementiumAxe = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModItems.elementiumSword), "S", "S", "T", 'S', LibOreDict.ELEMENTIUM, 'T', LibOreDict.LIVINGWOOD_TWIG); recipeElementiumSword = BotaniaAPI.getLatestAddedRecipe(); addOreDictRecipe(new ItemStack(ModItems.elementiumShears), "S ", " S", 'S', LibOreDict.ELEMENTIUM); recipeElementiumShears = BotaniaAPI.getLatestAddedRecipe(); // Extrapolated Bucket Recipe addOreDictRecipe(new ItemStack(ModItems.openBucket), "E E", " E ", 'E', LibOreDict.ELEMENTIUM); recipeOpenBucket = BotaniaAPI.getLatestAddedRecipe(); // Conjuration Catalyst Recipe addOreDictRecipe(new ItemStack(ModBlocks.conjurationCatalyst), "SBS", "GPG", "SGS", 'S', LibOreDict.LIVING_ROCK, 'G', LibOreDict.ELEMENTIUM, 'B',LibOreDict.PIXIE_DUST, 'P', new ItemStack(ModBlocks.alchemyCatalyst)); recipeConjurationCatalyst = BotaniaAPI.getLatestAddedRecipe(); // Life Aggregator Recipe addOreDictRecipe(new ItemStack(ModItems.spawnerMover), "EIE", "IDI", "EIE", 'E', LibOreDict.LIFE_ESSENCE, 'I', LibOreDict.ELEMENTIUM, 'D', LibOreDict.DRAGONSTONE); recipeSpawnerMover = BotaniaAPI.getLatestAddedRecipe(); // Great Fairy Ring Recipe addOreDictRecipe(new ItemStack(ModItems.pixieRing), "DE ", "E E", " E ", 'D', LibOreDict.PIXIE_DUST, 'E', LibOreDict.ELEMENTIUM); recipePixieRing = BotaniaAPI.getLatestAddedRecipe(); // Globetrotter's Sash Recipe addOreDictRecipe(new ItemStack(ModItems.superTravelBelt), "E ", " S ", "L E", 'E', LibOreDict.ELEMENTIUM, 'L', LibOreDict.LIFE_ESSENCE, 'S', new ItemStack(ModItems.travelBelt)); recipeSuperTravelBelt = BotaniaAPI.getLatestAddedRecipe(); // Rod of Bifrost Recipe addOreDictRecipe(new ItemStack(ModItems.rainbowRod), " PD", " EP", "E ", 'P', LibOreDict.PIXIE_DUST, 'E', LibOreDict.ELEMENTIUM, 'D', LibOreDict.DRAGONSTONE); recipeRainbowRod = BotaniaAPI.getLatestAddedRecipe(); // Spectral Platform Recipe addOreDictRecipe(new ItemStack(ModBlocks.platform, 2, 1), "343", "0D0", '0', new ItemStack(ModBlocks.dreamwood, 0, 0), '3', new ItemStack(ModBlocks.dreamwood, 0, 3), '4', new ItemStack(ModBlocks.dreamwood, 0, 4), 'D', LibOreDict.PIXIE_DUST); recipeSpectralPlatform = BotaniaAPI.getLatestAddedRecipe(); // Elven Mana Spreader Recipes for(int i = 0; i < 16; i++) addOreDictRecipe(new ItemStack(ModBlocks.spreader, 1, 2), "WWW", "EP ", "WWW", 'W', LibOreDict.DREAM_WOOD, 'P', LibOreDict.MANA_PETAL[i], 'E', LibOreDict.ELEMENTIUM); recipesDreamwoodSpreader = BotaniaAPI.getLatestAddedRecipes(16); // Rod of the Skies Recipe addOreDictRecipe(new ItemStack(ModItems.tornadoRod), " F", " T ", "R ", 'F', new ItemStack(Items.feather), 'T', LibOreDict.LIVINGWOOD_TWIG, 'R', LibOreDict.RUNE[3]); recipeTornadoRod = BotaniaAPI.getLatestAddedRecipe(); // Rod of the Hells Recipe addOreDictRecipe(new ItemStack(ModItems.fireRod), " F", " T ", "R ", 'F', new ItemStack(Items.blaze_powder), 'T', LibOreDict.LIVINGWOOD_TWIG, 'R', LibOreDict.RUNE[1]); recipeFireRod = BotaniaAPI.getLatestAddedRecipe(); // Vine Ball Recipe addOreDictRecipe(new ItemStack(ModItems.vineBall), "VVV", "VVV", "VVV", 'V', new ItemStack(Blocks.vine)); recipeVineBall = BotaniaAPI.getLatestAddedRecipe(); // Livingwood Slingshot Recipe addOreDictRecipe(new ItemStack(ModItems.slingshot), " TA", " TT", "T ", 'T', LibOreDict.LIVINGWOOD_TWIG, 'A', LibOreDict.RUNE[3]); recipeSlingshot = BotaniaAPI.getLatestAddedRecipe(); // Prismarine Recipe addOreDictRecipe(new ItemStack(ModBlocks.prismarine, 1, 0), " S ", "SBS", " S ", 'S', LibOreDict.PRISMARINE_SHARD, 'B', "cobblestone"); recipePrismarine = BotaniaAPI.getLatestAddedRecipe(); // Prismarine Brick Recipe addOreDictRecipe(new ItemStack(ModBlocks.prismarine, 1, 1), " S ", "SBS", " S ", 'S', LibOreDict.PRISMARINE_SHARD, 'B', new ItemStack(Blocks.stonebrick)); recipePrismarineBrick = BotaniaAPI.getLatestAddedRecipe(); // Dark Prismarine Recipe addOreDictRecipe(new ItemStack(ModBlocks.prismarine, 1, 2), " S ", "SBS", " S ", 'S', LibOreDict.PRISMARINE_SHARD, 'B', new ItemStack(Blocks.nether_brick)); recipeDarkPrismarine = BotaniaAPI.getLatestAddedRecipe(); // Sea Lantern Recipe addOreDictRecipe(new ItemStack(ModBlocks.seaLamp), " S ", "SBS", " S ", 'S', LibOreDict.PRISMARINE_SHARD, 'B', new ItemStack(Blocks.glowstone)); recipeSeaLamp = BotaniaAPI.getLatestAddedRecipe(); // Influence Lens Recipe addOreDictRecipe(new ItemStack(ModItems.lens, 1, 12), "PRP", "PLP", "PPP", 'P', LibOreDict.PRISMARINE_SHARD, 'R', LibOreDict.RUNE[3], 'L', new ItemStack(ModItems.lens)); recipeLensInfluence = BotaniaAPI.getLatestAddedRecipe(); // Weight Lens Recipe addOreDictRecipe(new ItemStack(ModItems.lens, 1, 13), "PPP", "PLP", "PRP", 'P', LibOreDict.PRISMARINE_SHARD, 'R', LibOreDict.RUNE[0], 'L', new ItemStack(ModItems.lens)); recipeLensWeight = BotaniaAPI.getLatestAddedRecipe(); // Paint Lens Recipe addOreDictRecipe(new ItemStack(ModItems.lens, 1, 14), " E ", "WLW", " E ", 'E', LibOreDict.ELEMENTIUM, 'W', new ItemStack(Blocks.wool, 1, Short.MAX_VALUE), 'L', new ItemStack(ModItems.lens)); recipeLensPaint = BotaniaAPI.getLatestAddedRecipe(); // Mini Island Recipes for(int i = 0; i < 16; i++) GameRegistry.addRecipe(new ItemStack(ModBlocks.miniIsland, 1, i), "F", "S", "D", 'F', new ItemStack(ModBlocks.shinyFlower, 1, i), 'S', new ItemStack(ModItems.grassSeeds), 'D', new ItemStack(Blocks.dirt)); recipesMiniIsland = BotaniaAPI.getLatestAddedRecipes(16); // Gaia Pylon Recipe addOreDictRecipe(new ItemStack(ModBlocks.pylon, 1, 2), " D ", "EPE", " D ", 'D', LibOreDict.PIXIE_DUST, 'E', LibOreDict.ELEMENTIUM, 'P', new ItemStack(ModBlocks.pylon)); recipeGaiaPylon = BotaniaAPI.getLatestAddedRecipe(); // Drum of the Gathering Recipe addOreDictRecipe(new ItemStack(ModBlocks.forestDrum, 1, 1), "WLW", "WEW", "WLW", 'W', LibOreDict.DREAM_WOOD, 'L', new ItemStack(Items.leather), 'E', LibOreDict.ELEMENTIUM); recipeGatherDrum = BotaniaAPI.getLatestAddedRecipe(); // Mana Lens: Kindle Recipe addShapelessOreDictRecipe(new ItemStack(ModItems.lens, 1, 15), new ItemStack(ModItems.lens), new ItemStack(Items.fire_charge)); recipeLensFire = BotaniaAPI.getLatestAddedRecipe(); // Mana Lens: Piston Recipe addShapelessOreDictRecipe(new ItemStack(ModItems.lens, 1, 16), new ItemStack(ModItems.lens), new ItemStack(ModBlocks.pistonRelay)); recipeLensPiston = BotaniaAPI.getLatestAddedRecipe(); // Shard of Laputa Recipe for(int i = 0; i < 16; i++) addOreDictRecipe(new ItemStack(ModItems.laputaShard), "SFS", "PDP", "ASE", 'S', LibOreDict.LIFE_ESSENCE, 'D', LibOreDict.DRAGONSTONE, 'F', new ItemStack(ModBlocks.miniIsland, 1, i), 'P', LibOreDict.PRISMARINE_SHARD, 'A', LibOreDict.RUNE[3], 'E', LibOreDict.RUNE[2]); recipesLaputaShard = BotaniaAPI.getLatestAddedRecipes(16); for(int i = 1; i < 20; i++) addShapelessOreDictRecipe(new ItemStack(ModItems.laputaShard, 1, i), LibOreDict.LIFE_ESSENCE,new ItemStack(ModItems.laputaShard, 1, i - 1)); recipesLaputaShardUpgrade = BotaniaAPI.getLatestAddedRecipes(19); // Necrodermal Virus Recipe addShapelessOreDictRecipe(new ItemStack(ModItems.virus), LibOreDict.PIXIE_DUST, new ItemStack(ModItems.vineBall), new ItemStack(Items.magma_cream), new ItemStack(Items.fermented_spider_eye), new ItemStack(Items.ender_eye), new ItemStack(Items.skull, 1, 2)); recipeVirusZombie = BotaniaAPI.getLatestAddedRecipe(); // Nullodermal Virus Recipe addShapelessOreDictRecipe(new ItemStack(ModItems.virus, 1, 1), LibOreDict.PIXIE_DUST, new ItemStack(ModItems.vineBall), new ItemStack(Items.magma_cream), new ItemStack(Items.fermented_spider_eye), new ItemStack(Items.ender_eye), new ItemStack(Items.skull)); recipeVirusSkeleton = BotaniaAPI.getLatestAddedRecipe(); // Ring of Far Reach Recipe addOreDictRecipe(new ItemStack(ModItems.reachRing), "RE ", "E E", " E ", 'R', LibOreDict.RUNE[15], 'E', LibOreDict.ELEMENTIUM); recipeReachRing = BotaniaAPI.getLatestAddedRecipe(); // Rod of the Highlands Recipe addShapelessOreDictRecipe(new ItemStack(ModItems.skyDirtRod), new ItemStack(ModItems.dirtRod), LibOreDict.PIXIE_DUST, LibOreDict.RUNE[3]); recipeSkyDirtRod = BotaniaAPI.getLatestAddedRecipe(); // Life Imbuer Recipe addOreDictRecipe(new ItemStack(ModBlocks.spawnerClaw), "BSB", "PMP", "P P", 'B', new ItemStack(Items.blaze_rod), 'S', LibOreDict.ELEMENTIUM, 'P', new ItemStack(ModBlocks.prismarine, 1, 2), 'M', new ItemStack(ModBlocks.storage)); recipeSpawnerClaw = BotaniaAPI.getLatestAddedRecipe(); // Crafty Crate Recipe GameRegistry.addRecipe(new ItemStack(ModBlocks.openCrate, 1, 1), "WCW", "W W", "W W", 'C', new ItemStack(Blocks.crafting_table), 'W', new ItemStack(ModBlocks.dreamwood, 1, 1)); recipeCraftCrate = BotaniaAPI.getLatestAddedRecipe(); // Crafting Placeholder Recipe addShapelessOreDictRecipe(new ItemStack(ModItems.manaResource, 32, 11), new ItemStack(Blocks.crafting_table), LibOreDict.LIVING_ROCK); recipePlaceholder = BotaniaAPI.getLatestAddedRecipe(); // Reed Block Recipe GameRegistry.addRecipe(new ItemStack(ModBlocks.reedBlock), "rrr", "rrr", "rrr", 'r', new ItemStack(Items.reeds)); recipeReedBlock = BotaniaAPI.getLatestAddedRecipe(); // Thatch Recipe GameRegistry.addRecipe(new ItemStack(ModBlocks.thatch), "ww", "ww", 'w', new ItemStack(Items.wheat)); recipeThatch = BotaniaAPI.getLatestAddedRecipe(); // Nether Brick Recipe GameRegistry.addRecipe(new ItemStack(ModBlocks.customBrick, 4, 0), " B ", "BSB", " B ", 'B', new ItemStack(Blocks.netherrack), 'S', new ItemStack(Blocks.stonebrick)); recipeNetherBrick = BotaniaAPI.getLatestAddedRecipe(); // Soul Brick Recipe GameRegistry.addRecipe(new ItemStack(ModBlocks.customBrick, 4, 1), " B ", "BSB", " B ", 'B', new ItemStack(Blocks.soul_sand), 'S', new ItemStack(Blocks.stonebrick)); recipeSoulBrick = BotaniaAPI.getLatestAddedRecipe(); // Snow Brick Recipe GameRegistry.addRecipe(new ItemStack(ModBlocks.customBrick, 4, 2), " B ", "BSB", " B ", 'B', new ItemStack(Blocks.snow), 'S', new ItemStack(Blocks.stonebrick)); recipeSnowBrick = BotaniaAPI.getLatestAddedRecipe(); // Roof Tile Recipe GameRegistry.addRecipe(new ItemStack(ModBlocks.customBrick, 4, 3), "BB", "BB", "BB", 'B', new ItemStack(Items.brick)); recipeRoofTile = BotaniaAPI.getLatestAddedRecipe(); // Azulejo Recipe GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.customBrick, 1, 4), new ItemStack(Items.dye, 1, 4), new ItemStack(Blocks.quartz_block)); recipeAzulejo = BotaniaAPI.getLatestAddedRecipe(); // Azulejo Cycling Recipes for(int i = 0; i < 12; i++) GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.customBrick, 1, 4 + (i == 11 ? 0 : i + 1)), new ItemStack(ModBlocks.customBrick, 1, 4 + i)); recipesAzulejoCycling = BotaniaAPI.getLatestAddedRecipes(12); // Ender Overseer Recipe GameRegistry.addRecipe(new ItemStack(ModBlocks.enderEye), "RER", "EOE", "RER", 'R', new ItemStack(Items.redstone), 'E', new ItemStack(Items.ender_eye), 'O', new ItemStack(Blocks.obsidian)); recipeEnderEyeBlock = BotaniaAPI.getLatestAddedRecipe(); // The Spectator Recipe addOreDictRecipe(new ItemStack(ModItems.itemFinder), " I ", "IYI", "IEI", 'I', "ingotIron", 'Y', new ItemStack(Items.ender_eye), 'E', new ItemStack(Items.emerald)); recipeItemFinder = BotaniaAPI.getLatestAddedRecipe(); // Crimson Pendant Recipe addOreDictRecipe(new ItemStack(ModItems.superLavaPendant), "BBB", "BPB", "NGN", 'B', new ItemStack(Items.blaze_rod), 'P', new ItemStack(ModItems.lavaPendant), 'N', new ItemStack(Blocks.nether_brick), 'G', LibOreDict.LIFE_ESSENCE); recipeSuperLavaPendant = BotaniaAPI.getLatestAddedRecipe(); // Hand of Ender Recipe addOreDictRecipe(new ItemStack(ModItems.enderHand), "PLO", "LEL", "OL ", 'P', LibOreDict.MANA_PEARL, 'L', new ItemStack(Items.leather), 'E', new ItemStack(Blocks.ender_chest), 'O', new ItemStack(Blocks.obsidian)); recipeEnderHand = BotaniaAPI.getLatestAddedRecipe(); // Vitreous Pickaxe Recipe addOreDictRecipe(new ItemStack(ModItems.glassPick), "GIG", " T ", " T ", 'G', new ItemStack(Blocks.glass), 'I', LibOreDict.MANA_STEEL, 'T', LibOreDict.LIVINGWOOD_TWIG); recipeGlassPick = BotaniaAPI.getLatestAddedRecipe(); // Starfield Creator Recipe addOreDictRecipe(new ItemStack(ModBlocks.starfield), "EPE", "EOE", 'E', LibOreDict.ELEMENTIUM, 'P', LibOreDict.PIXIE_DUST, 'O', new ItemStack(Blocks.obsidian)); recipeStarfield = BotaniaAPI.getLatestAddedRecipe(); // Spark Recipe for(int i = 0; i < 16; i++) addOreDictRecipe(new ItemStack(ModItems.spark), "BPB", "BNB", "BPB", 'B', new ItemStack(Items.blaze_powder), 'P', LibOreDict.MANA_PETAL[i], 'N', new ItemStack(Items.gold_nugget)); recipesSpark = BotaniaAPI.getLatestAddedRecipes(16); // Spark Augment Recipes for(int i = 0; i < 4; i++) addShapelessOreDictRecipe(new ItemStack(ModItems.sparkUpgrade, 1, i), LibOreDict.PIXIE_DUST, LibOreDict.MANA_STEEL, LibOreDict.RUNE[i]); recipesSparkUpgrades = BotaniaAPI.getLatestAddedRecipes(4); // Horn of the Canopy Recipe addShapelessOreDictRecipe(new ItemStack(ModItems.grassHorn, 1, 1), new ItemStack(ModItems.grassHorn), "treeLeaves"); recipeLeafHorn = BotaniaAPI.getLatestAddedRecipe(); // Rod of Divining Recipe addOreDictRecipe(new ItemStack(ModItems.diviningRod), " TD", " TT", "T ", 'T', LibOreDict.LIVINGWOOD_TWIG, 'D', LibOreDict.MANA_DIAMOND); recipeDiviningRod = BotaniaAPI.getLatestAddedRecipe(); // Rod of the Black Mesa Recipe addOreDictRecipe(new ItemStack(ModItems.gravityRod), " TD", " WT", "T ", 'T', LibOreDict.LIVINGWOOD_TWIG, 'W', new ItemStack(Items.wheat), 'D', LibOreDict.DRAGONSTONE); recipeGravityRod = BotaniaAPI.getLatestAddedRecipe(); // Timeless Ivy Recipe addShapelessOreDictRecipe(new ItemStack(ModItems.regenIvy), new ItemStack(Blocks.vine), LibOreDict.LIFE_ESSENCE, LibOreDict.ELEMENTIUM); recipeRegenIvy = BotaniaAPI.getLatestAddedRecipe(); // Gaia Mana Spreader Recipe addOreDictRecipe(new ItemStack(ModBlocks.spreader, 1, 3), "ESD", 'E', LibOreDict.LIFE_ESSENCE, 'S', new ItemStack(ModBlocks.spreader, 1, 2), 'D', LibOreDict.DRAGONSTONE); recipeUltraSpreader = BotaniaAPI.getLatestAddedRecipe(); // Wing Recipes GameRegistry.addShapelessRecipe(new ItemStack(ModItems.flightTiara, 1, 1), new ItemStack(ModItems.flightTiara, 1, Short.MAX_VALUE), new ItemStack(Items.quartz)); for(int i = 0; i < 6; i++) GameRegistry.addShapelessRecipe(new ItemStack(ModItems.flightTiara, 1, 2 + i), new ItemStack(ModItems.flightTiara, 1, Short.MAX_VALUE), new ItemStack(ModItems.quartz, 1, i)); recipesWings = BotaniaAPI.getLatestAddedRecipes(7); // Mana Fluxfield Recipe addOreDictRecipe(new ItemStack(ModBlocks.rfGenerator), "SRS", "RMR", "SRS", 'S', LibOreDict.LIVING_ROCK, 'M', LibOreDict.MANA_STEEL, 'R', new ItemStack(Blocks.redstone_block)); recipeRFGenerator = BotaniaAPI.getLatestAddedRecipe(); // Vial Recipe GameRegistry.addRecipe(new ItemStack(ModItems.vial, 3, 0), "G G", " G ", 'G', new ItemStack(ModBlocks.manaGlass)); recipeVial = BotaniaAPI.getLatestAddedRecipe(); // Flask Recipe GameRegistry.addRecipe(new ItemStack(ModItems.vial, 3, 1), "G G", " G ", 'G', new ItemStack(ModBlocks.elfGlass)); recipeFlask = BotaniaAPI.getLatestAddedRecipe(); // Botanical Brewery Recipe addOreDictRecipe(new ItemStack(ModBlocks.brewery), "RSR", "RAR", "RMR", 'R', LibOreDict.LIVING_ROCK, 'S', new ItemStack(Items.brewing_stand), 'A', LibOreDict.RUNE[8], 'M', new ItemStack(ModBlocks.storage)); recipeBrewery = BotaniaAPI.getLatestAddedRecipe(); // Tainted Blood Pendant Recipe addOreDictRecipe(new ItemStack(ModItems.bloodPendant), " P ", "PGP", "DP ", 'P', LibOreDict.PRISMARINE_SHARD, 'G', new ItemStack(Items.ghast_tear), 'D', LibOreDict.MANA_DIAMOND); recipeBloodPendant = BotaniaAPI.getLatestAddedRecipe(); // Terrestrial Agglomeration Plate Recipe addOreDictRecipe(new ItemStack(ModBlocks.terraPlate), "LLL", "0M1", "283", 'L', new ItemStack(Blocks.lapis_block), 'M', new ItemStack(ModBlocks.storage), '0', LibOreDict.RUNE[0], '1', LibOreDict.RUNE[1], '2', LibOreDict.RUNE[2], '3', LibOreDict.RUNE[3], '8', LibOreDict.RUNE[8]); recipeTerraPlate = BotaniaAPI.getLatestAddedRecipe(); // Mana and Terrasteel Block Recipes addOreDictRecipe(new ItemStack(ModBlocks.storage, 1, 0), "III", "III", "III", 'I', LibOreDict.MANA_STEEL); addOreDictRecipe(new ItemStack(ModBlocks.storage, 1, 1), "III", "III", "III", 'I', LibOreDict.TERRA_STEEL); addOreDictRecipe(new ItemStack(ModBlocks.storage, 1, 2), "III", "III", "III", 'I', LibOreDict.ELEMENTIUM); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.manaResource, 9, 0), new ItemStack(ModBlocks.storage, 1, 0)); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.manaResource, 9, 4), new ItemStack(ModBlocks.storage, 1, 1)); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.manaResource, 9, 7), new ItemStack(ModBlocks.storage, 1, 2)); // Revealing Helmet Recipes if(Botania.thaumcraftLoaded) { Item goggles = (Item) Item.itemRegistry.getObject("Thaumcraft:ItemGoggles"); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.manasteelHelmRevealing), new ItemStack(ModItems.manasteelHelm), new ItemStack(goggles)); recipeHelmetOfRevealing = BotaniaAPI.getLatestAddedRecipe(); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.terrasteelHelmRevealing), new ItemStack(ModItems.terrasteelHelm), new ItemStack(goggles)); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.elementiumHelmRevealing), new ItemStack(ModItems.elementiumHelm), new ItemStack(goggles)); } // Slab & Stair Recipes addStairsAndSlabs(ModBlocks.livingwood, 0, ModBlocks.livingwoodStairs, ModBlocks.livingwoodSlab); addStairsAndSlabs(ModBlocks.livingwood, 1, ModBlocks.livingwoodPlankStairs, ModBlocks.livingwoodPlankSlab); addStairsAndSlabs(ModBlocks.livingrock, 0, ModBlocks.livingrockStairs, ModBlocks.livingrockSlab); addStairsAndSlabs(ModBlocks.livingrock, 1, ModBlocks.livingrockBrickStairs, ModBlocks.livingrockBrickSlab); addStairsAndSlabs(ModBlocks.dreamwood, 0, ModBlocks.dreamwoodStairs, ModBlocks.dreamwoodSlab); addStairsAndSlabs(ModBlocks.dreamwood, 1, ModBlocks.dreamwoodPlankStairs, ModBlocks.dreamwoodPlankSlab); addStairsAndSlabs(ModBlocks.prismarine, 0, ModBlocks.prismarineStairs, ModBlocks.prismarineSlab); addStairsAndSlabs(ModBlocks.prismarine, 1, ModBlocks.prismarineBrickStairs, ModBlocks.prismarineBrickSlab); addStairsAndSlabs(ModBlocks.prismarine, 2, ModBlocks.darkPrismarineStairs, ModBlocks.darkPrismarineSlab); addStairsAndSlabs(ModBlocks.reedBlock, 0, ModBlocks.reedStairs, ModBlocks.reedSlab); addStairsAndSlabs(ModBlocks.thatch, 0, ModBlocks.thatchStairs, ModBlocks.thatchSlab); addStairsAndSlabs(ModBlocks.customBrick, 0, ModBlocks.netherBrickStairs, ModBlocks.netherBrickSlab); addStairsAndSlabs(ModBlocks.customBrick, 1, ModBlocks.soulBrickStairs, ModBlocks.soulBrickSlab); addStairsAndSlabs(ModBlocks.customBrick, 2, ModBlocks.snowBrickStairs, ModBlocks.snowBrickSlab); addStairsAndSlabs(ModBlocks.customBrick, 3, ModBlocks.tileStairs, ModBlocks.tileSlab); // Misc Recipes GameRegistry.addShapelessRecipe(new ItemStack(Items.reeds, 9, 1), new ItemStack(ModBlocks.reedBlock)); GameRegistry.addShapelessRecipe(new ItemStack(Items.wheat, 4, 1), new ItemStack(ModBlocks.thatch)); } private static void addStairsAndSlabs(Block block, int meta, Block stairs, Block slab) { GameRegistry.addRecipe(new ItemStack(slab, 6), "QQQ", 'Q', new ItemStack(block, 1, meta)); GameRegistry.addRecipe(new ItemStack(stairs, 4), " Q", " QQ", "QQQ", 'Q', new ItemStack(block, 1, meta)); GameRegistry.addRecipe(new ItemStack(stairs, 4), "Q ", "QQ ", "QQQ", 'Q', new ItemStack(block, 1, meta)); } private static IRecipe addQuartzRecipes(int meta, Item req, Block block, Block stairs, Block slab) { GameRegistry.addRecipe(new ItemStack(block), "QQ", "QQ", 'Q', new ItemStack(ModItems.quartz, 1, meta)); GameRegistry.addRecipe(new ItemStack(block, 2, 2), "Q", "Q", 'Q', block); GameRegistry.addRecipe(new ItemStack(block, 1, 1), "Q", "Q", 'Q', slab); addStairsAndSlabs(block, 0, stairs, slab); if(req != null) { if(req == Items.coal) GameRegistry.addRecipe(new ItemStack(ModItems.quartz, 8, meta), "QQQ", "QCQ", "QQQ", 'Q', Items.quartz, 'C', new ItemStack(req, 1, 1)); GameRegistry.addRecipe(new ItemStack(ModItems.quartz, 8, meta), "QQQ", "QCQ", "QQQ", 'Q', Items.quartz, 'C', req); return BotaniaAPI.getLatestAddedRecipe(); } return null; } private static void addOreDictRecipe(ItemStack output, Object... recipe) { CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(output, recipe)); } private static void addShapelessOreDictRecipe(ItemStack output, Object... recipe) { CraftingManager.getInstance().getRecipeList().add(new ShapelessOreRecipe(output, recipe)); } }