/**
* This class was created by <Vazkii>. 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 the
* Botania License: http://botaniamod.net/license.php
*
* File Created @ [Jan 19, 2014, 3:54:48 PM (GMT)]
*/
package vazkii.botania.common.crafting;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.block.BlockDoublePlant;
import net.minecraft.block.BlockFlower;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.RecipeSorter;
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.block.ModFluffBlocks;
import vazkii.botania.common.block.tile.TileCraftCrate;
import vazkii.botania.common.core.handler.ConfigHandler;
import vazkii.botania.common.crafting.recipe.ArmorUpgradeRecipe;
import vazkii.botania.common.crafting.recipe.ManaUpgradeRecipe;
import vazkii.botania.common.crafting.recipe.ShapelessManaUpgradeRecipe;
import vazkii.botania.common.item.ItemTwigWand;
import vazkii.botania.common.item.ModItems;
import vazkii.botania.common.lib.LibOreDict;
public final class ModCraftingRecipes {
public static IRecipe recipeLexicon;
public static List<IRecipe> recipesPetals;
public static List<IRecipe> recipesDyes;
public static List<IRecipe> recipesDyesVanilla;
public static List<IRecipe> recipesPetalBlocks;
public static List<IRecipe> recipesReversePetalBlocks;
public static IRecipe recipePestleAndMortar;
public static List<IRecipe> recipesTwigWand;
public static List<IRecipe> recipesApothecary;
public static List<IRecipe> recipesSpreader;
public static List<IRecipe> recipesManaLens;
public static IRecipe recipePool;
public static IRecipe recipePoolDiluted;
public static IRecipe recipePoolFabulous;
public static List<IRecipe> 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 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 IRecipe recipeManaVoid;
public static List<IRecipe> 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 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<IRecipe> recipesShinyFlowers;
public static IRecipe recipePlatform;
public static IRecipe recipeEnderDagger;
public static IRecipe recipeDarkQuartz;
public static IRecipe recipeBlazeQuartz;
public static List<IRecipe> recipesLavenderQuartz;
public static IRecipe recipeRedQuartz;
public static IRecipe recipeSunnyQuartz;
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<IRecipe> recipesDreamwoodSpreader;
public static IRecipe recipeTornadoRod;
public static IRecipe recipeFireRod;
public static IRecipe recipeVineBall;
public static IRecipe recipeSlingshot;
public static IRecipe recipeLensInfluence;
public static IRecipe recipeLensWeight;
public static IRecipe recipeLensPaint;
public static IRecipe recipeLensWarp;
public static IRecipe recipeLensRedirect;
public static IRecipe recipeLensFirework;
public static IRecipe recipeLensFlare;
public static IRecipe recipeLensMessenger;
public static IRecipe recipeLensTripwire;
public static List<IRecipe> recipesMiniIsland;
public static IRecipe recipeGaiaPylon;
public static IRecipe recipeGatherDrum;
public static IRecipe recipeLensFire;
public static IRecipe recipeLensPiston;
public static List<IRecipe> recipesLaputaShard;
public static List<IRecipe> 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 recipeAzulejo;
public static List<IRecipe> 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<IRecipe> recipesSpark;
public static List<IRecipe> recipesSparkUpgrades;
public static IRecipe recipeLeafHorn;
public static IRecipe recipeDiviningRod;
public static List<IRecipe> recipesWings;
public static IRecipe recipeRFGenerator;
public static IRecipe recipeGravityRod;
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 IRecipe recipeRedString;
public static IRecipe recipeRedStringContainer;
public static IRecipe recipeRedStringDispenser;
public static IRecipe recipeRedStringFertilizer;
public static IRecipe recipeRedStringComparator;
public static IRecipe recipeRedStringRelay;
public static IRecipe recipeRedStringInterceptor;
public static IRecipe recipeMissileRod;
public static IRecipe recipeHolyCloak;
public static IRecipe recipeUnholyCloak;
public static IRecipe recipeBalanceCloak;
public static IRecipe recipeCraftingHalo;
public static List<IRecipe> recipesLensFlash;
public static IRecipe recipePrism;
public static IRecipe recipeDreamwoodTwig;
public static IRecipe recipeMonocle;
public static IRecipe recipeClip;
public static IRecipe recipeCobbleRod;
public static IRecipe recipeSmeltRod;
public static IRecipe recipeWorldSeed;
public static IRecipe recipeSpellCloth;
public static IRecipe recipeThornChakram;
public static IRecipe recipeDirtPathSlab;
public static List<IRecipe> recipesPatterns;
public static IRecipe recipeGaiaIngot;
public static IRecipe recipeCorporeaSpark;
public static IRecipe recipeMasterCorporeaSpark;
public static IRecipe recipeCorporeaIndex;
public static IRecipe recipeCorporeaFunnel;
public static IRecipe recipeCorporeaInterceptor;
public static IRecipe recipeLivingwoodBow;
public static IRecipe recipeCrystalBow;
public static List<IRecipe> recipesCosmeticItems;
public static List<IRecipe> recipesMushrooms;
public static IRecipe recipeSwapRing;
public static IRecipe recipeSnowHorn;
public static IRecipe recipeFlowerBag;
public static IRecipe recipePhantomInk;
public static IRecipe recipePoolCart;
public static IRecipe recipePump;
public static List<IRecipe> recipesPetalsDouble;
public static IRecipe recipeKeepIvy;
public static IRecipe recipeBlackHoleTalisman;
public static List<IRecipe> recipe18StoneChisel;
public static IRecipe recipeBlazeBlock;
public static List<IRecipe> recipesAltarMeta;
public static IRecipe recipeCorporeaCrystalCube;
public static IRecipe recipeTemperanceStone;
public static IRecipe recipeIncenseStick;
public static IRecipe recipeIncensePlate;
public static IRecipe recipeTerraAxe;
public static IRecipe recipeHourglass;
public static IRecipe recipeGhostRail;
public static IRecipe recipeCanopyDrum;
public static IRecipe recipeSparkChanger;
public static IRecipe recipeCocoon;
public static IRecipe recipeLuminizer;
public static IRecipe recipeDetectorLuminizer;
public static IRecipe recipeLuminizerLauncher;
public static IRecipe recipeObedienceStick;
public static IRecipe recipeCacophonium;
public static IRecipe recipeManaBomb;
public static IRecipe recipeCobweb;
public static IRecipe recipeSlimeBottle;
public static IRecipe recipeStarSword;
public static IRecipe recipeExchangeRod;
public static IRecipe recipeGreaterMagnetRing;
public static IRecipe recipeFireChakram;
public static IRecipe recipeThunderSword;
public static IRecipe recipeBellows;
public static IRecipe recipeManaweaveCloth;
public static IRecipe recipeManaweaveHelm;
public static IRecipe recipeManaweaveChest;
public static IRecipe recipeManaweaveLegs;
public static IRecipe recipeManaweaveBoots;
public static IRecipe recipeBifrost;
public static IRecipe recipeShimmerrock;
public static IRecipe recipeShimmerwoodPlanks;
public static IRecipe recipeAutocraftingHalo;
public static List<IRecipe> recipesPavement;
public static IRecipe recipeCellBlock;
public static IRecipe recipeCorporeaRetainer;
public static IRecipe recipeTeruTeruBozu;
public static IRecipe recipeAvatar;
public static IRecipe recipeSextant;
public static List<IRecipe> recipesAltGrassSeeds;
public static IRecipe recipeSpeedUpBelt;
public static IRecipe recipeBaubleCase;
public static IRecipe recipeDodgeRing;
public static IRecipe recipeAnimatedTorch;
public static IRecipe recipeForkLuminizer;
public static IRecipe recipeToggleLuminizer;
public static IRecipe recipeInvisibilityCloak;
public static IRecipe recipeCloudPendant;
public static IRecipe recipeSuperCloudPendant;
public static IRecipe recipeThirdEye;
public static IRecipe recipeAstrolabe;
public static IRecipe recipeGoddessCharm;
// Garden of Glass
public static IRecipe recipeRootToSapling;
public static IRecipe recipeRootToFertilizer;
public static IRecipe recipePebbleCobblestone;
public static IRecipe recipeMagmaToSlimeball;
public static IRecipe recipeFelPumpkin;
public static IRecipe recipeEndPortal;
public static void init() {
int recipeListSize = CraftingManager.getInstance().getRecipeList().size();
// 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);
// Vanilla flowers + mortar and pestle to dye
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.dye, 1, EnumDyeColor.YELLOW.getMetadata()), new ItemStack(ModItems.pestleAndMortar), new ItemStack(Blocks.YELLOW_FLOWER, 1, BlockFlower.EnumFlowerType.DANDELION.getMeta()));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.dye, 1, EnumDyeColor.RED.getMetadata()), new ItemStack(ModItems.pestleAndMortar), new ItemStack(Blocks.RED_FLOWER, 1, BlockFlower.EnumFlowerType.POPPY.getMeta()));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.dye, 1, EnumDyeColor.LIGHT_BLUE.getMetadata()), new ItemStack(ModItems.pestleAndMortar), new ItemStack(Blocks.RED_FLOWER, 1, BlockFlower.EnumFlowerType.BLUE_ORCHID.getMeta()));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.dye, 1, EnumDyeColor.MAGENTA.getMetadata()), new ItemStack(ModItems.pestleAndMortar), new ItemStack(Blocks.RED_FLOWER, 1, BlockFlower.EnumFlowerType.ALLIUM.getMeta()));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.dye, 1, EnumDyeColor.SILVER.getMetadata()), new ItemStack(ModItems.pestleAndMortar), new ItemStack(Blocks.RED_FLOWER, 1, BlockFlower.EnumFlowerType.HOUSTONIA.getMeta()));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.dye, 1, EnumDyeColor.RED.getMetadata()), new ItemStack(ModItems.pestleAndMortar), new ItemStack(Blocks.RED_FLOWER, 1, BlockFlower.EnumFlowerType.RED_TULIP.getMeta()));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.dye, 1, EnumDyeColor.ORANGE.getMetadata()), new ItemStack(ModItems.pestleAndMortar), new ItemStack(Blocks.RED_FLOWER, 1, BlockFlower.EnumFlowerType.ORANGE_TULIP.getMeta()));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.dye, 1, EnumDyeColor.SILVER.getMetadata()), new ItemStack(ModItems.pestleAndMortar), new ItemStack(Blocks.RED_FLOWER, 1, BlockFlower.EnumFlowerType.WHITE_TULIP.getMeta()));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.dye, 1, EnumDyeColor.PINK.getMetadata()), new ItemStack(ModItems.pestleAndMortar), new ItemStack(Blocks.RED_FLOWER, 1, BlockFlower.EnumFlowerType.PINK_TULIP.getMeta()));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.dye, 1, EnumDyeColor.SILVER.getMetadata()), new ItemStack(ModItems.pestleAndMortar), new ItemStack(Blocks.RED_FLOWER, 1, BlockFlower.EnumFlowerType.OXEYE_DAISY.getMeta()));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.dye, 2, EnumDyeColor.YELLOW.getMetadata()), new ItemStack(ModItems.pestleAndMortar), new ItemStack(Blocks.DOUBLE_PLANT, 1, BlockDoublePlant.EnumPlantType.SUNFLOWER.getMeta()));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.dye, 2, EnumDyeColor.MAGENTA.getMetadata()), new ItemStack(ModItems.pestleAndMortar), new ItemStack(Blocks.DOUBLE_PLANT, 1, BlockDoublePlant.EnumPlantType.SYRINGA.getMeta()));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.dye, 2, EnumDyeColor.RED.getMetadata()), new ItemStack(ModItems.pestleAndMortar), new ItemStack(Blocks.DOUBLE_PLANT, 1, BlockDoublePlant.EnumPlantType.ROSE.getMeta()));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.dye, 2, EnumDyeColor.PINK.getMetadata()), new ItemStack(ModItems.pestleAndMortar), new ItemStack(Blocks.DOUBLE_PLANT, 1, BlockDoublePlant.EnumPlantType.PAEONIA.getMeta()));
recipesDyesVanilla = BotaniaAPI.getLatestAddedRecipes(14);
// Petal Block Recipes
for(int i = 0; i < 16; i++)
addOreDictRecipe(new ItemStack(ModBlocks.petalBlock, 1, i),
"PPP", "PPP", "PPP", // PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
'P', LibOreDict.PETAL[i]);
recipesPetalBlocks = BotaniaAPI.getLatestAddedRecipes(16);
// Reverse Petal Block
for(int i = 0; i < 16; i++)
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.petal, 9, i), new ItemStack(ModBlocks.petalBlock, 1, i));
recipesReversePetalBlocks = 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', "slabCobblestone",
'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', Botania.gardenOfGlassLoaded ? LibOreDict.LIVING_WOOD : "ingotGold");
recipesSpreader = BotaniaAPI.getLatestAddedRecipes(16);
// Mana Lens Recipe
addOreDictRecipe(new ItemStack(ModItems.lens),
" S ", "SGS", " S ",
'S', LibOreDict.MANA_STEEL,
'G', "paneGlassColorless");
addOreDictRecipe(new ItemStack(ModItems.lens),
" S ", "SGS", " S ",
'S', LibOreDict.MANA_STEEL,
'G', "blockGlassColorless");
recipesManaLens = BotaniaAPI.getLatestAddedRecipes(2);
// Mana Pool Recipe
addOreDictRecipe(new ItemStack(ModBlocks.pool),
"R R", "RRR",
'R', LibOreDict.LIVING_ROCK);
recipePool = BotaniaAPI.getLatestAddedRecipe();
// Diluted Mana Pool Recipe
addOreDictRecipe(new ItemStack(ModBlocks.pool, 1, 2),
"R R", "RRR",
'R', new ItemStack(ModFluffBlocks.livingrockSlab));
recipePoolDiluted = BotaniaAPI.getLatestAddedRecipe();
// Fabulous Mana Pool Recipe
addOreDictRecipe(new ItemStack(ModBlocks.pool, 1, 3),
"R R", "RRR",
'R', new ItemStack(ModBlocks.shimmerrock));
recipePoolFabulous = 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();
addOreDictRecipe(new ItemStack(ModItems.lens, 1, 7),
" P ", "ALA", " R ",
'P', new ItemStack(Blocks.PISTON),
'R', "dustRedstone",
'A', "gemLapis",
'L', new ItemStack(ModItems.lens));
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();
// 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, "dustGlowstone");
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, "dustGlowstone");
// 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', "dustRedstone",
'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, Botania.gardenOfGlassLoaded ? 3 : 1), 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.addRecipe(new ShapelessOreRecipe(new ItemStack(ModBlocks.spreader, 1, 1),
new ItemStack(ModBlocks.spreader), "dustRedstone"));
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
RecipeSorter.register("botania:armorUpgrade", ArmorUpgradeRecipe.class, RecipeSorter.Category.SHAPED, "");
GameRegistry.addRecipe(new ArmorUpgradeRecipe(new ItemStack(ModItems.terrasteelHelmRevealing),
"TRT", "SAS", " S ",
'T', LibOreDict.LIVINGWOOD_TWIG,
'S', LibOreDict.TERRA_STEEL,
'R', LibOreDict.RUNE[4],
'A', new ItemStack(ModItems.manasteelHelmRevealing)));
GameRegistry.addRecipe(new ArmorUpgradeRecipe(new ItemStack(ModItems.terrasteelHelm),
"TRT", "SAS", " S ",
'T', LibOreDict.LIVINGWOOD_TWIG,
'S', LibOreDict.TERRA_STEEL,
'R', LibOreDict.RUNE[4],
'A', new ItemStack(ModItems.manasteelHelm)));
recipeTerrasteelHelm = BotaniaAPI.getLatestAddedRecipe();
GameRegistry.addRecipe(new ArmorUpgradeRecipe(new ItemStack(ModItems.terrasteelChest),
"TRT", "SAS", " S ",
'T', LibOreDict.LIVINGWOOD_TWIG,
'S', LibOreDict.TERRA_STEEL,
'R', LibOreDict.RUNE[5],
'A', new ItemStack(ModItems.manasteelChest)));
recipeTerrasteelChest = BotaniaAPI.getLatestAddedRecipe();
GameRegistry.addRecipe(new ArmorUpgradeRecipe(new ItemStack(ModItems.terrasteelLegs),
"TRT", "SAS", " S ",
'T', LibOreDict.LIVINGWOOD_TWIG,
'S', LibOreDict.TERRA_STEEL,
'R', LibOreDict.RUNE[6],
'A', new ItemStack(ModItems.manasteelLegs)));
recipeTerrasteelLegs = BotaniaAPI.getLatestAddedRecipe();
GameRegistry.addRecipe(new ArmorUpgradeRecipe(new ItemStack(ModItems.terrasteelBoots),
"TRT", "SAS", " S ",
'T', LibOreDict.LIVINGWOOD_TWIG,
'S', LibOreDict.TERRA_STEEL,
'R', LibOreDict.RUNE[7],
'A', new ItemStack(ModItems.manasteelBoots)));
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
RecipeSorter.register("botania:manaUpgrade", ManaUpgradeRecipe.class, RecipeSorter.Category.SHAPED, "");
GameRegistry.addRecipe(new ManaUpgradeRecipe(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
RecipeSorter.register("botania:manaUpgradeShapeless", ShapelessManaUpgradeRecipe.class, RecipeSorter.Category.SHAPELESS, "");
GameRegistry.addRecipe(new ShapelessManaUpgradeRecipe(new ItemStack(ModItems.manaRingGreater), LibOreDict.TERRA_STEEL, new ItemStack(ModItems.manaRing, 1, Short.MAX_VALUE)));
recipeGreaterManaRing = BotaniaAPI.getLatestAddedRecipe();
// Greater Aura Band Recipe
addShapelessOreDictRecipe(new ItemStack(ModItems.auraRingGreater), LibOreDict.TERRA_STEEL, 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', LibOreDict.MANA_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', LibOreDict.MANA_STRING,
'D', LibOreDict.MANA_STEEL,
'M', LibOreDict.RUNE[5],
'F', LibOreDict.RUNE[1]);
recipeFirePendant = 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.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.manaResource, 1, 6), "dustRedstone", 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
GameRegistry.addRecipe(new ManaUpgradeRecipe(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", "FEF",
'L', LibOreDict.LIFE_ESSENCE,
'I', LibOreDict.ELEMENTIUM,
'F', new ItemStack(Items.FEATHER),
'E', LibOreDict.ENDER_AIR_BOTTLE);
recipeFlightTiara = BotaniaAPI.getLatestAddedRecipe();
// Glimmering Flowers Recipes
for(int i = 0; i < 16; i++)
addShapelessOreDictRecipe(new ItemStack(ModBlocks.shinyFlower, 1, i), "dustGlowstone", "dustGlowstone", LibOreDict.FLOWER[i]);
recipesShinyFlowers = BotaniaAPI.getLatestAddedRecipes(16);
// Abstruse Platform Recipe
addOreDictRecipe(new ItemStack(ModBlocks.platform, 2),
"343", "0P0",
'0', new ItemStack(ModBlocks.livingwood, 1, 0),
'3', new ItemStack(ModBlocks.livingwood, 1, 3),
'4', new ItemStack(ModBlocks.livingwood, 1, 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, ModFluffBlocks.darkQuartz, ModFluffBlocks.darkQuartzStairs, ModFluffBlocks.darkQuartzSlab);
addQuartzRecipes(1, null, ModFluffBlocks.manaQuartz, ModFluffBlocks.manaQuartzStairs, ModFluffBlocks.manaQuartzSlab);
recipeBlazeQuartz = addQuartzRecipes(2, Items.BLAZE_POWDER, ModFluffBlocks.blazeQuartz, ModFluffBlocks.blazeQuartzStairs, ModFluffBlocks.blazeQuartzSlab);
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.quartz, 8, 3),
"QQQ", "QCQ", "QQQ",
'Q', "gemQuartz",
'C', new ItemStack(Blocks.RED_FLOWER, 1, 2)));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.quartz, 8, 3),
"QQQ", "QCQ", "QQQ",
'Q', "gemQuartz",
'C', new ItemStack(Blocks.RED_FLOWER, 1, 7)));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.quartz, 8, 3),
"QQQ", "QCQ", "QQQ",
'Q', "gemQuartz",
'C', new ItemStack(Blocks.DOUBLE_PLANT, 1, 1)));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.quartz, 8, 3),
"QQQ", "QCQ", "QQQ",
'Q', "gemQuartz",
'C', new ItemStack(Blocks.DOUBLE_PLANT, 1, 5)));
recipesLavenderQuartz = BotaniaAPI.getLatestAddedRecipes(4);
addQuartzRecipes(3, null, ModFluffBlocks.lavenderQuartz, ModFluffBlocks.lavenderQuartzStairs, ModFluffBlocks.lavenderQuartzSlab);
recipeRedQuartz = addQuartzRecipes(4, Items.REDSTONE, ModFluffBlocks.redQuartz, ModFluffBlocks.redQuartzStairs, ModFluffBlocks.redQuartzSlab);
addQuartzRecipes(5, null, ModFluffBlocks.elfQuartz, ModFluffBlocks.elfQuartzStairs, ModFluffBlocks.elfQuartzSlab);
recipeSunnyQuartz = addQuartzRecipes(6, Item.getItemFromBlock(Blocks.DOUBLE_PLANT), ModFluffBlocks.sunnyQuartz, ModFluffBlocks.sunnyQuartzStairs, ModFluffBlocks.sunnyQuartzSlab);
// Alfheim Portal Recipe
addOreDictRecipe(new ItemStack(ModBlocks.alfPortal),
"WTW", "WTW", "WTW",
'W', LibOreDict.LIVING_WOOD,
'T', LibOreDict.TERRASTEEL_NUGGET);
recipeAlfPortal = BotaniaAPI.getLatestAddedRecipe();
// Natura Pylon Recipe
addOreDictRecipe(new ItemStack(ModBlocks.pylon, 1, 1),
" T ", "TPT", " E ",
'T', LibOreDict.TERRASTEEL_NUGGET,
'P', new ItemStack(ModBlocks.pylon),
'E', new ItemStack(Items.ENDER_EYE));
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.DREAMWOOD_TWIG);
recipeElementiumPick = BotaniaAPI.getLatestAddedRecipe();
addOreDictRecipe(new ItemStack(ModItems.elementiumShovel),
"S", "T", "T",
'S', LibOreDict.ELEMENTIUM,
'T', LibOreDict.DREAMWOOD_TWIG);
recipeElementiumShovel = BotaniaAPI.getLatestAddedRecipe();
addOreDictRecipe(new ItemStack(ModItems.elementiumAxe),
"SS", "TS", "T ",
'S', LibOreDict.ELEMENTIUM,
'T', LibOreDict.DREAMWOOD_TWIG);
recipeElementiumAxe = BotaniaAPI.getLatestAddedRecipe();
addOreDictRecipe(new ItemStack(ModItems.elementiumSword),
"S", "S", "T",
'S', LibOreDict.ELEMENTIUM,
'T', LibOreDict.DREAMWOOD_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", "ADA", "EIE",
'E', LibOreDict.LIFE_ESSENCE,
'I', LibOreDict.ELEMENTIUM,
'A', LibOreDict.ENDER_AIR_BOTTLE,
'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, 1, 0),
'3', new ItemStack(ModBlocks.dreamwood, 1, 3),
'4', new ItemStack(ModBlocks.dreamwood, 1, 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.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();
// 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();
// Paintslinger 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();
// Warp Lens Recipe
addShapelessOreDictRecipe(new ItemStack(ModItems.lens, 1, 18), new ItemStack(ModItems.lens), LibOreDict.PIXIE_DUST);
recipeLensWarp = BotaniaAPI.getLatestAddedRecipe();
// Redirective Lens Recipe
addShapelessOreDictRecipe(new ItemStack(ModItems.lens, 1, 19), new ItemStack(ModItems.lens), LibOreDict.LIVING_WOOD, LibOreDict.ELEMENTIUM);
recipeLensRedirect = BotaniaAPI.getLatestAddedRecipe();
// Celebratory Lens Recipe
addShapelessOreDictRecipe(new ItemStack(ModItems.lens, 1, 20), new ItemStack(ModItems.lens), new ItemStack(Items.FIREWORKS), LibOreDict.ELEMENTIUM);
recipeLensFirework = BotaniaAPI.getLatestAddedRecipe();
// Flare Lens Recipe
addShapelessOreDictRecipe(new ItemStack(ModItems.lens, 1, 21), new ItemStack(ModItems.lens), new ItemStack(ModBlocks.elfGlass), LibOreDict.ELEMENTIUM);
recipeLensFlare = BotaniaAPI.getLatestAddedRecipe();
// Messenger Lens Recipe
addOreDictRecipe(new ItemStack(ModItems.lens, 1, 22),
" P ", "PLP", " P ",
'P', new ItemStack(Items.PAPER),
'L', new ItemStack(ModItems.lens));
recipeLensMessenger = BotaniaAPI.getLatestAddedRecipe();
// Tripwire Lens Recipe
addShapelessOreDictRecipe(new ItemStack(ModItems.lens, 1, 23), new ItemStack(ModItems.lens), new ItemStack(Blocks.TRIPWIRE_HOOK), LibOreDict.ELEMENTIUM);
recipeLensTripwire = BotaniaAPI.getLatestAddedRecipe();
// Mini Island
for(int i = 0; i < 16; i++)
GameRegistry.addRecipe(new ItemStack(ModBlocks.floatingFlower, 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.floatingFlower, 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", "PEP",
'B', new ItemStack(Items.BLAZE_ROD),
'S', LibOreDict.ELEMENTIUM,
'P', new ItemStack(Blocks.PRISMARINE, 1, 2),
'M', new ItemStack(ModBlocks.storage),
'E', LibOreDict.ENDER_AIR_BOTTLE);
recipeSpawnerClaw = BotaniaAPI.getLatestAddedRecipe();
// Crafty Crate Recipe
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.openCrate, 1, 1),
"WCW", "W W", "W W",
'C', "workbench",
'W', new ItemStack(ModBlocks.dreamwood, 1, 1)));
recipeCraftCrate = BotaniaAPI.getLatestAddedRecipe();
// Crafting Placeholder Recipe
addShapelessOreDictRecipe(new ItemStack(ModItems.manaResource, 32, 11), "workbench", LibOreDict.LIVING_ROCK);
recipePlaceholder = BotaniaAPI.getLatestAddedRecipe();
// Azulejo Recipe
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModBlocks.customBrick, 1, 4), "gemLapis", "blockQuartz"));
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 ShapedOreRecipe(new ItemStack(ModBlocks.enderEye),
"RER", "EOE", "RER",
'R', "dustRedstone",
'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', "gemEmerald");
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', "blockGlassColorless",
'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),
" P ", "BNB", " P ",
'B', new ItemStack(Items.BLAZE_POWDER),
'P', LibOreDict.PETAL[i],
'N', "nuggetGold");
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.DREAMWOOD_TWIG,
'W', "cropWheat",
'D', LibOreDict.DRAGONSTONE);
recipeGravityRod = 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.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.flightTiara, 1, 1), new ItemStack(ModItems.flightTiara, 1, Short.MAX_VALUE), "gemQuartz"));
for(int i = 0; i < 7; i++)
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.flightTiara, 1, 2 + i), new ItemStack(ModItems.flightTiara, 1, Short.MAX_VALUE), LibOreDict.QUARTZ[i]));
recipesWings = BotaniaAPI.getLatestAddedRecipes(8);
// Mana Fluxfield Recipe
if(ConfigHandler.fluxfieldEnabled) {
addOreDictRecipe(new ItemStack(ModBlocks.rfGenerator),
"SRS", "RMR", "SRS",
'S', LibOreDict.LIVING_ROCK,
'M', LibOreDict.MANA_STEEL,
'R', "blockRedstone");
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', "blockLapis",
'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();
// Red String Recipe
addShapelessOreDictRecipe(new ItemStack(ModItems.manaResource, 1, 12), new ItemStack(Items.STRING), "blockRedstone", LibOreDict.PIXIE_DUST, LibOreDict.ENDER_AIR_BOTTLE);
recipeRedString = BotaniaAPI.getLatestAddedRecipe();
// Are you in a pinch?
addShapelessOreDictRecipe(new ItemStack(ModItems.manaResource, 1, 12), new ItemStack(Items.STRING), "blockRedstone", LibOreDict.PIXIE_DUST, LibOreDict.ENDER_AIR_BOTTLE, new ItemStack(Blocks.PUMPKIN));
// Red String Container Recipe
addOreDictRecipe(new ItemStack(ModBlocks.redStringContainer),
"RRR", "RCS", "RRR",
'R', LibOreDict.LIVING_ROCK,
'S', LibOreDict.RED_STRING,
'C', "chestWood");
recipeRedStringContainer = BotaniaAPI.getLatestAddedRecipe();
// Red String Dispenser Recipe
addOreDictRecipe(new ItemStack(ModBlocks.redStringDispenser),
"RRR", "RDS", "RRR",
'R', LibOreDict.LIVING_ROCK,
'S', LibOreDict.RED_STRING,
'D', new ItemStack(Blocks.DISPENSER));
recipeRedStringDispenser = BotaniaAPI.getLatestAddedRecipe();
// Red String Fertilizer Recipe
addOreDictRecipe(new ItemStack(ModBlocks.redStringFertilizer),
"RRR", "RBS", "RRR",
'R', LibOreDict.LIVING_ROCK,
'S', LibOreDict.RED_STRING,
'B', new ItemStack(ModItems.fertilizer));
recipeRedStringFertilizer = BotaniaAPI.getLatestAddedRecipe();
// Red String Comparator Recipe
addOreDictRecipe(new ItemStack(ModBlocks.redStringComparator),
"RRR", "RCS", "RRR",
'R', LibOreDict.LIVING_ROCK,
'S', LibOreDict.RED_STRING,
'C', new ItemStack(Items.COMPARATOR));
recipeRedStringComparator = BotaniaAPI.getLatestAddedRecipe();
// Red String Spoofer Recipe
addOreDictRecipe(new ItemStack(ModBlocks.redStringRelay),
"RRR", "RMS", "RRR",
'R', LibOreDict.LIVING_ROCK,
'S', LibOreDict.RED_STRING,
'M', new ItemStack(ModBlocks.spreader));
recipeRedStringRelay = BotaniaAPI.getLatestAddedRecipe();
// Red String Interceptor Recipe
addOreDictRecipe(new ItemStack(ModBlocks.redStringInterceptor),
"RRR", "RMS", "RRR",
'R', LibOreDict.LIVING_ROCK,
'S', LibOreDict.RED_STRING,
'M', new ItemStack(Blocks.STONE_BUTTON));
recipeRedStringInterceptor = BotaniaAPI.getLatestAddedRecipe();
// Rod of the Arcane Barrage Recipe
addOreDictRecipe(new ItemStack(ModItems.missileRod),
"GDD", " TD", "T G",
'G', LibOreDict.LIFE_ESSENCE,
'D', LibOreDict.DRAGONSTONE,
'T', LibOreDict.DREAMWOOD_TWIG);
recipeMissileRod = BotaniaAPI.getLatestAddedRecipe();
// Cloak of Virtue Recipe
addOreDictRecipe(new ItemStack(ModItems.holyCloak),
"WWW", "GWG", "GSG",
'W', new ItemStack(Blocks.WOOL),
'G', "dustGlowstone",
'S', LibOreDict.LIFE_ESSENCE);
recipeHolyCloak = BotaniaAPI.getLatestAddedRecipe();
// Cloak of Sin Recipe
addOreDictRecipe(new ItemStack(ModItems.unholyCloak),
"WWW", "RWR", "RSR",
'W', new ItemStack(Blocks.WOOL, 1, 15),
'R', "dustRedstone",
'S', LibOreDict.LIFE_ESSENCE);
recipeUnholyCloak = BotaniaAPI.getLatestAddedRecipe();
// Cloak of Balance Recipe
addOreDictRecipe(new ItemStack(ModItems.balanceCloak),
"WWW", "RWR", "RSR",
'W', new ItemStack(Blocks.WOOL, 1, 8),
'R', "gemEmerald",
'S', LibOreDict.LIFE_ESSENCE);
recipeBalanceCloak = BotaniaAPI.getLatestAddedRecipe();
// Assembly Halo Recipe
addOreDictRecipe(new ItemStack(ModItems.craftingHalo),
" P ", "ICI", " I ",
'P', LibOreDict.MANA_PEARL,
'I', LibOreDict.MANA_STEEL,
'C', "workbench");
recipeCraftingHalo = BotaniaAPI.getLatestAddedRecipe();
// Mana Lens: Flash Recipe
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.lens, 1, 17),
"GFG", "FLF", "GFG",
'G', "glowstone",
'F', new ItemStack(Items.FIRE_CHARGE),
'L', new ItemStack(ModItems.lens)));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.lens, 1, 17),
"FGF", "GLG", "FGF",
'G', "glowstone",
'F', new ItemStack(Items.FIRE_CHARGE),
'L', new ItemStack(ModItems.lens)));
recipesLensFlash = BotaniaAPI.getLatestAddedRecipes(2);
// Mana Prism Recipe
addOreDictRecipe(new ItemStack(ModBlocks.prism),
"GPG", "GSG", "GPG",
'G', "blockGlassColorless",
'P', LibOreDict.PRISMARINE_SHARD,
'S', new ItemStack(ModBlocks.platform, 1, 1));
recipePrism = BotaniaAPI.getLatestAddedRecipe();
// Dreamwood Twig Recipe
addOreDictRecipe(new ItemStack(ModItems.manaResource, 1, 13),
"W", "W",
'W', LibOreDict.DREAM_WOOD);
recipeDreamwoodTwig = BotaniaAPI.getLatestAddedRecipe();
// Manaseer Monocle Recipe
addOreDictRecipe(new ItemStack(ModItems.monocle),
"GN", "IN", " N",
'G', new ItemStack(ModBlocks.manaGlass),
'I', LibOreDict.MANA_STEEL,
'N', new ItemStack(Items.GOLD_NUGGET));
recipeMonocle = BotaniaAPI.getLatestAddedRecipe();
// Lens Clip Recipe
addOreDictRecipe(new ItemStack(ModItems.clip),
" D ", "D D", "DD ",
'D', LibOreDict.DREAM_WOOD);
recipeClip = BotaniaAPI.getLatestAddedRecipe();
// Rod of the Depths Recipe
addOreDictRecipe(new ItemStack(ModItems.cobbleRod),
" FC", " TW", "T ",
'F', LibOreDict.RUNE[1],
'W', LibOreDict.RUNE[0],
'T', LibOreDict.LIVINGWOOD_TWIG,
'C', "cobblestone");
recipeCobbleRod = BotaniaAPI.getLatestAddedRecipe();
// Rod of the Molten Core Recipe
addOreDictRecipe(new ItemStack(ModItems.smeltRod),
" BF", " TB", "T ",
'B', new ItemStack(Items.BLAZE_ROD),
'F', LibOreDict.RUNE[1],
'T', LibOreDict.LIVINGWOOD_TWIG);
recipeSmeltRod = BotaniaAPI.getLatestAddedRecipe();
// World Seed Recipe
addOreDictRecipe(new ItemStack(ModItems.worldSeed, 4),
"G", "S", "D",
'G', new ItemStack(Blocks.GRASS),
'S', new ItemStack(Items.WHEAT_SEEDS),
'D', LibOreDict.DRAGONSTONE);
recipeWorldSeed = BotaniaAPI.getLatestAddedRecipe();
// Spellbinding Cloth Recipe
addOreDictRecipe(new ItemStack(ModItems.spellCloth),
" C ", "CPC", " C ",
'C', LibOreDict.MANAWEAVE_CLOTH,
'P', LibOreDict.MANA_PEARL);
recipeSpellCloth = BotaniaAPI.getLatestAddedRecipe();
// Thorn Chakram Recipe
addOreDictRecipe(new ItemStack(ModItems.thornChakram, 2),
"VVV", "VTV", "VVV",
'V', new ItemStack(Blocks.VINE),
'T', LibOreDict.TERRA_STEEL);
recipeThornChakram = BotaniaAPI.getLatestAddedRecipe();
// Pattern Recipes
{
int count = TileCraftCrate.PATTERNS.length;
List<Object> recipeObjects = Arrays.asList(new Object[] {
'R', "dustRedstone",
'P', LibOreDict.PLACEHOLDER
});
for(int i = 0; i < count; i++) {
List<Object> recipe = new ArrayList<>();
for(int j = 0; j < 3; j++) {
String s = "";
for(int k = 0; k < 3; k++)
s += TileCraftCrate.PATTERNS[i][j * 3 + k] ? "R" : "P";
recipe.add(s);
}
recipe.addAll(recipeObjects);
addOreDictRecipe(new ItemStack(ModItems.craftPattern, 1, i), recipe.toArray(new Object[recipe.size()]));
}
recipesPatterns = BotaniaAPI.getLatestAddedRecipes(count);
}
// Gaia Spirit Ingot Recipe
addOreDictRecipe(new ItemStack(ModItems.manaResource, 1, 14),
" S ", "SIS", " S ",
'S', LibOreDict.LIFE_ESSENCE,
'I', LibOreDict.TERRA_STEEL);
recipeGaiaIngot = BotaniaAPI.getLatestAddedRecipe();
// Corporea Spark Recipe
addShapelessOreDictRecipe(new ItemStack(ModItems.corporeaSpark), new ItemStack(ModItems.spark), LibOreDict.PIXIE_DUST, LibOreDict.ENDER_AIR_BOTTLE);
recipeCorporeaSpark = BotaniaAPI.getLatestAddedRecipe();
// Master Corporea Spark Recipe
addShapelessOreDictRecipe(new ItemStack(ModItems.corporeaSpark, 1, 1), new ItemStack(ModItems.corporeaSpark), LibOreDict.DRAGONSTONE);
recipeMasterCorporeaSpark = BotaniaAPI.getLatestAddedRecipe();
// Corporea Index Recipe
addOreDictRecipe(new ItemStack(ModBlocks.corporeaIndex),
"AOA", "OSO", "DOD",
'A', LibOreDict.ENDER_AIR_BOTTLE,
'O', new ItemStack(Blocks.OBSIDIAN),
'S', new ItemStack(ModItems.corporeaSpark),
'D', LibOreDict.DRAGONSTONE);
recipeCorporeaIndex = BotaniaAPI.getLatestAddedRecipe();
// Corporea Funnel Recipe
addShapelessOreDictRecipe(new ItemStack(ModBlocks.corporeaFunnel), new ItemStack(Blocks.DROPPER), new ItemStack(ModItems.corporeaSpark));
recipeCorporeaFunnel = BotaniaAPI.getLatestAddedRecipe();
// Corporea Interceptor Recipe
addShapelessOreDictRecipe(new ItemStack(ModBlocks.corporeaInterceptor), "blockRedstone", new ItemStack(ModItems.corporeaSpark));
recipeCorporeaInterceptor = BotaniaAPI.getLatestAddedRecipe();
// Livingwood Bow Recipe
addOreDictRecipe(new ItemStack(ModItems.livingwoodBow),
" TS", "T S", " TS",
'T', LibOreDict.LIVINGWOOD_TWIG,
'S', LibOreDict.MANA_STRING);
recipeLivingwoodBow = BotaniaAPI.getLatestAddedRecipe();
// Crystal Bow Recipe
addOreDictRecipe(new ItemStack(ModItems.crystalBow),
" DS", "T S", " DS",
'T', LibOreDict.LIVINGWOOD_TWIG,
'D', LibOreDict.DRAGONSTONE,
'S', LibOreDict.MANA_STRING);
recipeCrystalBow = BotaniaAPI.getLatestAddedRecipe();
// Cosmetic Items Recipes
for(int i = 0; i < 32; i++)
addOreDictRecipe(new ItemStack(ModItems.cosmetic, 1, i),
"PPP", "PSP", "PPP",
'P', new ItemStack(i < 16 ? ModItems.petal : ModItems.dye, 1, i % 16),
'S', LibOreDict.MANA_STRING);
recipesCosmeticItems = BotaniaAPI.getLatestAddedRecipes(32);
// Shimmering Mushroom Recipes
for(int i = 0; i < 16; i++) {
GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.mushroom, 1, i), new ItemStack(Blocks.RED_MUSHROOM), new ItemStack(ModItems.dye, 1, i));
GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.mushroom, 1, i), new ItemStack(Blocks.BROWN_MUSHROOM), new ItemStack(ModItems.dye, 1, i));
}
recipesMushrooms = BotaniaAPI.getLatestAddedRecipes(32);
GameRegistry.addShapelessRecipe(new ItemStack(Items.MUSHROOM_STEW), new ItemStack(ModBlocks.mushroom, 1, Short.MAX_VALUE), new ItemStack(ModBlocks.mushroom, 1, Short.MAX_VALUE), new ItemStack(Items.BOWL));
// Ring of Correction Recipe
addOreDictRecipe(new ItemStack(ModItems.swapRing),
"CM ", "M M", " M ",
'C', new ItemStack(Blocks.CLAY),
'M', LibOreDict.MANA_STEEL);
recipeSwapRing = BotaniaAPI.getLatestAddedRecipe();
// Horn of the Covering Recipe
addShapelessOreDictRecipe(new ItemStack(ModItems.grassHorn, 1, 2), new ItemStack(ModItems.grassHorn), new ItemStack(Items.SNOWBALL));
recipeSnowHorn = BotaniaAPI.getLatestAddedRecipe();
// Flower Pouch Recipe
GameRegistry.addShapedRecipe(new ItemStack(ModItems.flowerBag),
"WPW", "W W", " W ",
'P', new ItemStack(ModItems.petal, 1, Short.MAX_VALUE),
'W', new ItemStack(Blocks.WOOL, 1, Short.MAX_VALUE));
recipeFlowerBag = BotaniaAPI.getLatestAddedRecipe();
// Phantom Ink Recipe
addShapelessOreDictRecipe(new ItemStack(ModItems.phantomInk, 4), LibOreDict.MANA_PEARL, "dye", "blockGlass", new ItemStack(Items.GLASS_BOTTLE), new ItemStack(Items.GLASS_BOTTLE), new ItemStack(Items.GLASS_BOTTLE), new ItemStack(Items.GLASS_BOTTLE));
recipePhantomInk = BotaniaAPI.getLatestAddedRecipe();
// Minecart with Mana Pool Recipe
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.poolMinecart), new ItemStack(Items.MINECART), new ItemStack(ModBlocks.pool));
recipePoolCart = BotaniaAPI.getLatestAddedRecipe();
// Mana Pump Recipe
addOreDictRecipe(new ItemStack(ModBlocks.pump),
"SSS", "IBI", "SSS",
'S', LibOreDict.LIVING_ROCK,
'I', LibOreDict.MANA_STEEL,
'B', new ItemStack(Items.BUCKET));
recipePump = BotaniaAPI.getLatestAddedRecipe();
// Double Petal Recipes
for(int i = 0; i < 16; i++)
addShapelessOreDictRecipe(new ItemStack(ModItems.petal, 4, i), LibOreDict.DOUBLE_FLOWER[i]);
recipesPetalsDouble = BotaniaAPI.getLatestAddedRecipes(16);
// Resolute Ivy Recipe
addShapelessOreDictRecipe(new ItemStack(ModItems.keepIvy), LibOreDict.PIXIE_DUST, new ItemStack(Blocks.VINE), LibOreDict.ENDER_AIR_BOTTLE);
recipeKeepIvy = BotaniaAPI.getLatestAddedRecipe();
// Black Hole Talisman Recipe
addOreDictRecipe(new ItemStack(ModItems.blackHoleTalisman),
" G ", "EAE", " E ",
'G', LibOreDict.LIFE_ESSENCE,
'E', LibOreDict.ELEMENTIUM,
'A', LibOreDict.ENDER_AIR_BOTTLE);
recipeBlackHoleTalisman = BotaniaAPI.getLatestAddedRecipe();
// Blaze Light Recipe
addOreDictRecipe(new ItemStack(ModBlocks.blazeBlock),
"BBB", "BBB", "BBB",
'B', Botania.gardenOfGlassLoaded ? "powderBlaze" : "rodBlaze");
recipeBlazeBlock = BotaniaAPI.getLatestAddedRecipe();
addShapelessOreDictRecipe(new ItemStack(Botania.gardenOfGlassLoaded ? Items.BLAZE_POWDER : Items.BLAZE_ROD, 9), LibOreDict.BLAZE_BLOCK);
// Metamorphic Petal Apothecary Recipes
for(int i = 0; i < 8; i++)
GameRegistry.addRecipe(new ItemStack(ModBlocks.altar, 1, i + 1),
"SSS", "SAS", "SSS",
'S', new ItemStack(ModFluffBlocks.biomeStoneA, 1, i + 8),
'A', new ItemStack(ModBlocks.altar));
recipesAltarMeta = BotaniaAPI.getLatestAddedRecipes(8);
// Corporea Crystal Cube Recipe
addOreDictRecipe(new ItemStack(ModBlocks.corporeaCrystalCube),
"C", "G", "W",
'C', new ItemStack(ModItems.corporeaSpark),
'G', new ItemStack(ModBlocks.elfGlass),
'W', LibOreDict.DREAM_WOOD);
recipeCorporeaCrystalCube = BotaniaAPI.getLatestAddedRecipe();
// Stone of Temperance Recipe
addOreDictRecipe(new ItemStack(ModItems.temperanceStone),
" S ", "SRS", " S ",
'S', "stone",
'R', LibOreDict.RUNE[2]);
recipeTemperanceStone = BotaniaAPI.getLatestAddedRecipe();
// Incense Stick Recipe
addOreDictRecipe(new ItemStack(ModItems.incenseStick),
" G", " B ", "T ",
'G', new ItemStack(Items.GHAST_TEAR),
'B', new ItemStack(Items.BLAZE_POWDER),
'T', LibOreDict.LIVINGWOOD_TWIG);
recipeIncenseStick = BotaniaAPI.getLatestAddedRecipe();
// Incense Plate Recipe
addOreDictRecipe(new ItemStack(ModBlocks.incensePlate),
"WSS",
'W', LibOreDict.LIVING_WOOD,
'S', new ItemStack(ModFluffBlocks.livingwoodSlab));
recipeIncensePlate = BotaniaAPI.getLatestAddedRecipe();
// Terra Truncator Recipe
addOreDictRecipe(new ItemStack(ModItems.terraAxe),
"TTG", "TST", " S ",
'T', LibOreDict.TERRA_STEEL,
'G', "glowstone",
'S', LibOreDict.LIVINGWOOD_TWIG);
recipeTerraAxe = BotaniaAPI.getLatestAddedRecipe();
// Hovering Hourglass Recipe
addOreDictRecipe(new ItemStack(ModBlocks.hourglass),
"GMG", "RSR", "GMG",
'G', "ingotGold",
'M', new ItemStack(ModBlocks.manaGlass),
'R', "dustRedstone",
'S', LibOreDict.MANA_STEEL);
recipeHourglass = BotaniaAPI.getLatestAddedRecipe();
// Spectral Rail Recipe
GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.ghostRail), new ItemStack(Blocks.RAIL), new ItemStack(ModBlocks.platform, 1, 1));
recipeGhostRail = BotaniaAPI.getLatestAddedRecipe();
// Drum of the Canopy Recipe
addOreDictRecipe(new ItemStack(ModBlocks.forestDrum, 1, 2),
"WLW", "WHW", "WLW",
'W', LibOreDict.LIVING_WOOD,
'L', new ItemStack(Items.LEATHER),
'H', new ItemStack(ModItems.grassHorn, 1, 1));
recipeCanopyDrum = BotaniaAPI.getLatestAddedRecipe();
// Spark Changer Recipe
addOreDictRecipe(new ItemStack(ModBlocks.sparkChanger),
"ESE", "SRS",
'S', LibOreDict.LIVING_ROCK,
'E', LibOreDict.ELEMENTIUM,
'R', "dustRedstone");
recipeSparkChanger = BotaniaAPI.getLatestAddedRecipe();
// Cocoon of Caprice Recipe
if(Botania.gardenOfGlassLoaded)
addOreDictRecipe(new ItemStack(ModBlocks.cocoon),
"SSS", "SFS", "SIS",
'S', new ItemStack(Items.STRING),
'F', new ItemStack(ModBlocks.felPumpkin),
'I', LibOreDict.MANA_STEEL);
else addOreDictRecipe(new ItemStack(ModBlocks.cocoon),
"SSS", "SPS", "SDS",
'S', new ItemStack(Items.STRING),
'P', LibOreDict.PIXIE_DUST,
'D', LibOreDict.DRAGONSTONE);
recipeCocoon = BotaniaAPI.getLatestAddedRecipe();
// Fel Pumpkin
GameRegistry.addRecipe(new ItemStack(ModBlocks.felPumpkin),
" S ", "BPF", " G ",
'S', new ItemStack(Items.STRING),
'B', new ItemStack(Items.BONE),
'P', new ItemStack(Blocks.PUMPKIN),
'F', new ItemStack(Items.ROTTEN_FLESH),
'G', new ItemStack(Items.GUNPOWDER));
recipeFelPumpkin = BotaniaAPI.getLatestAddedRecipe();
// Luminizer Recipe
addShapelessOreDictRecipe(new ItemStack(ModBlocks.lightRelay), LibOreDict.RED_STRING, LibOreDict.DRAGONSTONE, "dustGlowstone", "dustGlowstone");
recipeLuminizer = BotaniaAPI.getLatestAddedRecipe();
// Detector Luminizer Recipe
addShapelessOreDictRecipe(new ItemStack(ModBlocks.lightRelay, 1, 1), new ItemStack(ModBlocks.lightRelay), "dustRedstone");
recipeDetectorLuminizer = BotaniaAPI.getLatestAddedRecipe();
// Luminizer Launcher Recipe
addOreDictRecipe(new ItemStack(ModBlocks.lightLauncher),
"DDD", "DLD",
'D', LibOreDict.DREAM_WOOD,
'L', new ItemStack(ModBlocks.lightRelay));
recipeLuminizerLauncher = BotaniaAPI.getLatestAddedRecipe();
// Floral Obedience Stick Recipe
addOreDictRecipe(new ItemStack(ModItems.obedienceStick),
" M", " T ", "T ",
'M', LibOreDict.MANA_STEEL,
'T', LibOreDict.LIVINGWOOD_TWIG);
recipeObedienceStick = BotaniaAPI.getLatestAddedRecipe();
// Cacophonium Recipe
if(OreDictionary.getOres("ingotBrass").isEmpty())
addOreDictRecipe(new ItemStack(ModItems.cacophonium),
" G ", "GNG", "GG ",
'G', "ingotGold",
'N', new ItemStack(Blocks.NOTEBLOCK));
else addOreDictRecipe(new ItemStack(ModItems.cacophonium),
" G ", "GNG", "GG ",
'G', "ingotBrass",
'N', new ItemStack(Blocks.NOTEBLOCK));
recipeCacophonium = BotaniaAPI.getLatestAddedRecipe();
// Manastorm Charge Recipe
addOreDictRecipe(new ItemStack(ModBlocks.manaBomb),
"LTL", "TGT", "LTL",
'L', LibOreDict.LIVING_WOOD,
'T', new ItemStack(Blocks.TNT),
'G', LibOreDict.LIFE_ESSENCE);
recipeManaBomb = BotaniaAPI.getLatestAddedRecipe();
// Cobweb Recipe
addOreDictRecipe(new ItemStack(Blocks.WEB),
"S S", " M ", "S S",
'S', new ItemStack(Items.STRING),
'M', LibOreDict.MANA_STRING);
recipeCobweb = BotaniaAPI.getLatestAddedRecipe();
// Slime in a Bottle Recipe
addOreDictRecipe(new ItemStack(ModItems.slimeBottle),
"EGE", "ESE", " E ",
'E', LibOreDict.ELEMENTIUM,
'G', new ItemStack(ModBlocks.elfGlass),
'S', "slimeball");
recipeSlimeBottle = BotaniaAPI.getLatestAddedRecipe();
// Starcaller Recipe
addOreDictRecipe(new ItemStack(ModItems.starSword),
" I", "AD ", "TA ",
'I', LibOreDict.ELEMENTIUM,
'D', LibOreDict.DRAGONSTONE,
'A', LibOreDict.ENDER_AIR_BOTTLE,
'T', new ItemStack(ModItems.terraSword));
recipeStarSword = BotaniaAPI.getLatestAddedRecipe();
// Rod of the Shifting Crust Recipe
addOreDictRecipe(new ItemStack(ModItems.exchangeRod),
" SR", " TS", "T ",
'T', LibOreDict.LIVINGWOOD_TWIG,
'S', "stone",
'R', LibOreDict.RUNE[12]);
recipeExchangeRod = BotaniaAPI.getLatestAddedRecipe();
// Greater Ring of Magnetization Recipe
addShapelessOreDictRecipe(new ItemStack(ModItems.magnetRingGreater), LibOreDict.TERRA_STEEL, new ItemStack(ModItems.magnetRing));
recipeGreaterMagnetRing = BotaniaAPI.getLatestAddedRecipe();
// Flare Chakram Recipe
addOreDictRecipe(new ItemStack(ModItems.thornChakram, 2, 1),
"BBB", "CPC", "BBB",
'B', new ItemStack(Items.BLAZE_POWDER),
'P', LibOreDict.PIXIE_DUST,
'C', new ItemStack(ModItems.thornChakram));
recipeFireChakram = BotaniaAPI.getLatestAddedRecipe();
// Thundercaller Recipe
addOreDictRecipe(new ItemStack(ModItems.thunderSword),
" I", "AD ", "TA ",
'I', LibOreDict.ELEMENTIUM,
'D', LibOreDict.MANA_DIAMOND,
'A', LibOreDict.ENDER_AIR_BOTTLE,
'T', new ItemStack(ModItems.terraSword));
recipeThunderSword = BotaniaAPI.getLatestAddedRecipe();
// Manatide Bellows Recipe
addOreDictRecipe(new ItemStack(ModBlocks.bellows),
"SSS", "RL ", "SSS",
'S', new ItemStack(ModFluffBlocks.livingwoodSlab),
'R', LibOreDict.RUNE[3],
'L', new ItemStack(Items.LEATHER));
recipeBellows = BotaniaAPI.getLatestAddedRecipe();
// Manaweave Cloth Recipe
addOreDictRecipe(new ItemStack(ModItems.manaResource, 1, 22),
"SS", "SS",
'S', LibOreDict.MANA_STRING);
recipeManaweaveCloth = BotaniaAPI.getLatestAddedRecipe();
// Manaweave Armor Recipes
addOreDictRecipe(new ItemStack(ModItems.manaweaveHelm),
"SSS", "S S",
'S', LibOreDict.MANAWEAVE_CLOTH);
recipeManaweaveHelm = BotaniaAPI.getLatestAddedRecipe();
addOreDictRecipe(new ItemStack(ModItems.manaweaveChest),
"S S", "SSS", "SSS",
'S', LibOreDict.MANAWEAVE_CLOTH);
recipeManaweaveChest = BotaniaAPI.getLatestAddedRecipe();
addOreDictRecipe(new ItemStack(ModItems.manaweaveLegs),
"SSS", "S S", "S S",
'S', LibOreDict.MANAWEAVE_CLOTH);
recipeManaweaveLegs = BotaniaAPI.getLatestAddedRecipe();
addOreDictRecipe(new ItemStack(ModItems.manaweaveBoots),
"S S", "S S",
'S', LibOreDict.MANAWEAVE_CLOTH);
recipeManaweaveBoots = BotaniaAPI.getLatestAddedRecipe();
// Bifrost Blocks Recipe
addShapelessOreDictRecipe(new ItemStack(ModBlocks.bifrostPerm), new ItemStack(ModItems.rainbowRod), new ItemStack(ModBlocks.elfGlass));
recipeBifrost = BotaniaAPI.getLatestAddedRecipe();
addShapelessOreDictRecipe(new ItemStack(ModBlocks.shimmerrock), LibOreDict.LIVING_ROCK, new ItemStack(ModBlocks.bifrostPerm));
recipeShimmerrock = BotaniaAPI.getLatestAddedRecipe();
addShapelessOreDictRecipe(new ItemStack(ModBlocks.shimmerwoodPlanks), new ItemStack(ModBlocks.dreamwood, 1, 1), new ItemStack(ModBlocks.bifrostPerm));
recipeShimmerwoodPlanks = BotaniaAPI.getLatestAddedRecipe();
// Manufactory Halo Recipe
addShapelessOreDictRecipe(new ItemStack(ModItems.autocraftingHalo), new ItemStack(ModItems.craftingHalo), LibOreDict.MANA_DIAMOND);
recipeAutocraftingHalo = BotaniaAPI.getLatestAddedRecipe();
// Pavement Recipes
addShapelessOreDictRecipe(new ItemStack(ModFluffBlocks.pavement, 3, 0), LibOreDict.LIVING_ROCK, "cobblestone", "gravel");
addShapelessOreDictRecipe(new ItemStack(ModFluffBlocks.pavement, 3, 1), LibOreDict.LIVING_ROCK, "cobblestone", "gravel", new ItemStack(Items.COAL));
addShapelessOreDictRecipe(new ItemStack(ModFluffBlocks.pavement, 3, 2), LibOreDict.LIVING_ROCK, "cobblestone", "gravel", new ItemStack(Items.DYE, 1, 4));
addShapelessOreDictRecipe(new ItemStack(ModFluffBlocks.pavement, 3, 3), LibOreDict.LIVING_ROCK, "cobblestone", "gravel", new ItemStack(Items.REDSTONE));
addShapelessOreDictRecipe(new ItemStack(ModFluffBlocks.pavement, 3, 4), LibOreDict.LIVING_ROCK, "cobblestone", "gravel", new ItemStack(Items.WHEAT));
addShapelessOreDictRecipe(new ItemStack(ModFluffBlocks.pavement, 3, 5), LibOreDict.LIVING_ROCK, "cobblestone", "gravel", new ItemStack(Items.SLIME_BALL));
recipesPavement = BotaniaAPI.getLatestAddedRecipes(6);
// Cellular Block Recipe
GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.cellBlock, 3), new ItemStack(Blocks.CACTUS), new ItemStack(Blocks.CACTUS), new ItemStack(Blocks.CACTUS), new ItemStack(Items.BEETROOT), new ItemStack(Items.CARROT), new ItemStack(Items.POTATO));
recipeCellBlock = BotaniaAPI.getLatestAddedRecipe();
// Corporea Retainer Recipe
addShapelessOreDictRecipe(new ItemStack(ModBlocks.corporeaRetainer), "chestWood", new ItemStack(ModItems.corporeaSpark));
recipeCorporeaRetainer = BotaniaAPI.getLatestAddedRecipe();
// Teru Teru Bozu Recipe
addOreDictRecipe(new ItemStack(ModBlocks.teruTeruBozu),
"C", "C", "S",
'C', LibOreDict.MANAWEAVE_CLOTH,
'S', new ItemStack(Blocks.DOUBLE_PLANT));
recipeTeruTeruBozu = BotaniaAPI.getLatestAddedRecipe();
// Livingwood Avatar Recipe
addOreDictRecipe(new ItemStack(ModBlocks.avatar),
" W ", "WDW", "W W",
'W', LibOreDict.LIVING_WOOD,
'D', LibOreDict.MANA_DIAMOND);
recipeAvatar = BotaniaAPI.getLatestAddedRecipe();
// Worldshaper's Sextant Recipe
addOreDictRecipe(new ItemStack(ModItems.sextant),
" TI", " TT", "III",
'T', LibOreDict.LIVINGWOOD_TWIG,
'I', LibOreDict.MANA_STEEL);
recipeSextant = BotaniaAPI.getLatestAddedRecipe();
// Alternate Pasture Seed Recipes
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.grassSeeds, 1, 3), new ItemStack(ModItems.grassSeeds), new ItemStack(Blocks.DEADBUSH));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.grassSeeds, 1, 4), new ItemStack(ModItems.grassSeeds), new ItemStack(Items.WHEAT));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.grassSeeds, 1, 5), new ItemStack(ModItems.grassSeeds), new ItemStack(Items.DYE, 1, 2));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.grassSeeds, 1, 6), new ItemStack(ModItems.grassSeeds), new ItemStack(Items.BLAZE_POWDER));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.grassSeeds, 1, 7), new ItemStack(ModItems.grassSeeds), new ItemStack(Items.PRISMARINE_SHARD));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.grassSeeds, 1, 8), new ItemStack(ModItems.grassSeeds), new ItemStack(Items.SPIDER_EYE));
recipesAltGrassSeeds = BotaniaAPI.getLatestAddedRecipes(6);
// Planestrider's Sash Recipe
GameRegistry.addRecipe(new ItemStack(ModItems.speedUpBelt),
" M ", "PBP", " S ",
'M', new ItemStack(Items.FILLED_MAP, 1, Short.MAX_VALUE),
'P', new ItemStack(ModItems.grassSeeds),
'B', new ItemStack(ModItems.travelBelt),
'S', new ItemStack(Items.SUGAR));
recipeSpeedUpBelt = BotaniaAPI.getLatestAddedRecipe();
// Bauble Case Recipe
addOreDictRecipe(new ItemStack(ModItems.baubleBox),
" M ", "MCG", " M ",
'M', LibOreDict.MANA_STEEL,
'C', "chestWood",
'G', "ingotGold");
recipeBaubleCase = BotaniaAPI.getLatestAddedRecipe();
// Ring of Dexterous Motion Recipe
addOreDictRecipe(new ItemStack(ModItems.dodgeRing),
"EM ", "M M", " MR",
'E', "gemEmerald",
'M', LibOreDict.MANA_STEEL,
'R', LibOreDict.RUNE[3]);
recipeDodgeRing = BotaniaAPI.getLatestAddedRecipe();
// Animated Torch Recipe
addOreDictRecipe(new ItemStack(ModBlocks.animatedTorch),
"D", "T",
'D', LibOreDict.MANA_POWDER,
'T', new ItemStack(Blocks.REDSTONE_TORCH));
recipeAnimatedTorch = BotaniaAPI.getLatestAddedRecipe();
// Fork Luminizer Recipe
addShapelessOreDictRecipe(new ItemStack(ModBlocks.lightRelay, 1, 2), new ItemStack(ModBlocks.lightRelay), new ItemStack(Blocks.REDSTONE_TORCH));
recipeForkLuminizer = BotaniaAPI.getLatestAddedRecipe();
// TOGGLE Luminizer Recipe
addShapelessOreDictRecipe(new ItemStack(ModBlocks.lightRelay, 1, 3), new ItemStack(ModBlocks.lightRelay), new ItemStack(Blocks.LEVER));
recipeToggleLuminizer = BotaniaAPI.getLatestAddedRecipe();
// Invisibility Cloak Recipe
addOreDictRecipe(new ItemStack(ModItems.invisibilityCloak),
"CWC", "GWG", "GPG",
'C', new ItemStack(Items.PRISMARINE_CRYSTALS),
'W', new ItemStack(Blocks.WOOL),
'G', new ItemStack(ModBlocks.manaGlass),
'P', LibOreDict.MANA_PEARL);
recipeInvisibilityCloak = BotaniaAPI.getLatestAddedRecipe();
// Cirrus Pendant Recipe
addOreDictRecipe(new ItemStack(ModItems.cloudPendant),
"MS ", "S S", "DSF",
'S', LibOreDict.MANA_STRING,
'D', LibOreDict.MANA_STEEL,
'M', LibOreDict.RUNE[6],
'F', LibOreDict.RUNE[3]);
recipeCloudPendant = BotaniaAPI.getLatestAddedRecipe();
// Nimbus Pendant Recipe
addOreDictRecipe(new ItemStack(ModItems.superCloudPendant),
"BEB", "BPB", "NGN",
'E', LibOreDict.ELEMENTIUM,
'B', new ItemStack(Items.GHAST_TEAR),
'P', new ItemStack(ModItems.cloudPendant),
'N', new ItemStack(Blocks.WOOL),
'G', LibOreDict.LIFE_ESSENCE);
recipeSuperCloudPendant = BotaniaAPI.getLatestAddedRecipe();
// Third Eye Recipe
addOreDictRecipe(new ItemStack(ModItems.thirdEye),
"RSR", "QEQ", "RDR",
'S', LibOreDict.RUNE[2],
'R', new ItemStack(Items.GOLDEN_CARROT),
'Q', new ItemStack(Blocks.QUARTZ_BLOCK),
'E', new ItemStack(Items.ENDER_EYE),
'D', LibOreDict.MANA_DIAMOND);
recipeThirdEye = BotaniaAPI.getLatestAddedRecipe();
// Astrolabe Recipe
addOreDictRecipe(new ItemStack(ModItems.astrolabe),
" EG", "EEE", "GED",
'E', LibOreDict.ELEMENTIUM,
'G', LibOreDict.LIFE_ESSENCE,
'D', LibOreDict.DREAM_WOOD);
recipeAstrolabe = BotaniaAPI.getLatestAddedRecipe();
// Beneveolent Goddess' Charm Recipe
addOreDictRecipe(new ItemStack(ModItems.goddessCharm),
" P ", " P ", "ADS",
'P', LibOreDict.PETAL[6],
'A', LibOreDict.RUNE[0],
'S', LibOreDict.RUNE[4],
'D', LibOreDict.MANA_DIAMOND);
recipeGoddessCharm = BotaniaAPI.getLatestAddedRecipe();
///////////////////////////////////////////////////////////////////////////////////////////////////////////
// Storage Block/Nugget 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);
addOreDictRecipe(new ItemStack(ModBlocks.storage, 1, 3),
"III", "III", "III",
'I', LibOreDict.MANA_DIAMOND);
addOreDictRecipe(new ItemStack(ModBlocks.storage, 1, 4),
"III", "III", "III",
'I', LibOreDict.DRAGONSTONE);
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));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.manaResource, 9, 2), new ItemStack(ModBlocks.storage, 1, 3));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.manaResource, 9, 9), new ItemStack(ModBlocks.storage, 1, 4));
addOreDictRecipe(new ItemStack(ModItems.manaResource, 1, 0),
"III", "III", "III",
'I', LibOreDict.MANASTEEL_NUGGET);
addOreDictRecipe(new ItemStack(ModItems.manaResource, 1, 4),
"III", "III", "III",
'I', LibOreDict.TERRASTEEL_NUGGET);
addOreDictRecipe(new ItemStack(ModItems.manaResource, 1, 7),
"III", "III", "III",
'I', LibOreDict.ELEMENTIUM_NUGGET);
addShapelessOreDictRecipe(new ItemStack(ModItems.manaResource, 9, 17), LibOreDict.MANA_STEEL);
addShapelessOreDictRecipe(new ItemStack(ModItems.manaResource, 9, 18), LibOreDict.TERRA_STEEL);
addShapelessOreDictRecipe(new ItemStack(ModItems.manaResource, 9, 19), LibOreDict.ELEMENTIUM);
// Revealing Helmet Recipes
if(Botania.thaumcraftLoaded) {
Item goggles = Item.REGISTRY.getObject(new ResourceLocation("thaumcraft", "goggles"));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.manasteelHelmRevealing), new ItemStack(ModItems.manasteelHelm), goggles);
recipeHelmetOfRevealing = BotaniaAPI.getLatestAddedRecipe(); //We want manasteel to show in the Lexicon
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.terrasteelHelmRevealing), new ItemStack(ModItems.terrasteelHelm), goggles);
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.elementiumHelmRevealing), new ItemStack(ModItems.elementiumHelm), goggles);
}
// Slab & Stair Recipes
addStairsAndSlabs(ModBlocks.livingwood, 0, ModFluffBlocks.livingwoodStairs, ModFluffBlocks.livingwoodSlab);
addStairsAndSlabs(ModBlocks.livingwood, 1, ModFluffBlocks.livingwoodPlankStairs, ModFluffBlocks.livingwoodPlankSlab);
addStairsAndSlabs(ModBlocks.livingrock, 0, ModFluffBlocks.livingrockStairs, ModFluffBlocks.livingrockSlab);
addStairsAndSlabs(ModBlocks.livingrock, 1, ModFluffBlocks.livingrockBrickStairs, ModFluffBlocks.livingrockBrickSlab);
addStairsAndSlabs(ModBlocks.dreamwood, 0, ModFluffBlocks.dreamwoodStairs, ModFluffBlocks.dreamwoodSlab);
addStairsAndSlabs(ModBlocks.dreamwood, 1, ModFluffBlocks.dreamwoodPlankStairs, ModFluffBlocks.dreamwoodPlankSlab);
addStairsAndSlabs(ModBlocks.shimmerrock, 0, ModFluffBlocks.shimmerrockStairs, ModFluffBlocks.shimmerrockSlab);
addStairsAndSlabs(ModBlocks.shimmerwoodPlanks, 0, ModFluffBlocks.shimmerwoodPlankStairs, ModFluffBlocks.shimmerwoodPlankSlab);
// Wall Recipes
addWall(ModBlocks.livingrock, 0, ModFluffBlocks.livingrockWall, 0);
addWall(ModBlocks.livingwood, 0, ModFluffBlocks.livingwoodWall, 0);
addWall(ModBlocks.dreamwood, 0, ModFluffBlocks.dreamwoodWall, 0);
for(int i = 0; i < 8; i++)
addWall(ModFluffBlocks.biomeStoneA, i + 8, ModFluffBlocks.biomeStoneWall, i);
// Pane Recipes
addPane(ModBlocks.manaGlass, ModFluffBlocks.managlassPane);
addPane(ModBlocks.elfGlass, ModFluffBlocks.alfglassPane);
addPane(ModBlocks.bifrostPerm, ModFluffBlocks.bifrostPane);
// Biome Stone Recipes
for(int i = 0; i < 8; i++) {
GameRegistry.addSmelting(new ItemStack(ModFluffBlocks.biomeStoneA, 1, i + 8), new ItemStack(ModFluffBlocks.biomeStoneA, 1, i), 0.1F);
GameRegistry.addRecipe(new ItemStack(ModFluffBlocks.biomeStoneB, 4, i), "SS", "SS", 'S', new ItemStack(ModFluffBlocks.biomeStoneA, 1, i));
GameRegistry.addRecipe(new ItemStack(ModFluffBlocks.biomeStoneB, 4, i + 8), "SS", "SS", 'S', new ItemStack(ModFluffBlocks.biomeStoneB, 1, i));
addStairsAndSlabs(ModFluffBlocks.biomeStoneA, i, ModFluffBlocks.biomeStoneStairs[i], ModFluffBlocks.biomeStoneSlabs[i]);
addStairsAndSlabs(ModFluffBlocks.biomeStoneA, i + 8, ModFluffBlocks.biomeStoneStairs[i + 8], ModFluffBlocks.biomeStoneSlabs[i + 8]);
addStairsAndSlabs(ModFluffBlocks.biomeStoneB, i, ModFluffBlocks.biomeStoneStairs[i + 16], ModFluffBlocks.biomeStoneSlabs[i + 16]);
}
// Pavement Stairs & Stairs
for(int i = 0; i < ModFluffBlocks.pavementStairs.length; i++)
addStairsAndSlabs(ModFluffBlocks.pavement, i, ModFluffBlocks.pavementStairs[i], ModFluffBlocks.pavementSlabs[i]);
// Misc Recipes
if(Botania.gardenOfGlassLoaded)
initGardenOfGlass();
int newRecipeListSize = CraftingManager.getInstance().getRecipeList().size();
Botania.LOGGER.info("Registered %d recipes.", newRecipeListSize - recipeListSize);
}
private static void initGardenOfGlass() {
// Root to Sapling
addShapelessOreDictRecipe(new ItemStack(Blocks.SAPLING), LibOreDict.ROOT, LibOreDict.ROOT, LibOreDict.ROOT, LibOreDict.ROOT);
recipeRootToSapling = BotaniaAPI.getLatestAddedRecipe();
// Root to Fertilizer
addShapelessOreDictRecipe(new ItemStack(ModItems.fertilizer), LibOreDict.ROOT);
recipeRootToFertilizer = BotaniaAPI.getLatestAddedRecipe();
// Pebble to Cobble
addShapelessOreDictRecipe(new ItemStack(Blocks.COBBLESTONE), LibOreDict.PEBBLE, LibOreDict.PEBBLE, LibOreDict.PEBBLE, LibOreDict.PEBBLE);
recipePebbleCobblestone = BotaniaAPI.getLatestAddedRecipe();
// Magma Pearl to Slimeball
addShapelessOreDictRecipe(new ItemStack(Items.SLIME_BALL), new ItemStack(Items.MAGMA_CREAM), new ItemStack(Items.WATER_BUCKET));
recipeMagmaToSlimeball = BotaniaAPI.getLatestAddedRecipe();
// Ender Portal
addOreDictRecipe(new ItemStack(Blocks.END_PORTAL_FRAME),
"OGO",
'O', new ItemStack(Blocks.OBSIDIAN),
'G', LibOreDict.LIFE_ESSENCE);
recipeEndPortal = BotaniaAPI.getLatestAddedRecipe();
}
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));
GameRegistry.addRecipe(new ItemStack(block, 1, meta),
"Q", "Q",
'Q', new ItemStack(slab));
}
private static void addWall(Block block, int blockMeta, Block wall, int wallMeta) {
GameRegistry.addRecipe(new ItemStack(wall, 6, wallMeta),
"BBB", "BBB",
'B', new ItemStack(block, 1, blockMeta));
}
private static void addPane(Block block, Block pane) {
GameRegistry.addRecipe(new ItemStack(pane, 16),
"BBB", "BBB",
'B', new ItemStack(block, 1));
}
private static IRecipe addQuartzRecipes(int meta, Item req, Block block, Block stairs, Block slab) {
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(block),
"QQ", "QQ",
'Q', LibOreDict.QUARTZ[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 ShapedOreRecipe(new ItemStack(ModItems.quartz, 8, meta),
"QQQ", "QCQ", "QQQ",
'Q', "gemQuartz",
'C', new ItemStack(req, 1, 1)));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.quartz, 8, meta),
"QQQ", "QCQ", "QQQ",
'Q', "gemQuartz",
'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));
}
}