package net.tropicraft.registry; import net.minecraft.block.Block; import net.minecraft.block.BlockColored; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.tropicraft.Tropicraft; import net.tropicraft.curare.CurareMix; import net.tropicraft.curare.CurareMixRegistry; import net.tropicraft.curare.CurareType; import net.tropicraft.drinks.Drink; import net.tropicraft.drinks.MixerRecipes; import net.tropicraft.info.TCNames; import net.tropicraft.item.ItemCurare; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.IFuelHandler; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class TCCraftingRegistry { public static void init() { addRecipes(); initCurareMixes(); initDartRecipes(true); } private static void initCurareMixes() { CurareMixRegistry.getInstance().registerRecipe(new CurareMix(CurareType.confusion, flower(7), flower(8), flower(9) )); CurareMixRegistry.getInstance().registerRecipe(new CurareMix(CurareType.harm, flower(7), flower(7), flower(7), flower(7), flower(7), flower(7), flower(8), flower(9), flower(2) )); CurareMixRegistry.getInstance().registerRecipe(new CurareMix(CurareType.hunger, flower(0), flower(1), flower(2) )); CurareMixRegistry.getInstance().registerRecipe(new CurareMix(CurareType.hunger, flower(0), flower(1), flower(3) )); CurareMixRegistry.getInstance().registerRecipe(new CurareMix(CurareType.hunger, flower(0), flower(1), flower(4) )); CurareMixRegistry.getInstance().registerRecipe(new CurareMix(CurareType.moveSlowdown, flower(7), flower(1), flower(2) )); CurareMixRegistry.getInstance().registerRecipe(new CurareMix(CurareType.poison, flower(7), flower(8), flower(4), flower(7) )); CurareMixRegistry.getInstance().registerRecipe(new CurareMix(CurareType.poison, flower(7), flower(9), flower(4), flower(7) )); CurareMixRegistry.getInstance().registerRecipe(new CurareMix(CurareType.weakness, flower(1), flower(3), flower(4) )); } private static ItemStack flower(int damage) { return new ItemStack(TCBlockRegistry.flowers, 1, damage); } private static void initDartRecipes(boolean isServer) { //register all blow types createRecipe(isServer, true, new ItemStack(TCItemRegistry.blowGun, 1, 0), new Object[]{ "X ", " I ", " X", 'X', TCItemRegistry.bambooStick, 'I', new ItemStack(TCItemRegistry.curare, 1, 0) }); //keep classic paralysis dart recipe, use for poison frog skin for now :/ createRecipe(isServer, true, new ItemStack(TCItemRegistry.dart, 4), new Object[]{ "IX", "C ", 'X', Items.iron_ingot, 'I', TCItemRegistry.poisonFrogSkin, 'C', Items.feather }); createRecipe(isServer, true, new ItemStack(TCItemRegistry.dart, 4), new Object[]{ " X", "CI", 'X', Items.iron_ingot, 'I', TCItemRegistry.poisonFrogSkin, 'C', Items.feather }); //register all types of curare, including paralysis for (int damage = 0; damage < ItemCurare.effectNames.length; damage++) { createRecipe(isServer, true, new ItemStack(TCItemRegistry.dart, 4, damage), new Object[] { "IX", "C ", 'X', Items.iron_ingot, 'I', new ItemStack(TCItemRegistry.curare, 1, damage), 'C', Items.feather }); createRecipe(isServer, true, new ItemStack(TCItemRegistry.dart, 4, damage), new Object[] { " X", "CI", 'X', Items.iron_ingot, 'I', new ItemStack(TCItemRegistry.curare, 1, damage), 'C', Items.feather }); } } private static void createOreBlockRecipe(int blockDmg, int oreDmg) { createRecipe(true, new ItemStack(TCBlockRegistry.oreBlocks, 1, blockDmg), new Object[] { "%%%", "%%%", "%%%", '%', new ItemStack(TCItemRegistry.ore, 1, oreDmg) }); } private static void createOreRecipe(int blockDmg, int oreDmg) { createShapelessRecipe(true, new ItemStack(TCItemRegistry.ore, 9, oreDmg), new Object[] { new ItemStack(TCBlockRegistry.oreBlocks, 1, blockDmg) }); } @SideOnly(Side.CLIENT) public static void addToEncyclopedia(ItemStack itemstack, Object obj[]) { Tropicraft.encyclopedia.includeRecipe(itemstack, obj); } public static void createRecipe(boolean addToEncyclopedia, ItemStack itemstack, Object obj[]) { if (addToEncyclopedia && FMLCommonHandler.instance().getSide() == Side.CLIENT) { addToEncyclopedia(itemstack, obj); } GameRegistry.addRecipe(itemstack, obj); } public static void createRecipe(boolean isServer, boolean addToEncyclopedia, ItemStack itemstack, Object obj[]) { if (addToEncyclopedia && FMLCommonHandler.instance().getSide() == Side.CLIENT) { addToEncyclopedia(itemstack, obj); } GameRegistry.addRecipe(itemstack, obj); } public static void createShapelessRecipe(boolean addToEncyclopedia, ItemStack itemstack, Object obj[]) { //cannot add shapeless recipes to the encyclopedia yet /*if (addToEncyclopedia && FMLCommonHandler.instance().getSide() == Side.CLIENT) { addToEncyclopedia(itemstack, obj); }*/ GameRegistry.addShapelessRecipe(itemstack, obj); } /** * Items that should be recognized by the encyclopedia are added here. * The names given MUST match the page names in the encyclopedia text file, * and duplicates here are ok - multiple items can be associated with 1 page. * Ordering doesn't matter, as the page order is determined by the text file * * Note: Items with metadata values must be added individually (use a loop * if possible) */ public static void addItemsToEncyclopedia() { Tropicraft.encyclopedia.includeItem("acaivine", new ItemStack(TCBlockRegistry.flowers, 1, 9)); Tropicraft.encyclopedia.includeItem("anemone", new ItemStack(TCBlockRegistry.flowers, 1, 4)); Tropicraft.encyclopedia.includeItem("anthuriumo", new ItemStack(TCBlockRegistry.flowers, 1, 5)); Tropicraft.encyclopedia.includeItem("anthuriumr", new ItemStack(TCBlockRegistry.flowers, 1, 6)); /*TODO for (int i = 0; i < ItemAshenMask.maskTypeNames.length; i++) { Tropicraft.encyclopedia.includeItem("ashenmask", new ItemStack(TCItemRegistry.ashenMask, 1, i)); }*/ //TODO /* * ashenmask.title = Ashen Mask ashenmask.desc = These masks are the source of an Ashen's identity. Without a mask, an Ashen is naked, fearful, and cowardly, while with one, they are perhaps the most agressive hunters in the Tropics. By wearing a mask, you are considered an Ashen. Masks can also be hung on walls for decoration. Be wary though, as a maskless Ashen will take the closest mask. */ Tropicraft.encyclopedia.includeItem("azurite", new ItemStack(TCItemRegistry.ore, 1, 2)); Tropicraft.encyclopedia.includeItem("bamboo", new ItemStack(TCItemRegistry.bambooShoot)); Tropicraft.encyclopedia.includeItem("bamboomug", new ItemStack(TCItemRegistry.bambooMug)); Tropicraft.encyclopedia.includeItem("bambooblock", new ItemStack(TCBlockRegistry.bambooBundle)); Tropicraft.encyclopedia.includeItem("bamboochest", new ItemStack(TCBlockRegistry.bambooChest)); Tropicraft.encyclopedia.includeItem("bamboodoor", new ItemStack(TCItemRegistry.bambooDoor)); Tropicraft.encyclopedia.includeItem("bamboospear", new ItemStack(TCItemRegistry.bambooSpear)); Tropicraft.encyclopedia.includeItem("bamboostick", new ItemStack(TCItemRegistry.bambooStick)); for (int i = 0; i < 5; i++) { Tropicraft.encyclopedia.includeItem("beachchair", new ItemStack(TCItemRegistry.chair, 1, i)); //TODO Tropicraft.encyclopedia.includeItem("beachfloat", new ItemStack(TCItemRegistry.beachFloat, 1, i)); /* * beachfloat.title = Beach Float beachfloat.desc = These uncontrollable floats allow the gentle currents of the tropics to move you. They come in five different colors. */ Tropicraft.encyclopedia.includeItem("beachumbrella", new ItemStack(TCItemRegistry.umbrella, 1, i)); } Tropicraft.encyclopedia.includeItem("blackcoffee", MixerRecipes.getItemStack(Drink.blackCoffee)); Tropicraft.encyclopedia.includeItem("blacksand", new ItemStack(TCBlockRegistry.mineralSands, 1, 2)); Tropicraft.encyclopedia.includeItem("blowgun", new ItemStack(TCItemRegistry.blowGun, 1, 0)); Tropicraft.encyclopedia.includeItem("bromeliad", new ItemStack(TCBlockRegistry.flowers, 1, 14)); Tropicraft.encyclopedia.includeItem("caipirinha", MixerRecipes.getItemStack(Drink.caipirinha)); Tropicraft.encyclopedia.includeItem("canna", new ItemStack(TCBlockRegistry.flowers, 1, 3)); Tropicraft.encyclopedia.includeItem("chunkohead", new ItemStack(TCBlockRegistry.chunkOHead)); Tropicraft.encyclopedia.includeItem("coconut", new ItemStack(TCBlockRegistry.coconut)); Tropicraft.encyclopedia.includeItem("coconutchunks", new ItemStack(TCItemRegistry.coconutChunk)); Tropicraft.encyclopedia.includeItem("coconutbomb", new ItemStack(TCItemRegistry.coconutBomb)); Tropicraft.encyclopedia.includeItem("coffeebean", new ItemStack(TCItemRegistry.coffeeBean)); Tropicraft.encyclopedia.includeItem("commelina", new ItemStack(TCBlockRegistry.flowers, 1, 0)); for (int i = 0; i < TCNames.coralNames.length; i++) { Tropicraft.encyclopedia.includeItem("coral", new ItemStack(TCBlockRegistry.coral, 1, i)); } Tropicraft.encyclopedia.includeItem("coralsand", new ItemStack(TCBlockRegistry.mineralSands, 1, 0)); Tropicraft.encyclopedia.includeItem("crocosmia", new ItemStack(TCBlockRegistry.flowers, 1, 1)); Tropicraft.encyclopedia.includeItem("croton", new ItemStack(TCBlockRegistry.flowers, 1, 10)); for (int i = 0; i < ItemCurare.effectNames.length; i++) { Tropicraft.encyclopedia.includeItem("curare", new ItemStack(TCItemRegistry.curare, 1, i)); } Tropicraft.encyclopedia.includeItem("curarebowl", new ItemStack(TCBlockRegistry.curareBowl)); Tropicraft.encyclopedia.includeItem("dagger", new ItemStack(TCItemRegistry.dagger)); for (int i = 0; i < ItemCurare.effectNames.length; i++) { Tropicraft.encyclopedia.includeItem("dart", new ItemStack(TCItemRegistry.dart, 1, i)); } Tropicraft.encyclopedia.includeItem("dracaena", new ItemStack(TCBlockRegistry.flowers, 1, 11)); Tropicraft.encyclopedia.includeItem("easternisles", new ItemStack(TCItemRegistry.recordEasternIsles)); // Tropicraft.encyclopedia.includeItem("enchantwand", new ItemStack(TCItemRegistry.enchantWand)); Tropicraft.encyclopedia.includeItem("encyclopedia", new ItemStack(TCItemRegistry.encTropica)); Tropicraft.encyclopedia.includeItem("eudialyte", new ItemStack(TCItemRegistry.ore, 1, 0)); Tropicraft.encyclopedia.includeItem("fern", new ItemStack(TCBlockRegistry.flowers, 1, 12)); Tropicraft.encyclopedia.includeItem("fertilizer", new ItemStack(TCItemRegistry.fertilizer)); Tropicraft.encyclopedia.includeItem("fireboots", new ItemStack(TCItemRegistry.fireBoots)); Tropicraft.encyclopedia.includeItem("firechestplate", new ItemStack(TCItemRegistry.fireChestplate)); Tropicraft.encyclopedia.includeItem("firehelm", new ItemStack(TCItemRegistry.fireHelmet)); Tropicraft.encyclopedia.includeItem("fireleggings", new ItemStack(TCItemRegistry.fireLeggings)); // Tropicraft.encyclopedia.includeItem("firestaff", new ItemStack(TCItemRegistry.staffFire)); /* * firestaff.title = Fire Staff firestaff.desc = A mystical weapon usually wielded by a Koa Shaman which allows the holder to shoot fireballs that resemble meteors from the Catacombs */ Tropicraft.encyclopedia.includeItem("fishbucket", new ItemStack(TCItemRegistry.fishBucket)); Tropicraft.encyclopedia.includeItem("fishingnet", new ItemStack(TCItemRegistry.fishingNet)); Tropicraft.encyclopedia.includeItem("flippers", new ItemStack(TCItemRegistry.flippers)); Tropicraft.encyclopedia.includeItem("flippers", new ItemStack(Items.leather)); Tropicraft.encyclopedia.includeItem("flowerpot", new ItemStack(TCItemRegistry.flowerPot)); Tropicraft.encyclopedia.includeItem("froglegs", new ItemStack(TCItemRegistry.frogLeg)); Tropicraft.encyclopedia.includeItem("froglegscooked", new ItemStack(TCItemRegistry.cookedFrogLeg)); Tropicraft.encyclopedia.includeItem("frogskin", new ItemStack(TCItemRegistry.poisonFrogSkin)); Tropicraft.encyclopedia.includeItem("froxconch", new ItemStack(TCItemRegistry.shells, 1, 1)); Tropicraft.encyclopedia.includeItem("grapefruit", new ItemStack(TCItemRegistry.grapefruit)); Tropicraft.encyclopedia.includeItem("grapefruitsapling", new ItemStack(TCBlockRegistry.saplings, 1, 1)); Tropicraft.encyclopedia.includeItem("greensand", new ItemStack(TCBlockRegistry.mineralSands, 1, 1)); //Tropicraft.encyclopedia.includeItem("icestaff", new ItemStack(TCItemRegistry.staffIce)); Tropicraft.encyclopedia.includeItem("iggyscale", new ItemStack(TCItemRegistry.scale)); Tropicraft.encyclopedia.includeItem("iris", new ItemStack(TCBlockRegistry.tallFlowers, 1, 1)); // Tropicraft.encyclopedia.includeItem("journalpage", new ItemStack(TCItemRegistry.journalPage)); Tropicraft.encyclopedia.includeItem("kapok", new ItemStack(TCBlockRegistry.rainforestLeaves, 1, 0)); //0 is kapok, 1 is mahogany Tropicraft.encyclopedia.includeItem("koachest", new ItemStack(TCBlockRegistry.koaChest)); Tropicraft.encyclopedia.includeItem("leafball", new ItemStack(TCItemRegistry.leafBall)); Tropicraft.encyclopedia.includeItem("leather", new ItemStack(Items.leather)); Tropicraft.encyclopedia.includeItem("lemon", new ItemStack(TCItemRegistry.lemon)); Tropicraft.encyclopedia.includeItem("lemonade", MixerRecipes.getItemStack(Drink.lemonade)); Tropicraft.encyclopedia.includeItem("lemonsapling", new ItemStack(TCBlockRegistry.saplings, 1, 2)); Tropicraft.encyclopedia.includeItem("lime", new ItemStack(TCItemRegistry.lime)); Tropicraft.encyclopedia.includeItem("limeade", MixerRecipes.getItemStack(Drink.limeade)); Tropicraft.encyclopedia.includeItem("limesapling", new ItemStack(TCBlockRegistry.saplings, 1, 4)); Tropicraft.encyclopedia.includeItem("lowtide", new ItemStack(TCItemRegistry.recordLowTide)); Tropicraft.encyclopedia.includeItem("magicmushroom", new ItemStack(TCBlockRegistry.flowers, 1, 7)); Tropicraft.encyclopedia.includeItem("mahogany", new ItemStack(TCBlockRegistry.logs, 1, 1)); Tropicraft.encyclopedia.includeItem("marlinmeat", new ItemStack(TCItemRegistry.freshMarlin)); Tropicraft.encyclopedia.includeItem("marlincooked", new ItemStack(TCItemRegistry.searedMarlin)); Tropicraft.encyclopedia.includeItem("mineralsand", new ItemStack(TCBlockRegistry.mineralSands, 1, 3)); Tropicraft.encyclopedia.includeItem("mixer", new ItemStack(TCBlockRegistry.eihMixer)); // Tropicraft.encyclopedia.includeItem("nigeljournal", new ItemStack(TCItemRegistry.nigelJournal)); Tropicraft.encyclopedia.includeItem("orange", new ItemStack(TCItemRegistry.orange)); Tropicraft.encyclopedia.includeItem("orangeade", MixerRecipes.getItemStack(Drink.orangeade)); Tropicraft.encyclopedia.includeItem("orangesapling", new ItemStack(TCBlockRegistry.saplings, 1, 3)); Tropicraft.encyclopedia.includeItem("orchid", new ItemStack(TCBlockRegistry.flowers, 1, 2)); Tropicraft.encyclopedia.includeItem("pabshell", new ItemStack(TCItemRegistry.shells, 1, 2)); Tropicraft.encyclopedia.includeItem("palmplanks", new ItemStack(TCBlockRegistry.planks, 1, 0)); //0 is palm, 1 is mahogany Tropicraft.encyclopedia.includeItem("palmwood", new ItemStack(TCBlockRegistry.logs, 1, 0)); Tropicraft.encyclopedia.includeItem("palmsapling", new ItemStack(TCBlockRegistry.saplings, 1, 0)); Tropicraft.encyclopedia.includeItem("pathos", new ItemStack(TCBlockRegistry.flowers, 1, 8)); Tropicraft.encyclopedia.includeItem("pearlb", new ItemStack(TCItemRegistry.pearl, 1, 1)); Tropicraft.encyclopedia.includeItem("pearlw", new ItemStack(TCItemRegistry.pearl, 1, 0)); Tropicraft.encyclopedia.includeItem("pineapple", new ItemStack(TCBlockRegistry.pineapple, 1, 8)); Tropicraft.encyclopedia.includeItem("pineapplecubes", new ItemStack(TCItemRegistry.pineappleCubes)); Tropicraft.encyclopedia.includeItem("pinacolada", MixerRecipes.getItemStack(Drink.pinaColada)); Tropicraft.encyclopedia.includeItem("portalstarter", new ItemStack(TCItemRegistry.portalEnchanter)); Tropicraft.encyclopedia.includeItem("purifiedsand", new ItemStack(TCBlockRegistry.purifiedSand)); Tropicraft.encyclopedia.includeItem("reeds", new ItemStack(Items.reeds)); Tropicraft.encyclopedia.includeItem("rubenautilus", new ItemStack(TCItemRegistry.shells, 1, 3)); Tropicraft.encyclopedia.includeItem("scaleboots", new ItemStack(TCItemRegistry.scaleBoots)); Tropicraft.encyclopedia.includeItem("scalechestplate", new ItemStack(TCItemRegistry.scaleChestplate)); Tropicraft.encyclopedia.includeItem("scalehelm", new ItemStack(TCItemRegistry.scaleHelmet)); Tropicraft.encyclopedia.includeItem("scaleleggings", new ItemStack(TCItemRegistry.scaleLeggings)); Tropicraft.encyclopedia.includeItem("seaurchinroe", new ItemStack(TCItemRegistry.seaUrchinRoe)); Tropicraft.encyclopedia.includeItem("sifter", new ItemStack(TCBlockRegistry.sifter)); Tropicraft.encyclopedia.includeItem("smeltedzircon", new ItemStack(TCItemRegistry.ore, 1, 4)); Tropicraft.encyclopedia.includeItem("snaretrap", new ItemStack(TCItemRegistry.snareTrap)); Tropicraft.encyclopedia.includeItem("snorkel", new ItemStack(TCItemRegistry.snorkel)); Tropicraft.encyclopedia.includeItem("solonoxshell", new ItemStack(TCItemRegistry.shells, 1, 0)); Tropicraft.encyclopedia.includeItem("starfishshell", new ItemStack(TCItemRegistry.shells, 1, 4)); Tropicraft.encyclopedia.includeItem("summering", new ItemStack(TCItemRegistry.recordSummering)); Tropicraft.encyclopedia.includeItem("tikitorch", new ItemStack(TCItemRegistry.tikiTorch)); Tropicraft.encyclopedia.includeItem("thatchblock", new ItemStack(TCBlockRegistry.thatchBundle, 1, 0)); Tropicraft.encyclopedia.includeItem("thetribe", new ItemStack(TCItemRegistry.recordTheTribe)); Tropicraft.encyclopedia.includeItem("tradewinds", new ItemStack(TCItemRegistry.recordTradeWinds)); Tropicraft.encyclopedia.includeItem("tropiframe", new ItemStack(TCItemRegistry.tropiFrame)); Tropicraft.encyclopedia.includeItem("turtleshell", new ItemStack(TCItemRegistry.shells, 1, 5)); Tropicraft.encyclopedia.includeItem("waterwand", new ItemStack(TCItemRegistry.waterWand)); Tropicraft.encyclopedia.includeItem("zircon", new ItemStack(TCItemRegistry.ore, 1, 1)); Tropicraft.encyclopedia.includeItem("zirconium", new ItemStack(TCItemRegistry.ore, 1, 3)); } public static void addRecipes() { // Thatch createRecipe(true, new ItemStack(TCBlockRegistry.thatchBundle, 1, 0), new Object[]{ "XX", "XX", 'X', Items.reeds }); createRecipe(true, new ItemStack(TCBlockRegistry.bambooBundle, 1), new Object[]{ "XX", "XX", 'X', TCItemRegistry.bambooShoot }); createRecipe(true, new ItemStack(TCBlockRegistry.thatchStairs, 1), new Object[]{// "X ", "XX", 'X', Items.reeds }); createRecipe(true, new ItemStack(TCBlockRegistry.thatchStairs, 4), new Object[]{// "X ", "XX", 'X', new ItemStack(TCBlockRegistry.thatchBundle, 1, 0) }); createRecipe(true, new ItemStack(TCBlockRegistry.bambooStairs, 1), new Object[]{// "X ", "XX", 'X', TCItemRegistry.bambooShoot }); createRecipe(true, new ItemStack(TCBlockRegistry.bambooStairs, 4), new Object[]{// "X ", "XX", 'X', TCBlockRegistry.bambooBundle }); // Thatch slab createRecipe(true, new ItemStack(TCBlockRegistry.singleSlabs, 1, 1), new Object[]{// "XX", 'X', Items.reeds }); // Thatch slab createShapelessRecipe(true, new ItemStack(TCBlockRegistry.singleSlabs, 1, 1), new Object[]{// new ItemStack(TCBlockRegistry.thatchBundle, 1, 0) }); createRecipe(true, new ItemStack(TCBlockRegistry.singleSlabs, 1, 0), new Object[]{// "XX", 'X', TCItemRegistry.bambooShoot }); createShapelessRecipe(true, new ItemStack(TCBlockRegistry.singleSlabs, 2, 0), new Object[]{// TCBlockRegistry.bambooBundle }); // Palm planks -> Palm logs createShapelessRecipe(true, new ItemStack(TCBlockRegistry.planks, 4, 0), new Object[]{ new ItemStack(TCBlockRegistry.logs, 1, 0) }); createRecipe(true, new ItemStack(TCItemRegistry.bambooMug, 1), new Object[]{ "X X", "X X", "XXX", 'X', TCItemRegistry.bambooShoot }); createRecipe(true, new ItemStack(TCItemRegistry.scaleHelmet, 1), new Object[]{ "XXX", "X X", 'X', TCItemRegistry.scale }); createRecipe(true, new ItemStack(TCItemRegistry.scaleChestplate, 1), new Object[]{ "X X", "XXX", "XXX", 'X', TCItemRegistry.scale }); createRecipe(true, new ItemStack(TCItemRegistry.scaleLeggings, 1), new Object[]{ "XXX", "X X", "X X", 'X', TCItemRegistry.scale }); createRecipe(true, new ItemStack(TCItemRegistry.scaleBoots, 1), new Object[]{ "X X", "X X", 'X', TCItemRegistry.scale }); createRecipe(true, new ItemStack(TCItemRegistry.coconutBomb, 1), new Object[]{ " X ", "XYX", " X ", 'X', Items.gunpowder, 'Y', TCBlockRegistry.coconut }); createRecipe(true, new ItemStack(TCItemRegistry.tikiTorch, 2), new Object[]{ " Y", " X ", "X ", 'Y', Items.coal, 'X', TCItemRegistry.bambooStick }); createRecipe(false, new ItemStack(TCItemRegistry.tikiTorch, 2), new Object[]{ " Y", " X ", "X ", 'Y', new ItemStack(Items.coal, 1, 1), 'X', TCItemRegistry.bambooStick }); createRecipe(true, new ItemStack(TCBlockRegistry.bambooFence, 2), new Object[]{ "XXX", "XXX", 'X', TCItemRegistry.bambooStick }); createRecipe(true, new ItemStack(TCBlockRegistry.bambooFenceGate, 1), new Object[]{ "XIX", "XIX", 'X', TCItemRegistry.bambooStick, 'I', TCBlockRegistry.bambooBundle }); createRecipe(true, new ItemStack(TCItemRegistry.bambooSpear, 1), new Object[]{ "X ", " X", 'X', TCItemRegistry.bambooStick }); // List of wool colors to use for chair/float/umbrella for (int i = 0; i < 16; i++) { createRecipe(true, new ItemStack(TCItemRegistry.chair, 1, BlockColored.func_150031_c(i)), new Object[]{ "XIX", "XIX", "XIX", 'X', TCItemRegistry.bambooStick, 'I', new ItemStack(Blocks.wool, 1, i) }); createRecipe(true, new ItemStack(TCItemRegistry.umbrella, 1, BlockColored.func_150031_c(i)), new Object[]{ "XXX", " I ", " I ", 'X', new ItemStack(Blocks.wool, 1, i), 'I', TCItemRegistry.bambooStick }); /*createRecipe(true, new ItemStack(TCItemRegistry.beachFloat, 1, i), new Object[]{ "XXX", "III", 'X', new ItemStack(Block.cloth, 1, beachItemColors[i]), 'I', TCItemRegistry.bambooItem });*/ } // createRecipe(true, new ItemStack(TCItemRegistry.enchantWand), new Object[]{ // "XY ", "YXY", " YX", // 'X', new ItemStack(TCItemRegistry.bambooStick), // 'Y', new ItemStack(TCItemRegistry.oreDrops, 1, 3) // }); //TODO /* * nigeljournal.title = Journal nigeljournal.desc = A culmination of all of the notes I took while exploring the realm. Rumor has it finding all pages of my journal comes with a reward that is truly spectacular. Can you collect all of the pages? journalpage.title = Journal Page journalpage.desc = Every page is a day's worth of notes on what I explored in the Tropics that day. Rumor has it that collecting all of the pages from my journal comes with a truly spectacular result that will change the way you view the Tropics. Complete quests given by Koa Shaman to collect my journal pages. Best of luck to you, but be careful, you never know what is hiding behind that stalk of bamboo. enchantwand.title = Wand o' Enchanting enchantwand.desc = Make a 2 block wide, 2 block long, 1 block high square of tropics water, toss in an item you want enchanted, and toss in the necessary amount of azurite crystals. Right click this area with the Wand o' Enchanting, and voila, you have an awesome enchanted item! */ // Chunk slab createShapelessRecipe(true, new ItemStack(TCBlockRegistry.singleSlabs, 2, 2), new Object[]{ TCBlockRegistry.chunkOHead }); createRecipe(true, new ItemStack(TCBlockRegistry.chunkStairs, 4), new Object[]{ "X ", "XX ", "XXX", 'X', TCBlockRegistry.chunkOHead }); // Palm slab createShapelessRecipe(true, new ItemStack(TCBlockRegistry.singleSlabs, 2, 3), new Object[]{ new ItemStack(TCBlockRegistry.planks, 1, 0) }); createRecipe(true, new ItemStack(TCBlockRegistry.palmStairs, 4), new Object[]{ "X ", "XX ", "XXX", 'X', new ItemStack(TCBlockRegistry.planks, 1, 0) }); // Palm planks make crafting table createRecipe(true, new ItemStack(Blocks.crafting_table, 1), new Object[]{ "II", "II", 'I', new ItemStack(TCBlockRegistry.planks, 1, 0) }); // Mahogany planks make crafting table createRecipe(true, new ItemStack(Blocks.crafting_table, 1), new Object[]{ "II", "II", 'I', new ItemStack(TCBlockRegistry.planks, 1, 1) }); createShapelessRecipe(true, new ItemStack(TCItemRegistry.pearl, 1, 0), new Object[]{ new ItemStack(TCItemRegistry.shells, 1, 0) }); createShapelessRecipe(true, new ItemStack(TCItemRegistry.pearl, 1, 1), new Object[]{ new ItemStack(TCItemRegistry.shells, 1, 1) }); createRecipe(true, new ItemStack(TCItemRegistry.pickaxeZircon), new Object[]{ "XXX", " I ", " I ", 'X', new ItemStack(TCItemRegistry.ore, 1, 1), 'I', TCItemRegistry.bambooStick }); createRecipe(true, new ItemStack(TCItemRegistry.axeZircon), new Object[]{ "XX", "XI ", " I", 'X', new ItemStack(TCItemRegistry.ore, 1, 1), 'I', TCItemRegistry.bambooStick }); createRecipe(true, new ItemStack(TCItemRegistry.hoeZircon), new Object[]{ "XX", " I", " I", 'X', new ItemStack(TCItemRegistry.ore, 1, 1), 'I', TCItemRegistry.bambooStick }); createRecipe(true, new ItemStack(TCItemRegistry.swordZircon), new Object[]{ "X", "X", "I", 'X', new ItemStack(TCItemRegistry.ore, 1, 1), 'I', TCItemRegistry.bambooStick }); createRecipe(true, new ItemStack(TCItemRegistry.shovelZircon), new Object[]{ "X", "I", "I", 'X', new ItemStack(TCItemRegistry.ore, 1, 1), 'I', TCItemRegistry.bambooStick }); createRecipe(true, new ItemStack(TCItemRegistry.pickaxeZirconium), new Object[]{ "XXX", " I ", " I ", 'X', new ItemStack(TCItemRegistry.ore, 1, 3), 'I', TCItemRegistry.bambooStick }); createRecipe(true, new ItemStack(TCItemRegistry.axeZirconium), new Object[]{ "XX", "XI", " I", 'X', new ItemStack(TCItemRegistry.ore, 1, 3), 'I', TCItemRegistry.bambooStick }); createRecipe(true, new ItemStack(TCItemRegistry.hoeZirconium), new Object[]{ "XX", " I", " I", 'X', new ItemStack(TCItemRegistry.ore, 1, 3), 'I', TCItemRegistry.bambooStick }); createRecipe(true, new ItemStack(TCItemRegistry.swordZirconium), new Object[]{ "X", "X", "I", 'X', new ItemStack(TCItemRegistry.ore, 1, 3), 'I', TCItemRegistry.bambooStick }); createRecipe(true, new ItemStack(TCItemRegistry.shovelZirconium), new Object[]{ "X", "I", "I", 'X', new ItemStack(TCItemRegistry.ore, 1, 3), 'I', TCItemRegistry.bambooStick }); createRecipe(true, new ItemStack(TCItemRegistry.pickaxeEudialyte), new Object[]{ "XXX", " I ", " I ", 'X', new ItemStack(TCItemRegistry.ore, 1, 0), 'I', TCItemRegistry.bambooStick }); createRecipe(true, new ItemStack(TCItemRegistry.axeEudialyte), new Object[]{ "XX", "XI", " I", 'X', new ItemStack(TCItemRegistry.ore, 1, 0), 'I', TCItemRegistry.bambooStick }); createRecipe(true, new ItemStack(TCItemRegistry.hoeEudialyte), new Object[]{ "XX", " I", " I", 'X', new ItemStack(TCItemRegistry.ore, 1, 0), 'I', TCItemRegistry.bambooStick }); createRecipe(true, new ItemStack(TCItemRegistry.swordEudialyte), new Object[]{ "X", "X", "I", 'X', new ItemStack(TCItemRegistry.ore, 1, 0), 'I', TCItemRegistry.bambooStick }); createRecipe(true, new ItemStack(TCItemRegistry.shovelEudialyte), new Object[]{ "X", "I", "I", 'X', new ItemStack(TCItemRegistry.ore, 1, 0), 'I', TCItemRegistry.bambooStick }); createShapelessRecipe(true, new ItemStack(TCItemRegistry.pineappleCubes), new Object[]{ new ItemStack(TCBlockRegistry.pineapple) }); createShapelessRecipe(true, new ItemStack(TCItemRegistry.coconutChunk), new Object[]{ new ItemStack(TCBlockRegistry.coconut) }); createRecipe(true, new ItemStack(TCItemRegistry.flippers), new Object[]{ "XIX", "X X", 'X', Items.leather, 'I', new ItemStack(Items.dye, 1, 4) }); createRecipe(true, new ItemStack(TCItemRegistry.snorkel), new Object[]{ "X ", "XII", 'X', TCItemRegistry.bambooShoot, 'I', Blocks.glass_pane }); createRecipe(true, new ItemStack(TCBlockRegistry.sifter), new Object[]{ "XXX", "XIX", "XXX", 'X', Blocks.planks, 'I', Blocks.glass_pane }); createRecipe(true, new ItemStack(TCItemRegistry.dagger), new Object[]{ "X", "X", "I", 'X', TCBlockRegistry.chunkOHead, 'I', new ItemStack(TCBlockRegistry.planks, 1, 0) // Palm planks }); createRecipe(true, new ItemStack(TCItemRegistry.fishingNet), new Object[]{ " X", " XI", "XII", 'X', TCItemRegistry.bambooShoot, 'I', Items.string }); createRecipe(true, new ItemStack(TCItemRegistry.fertilizer, 3), new Object[]{ "XI", 'X', new ItemStack(TCBlockRegistry.flowers, 1, 7), 'I', new ItemStack(TCBlockRegistry.flowers, 1, 10) }); //para dart recipes were here createShapelessRecipe(true, new ItemStack(Items.dye, 4, 5), new Object[]{ new ItemStack(TCBlockRegistry.tallFlowers, 1, 15) }); createShapelessRecipe(true, new ItemStack(Items.dye, 2, 1), new Object[]{ new ItemStack(TCBlockRegistry.flowers, 1, 6)//r antherium }); createShapelessRecipe(true, new ItemStack(Items.dye, 2, 14), new Object[]{ new ItemStack(TCBlockRegistry.flowers, 1, 5)//o antherium }); createShapelessRecipe(true, new ItemStack(Items.dye, 2, 12), new Object[]{ new ItemStack(TCBlockRegistry.flowers, 1, 0)//fern }); createShapelessRecipe(true, new ItemStack(Items.dye, 2, 2), new Object[]{ new ItemStack(TCBlockRegistry.flowers, 1, 12)//c. diffusa }); createShapelessRecipe(true, new ItemStack(Items.dye, 2, 11), new Object[]{ new ItemStack(TCBlockRegistry.flowers, 1, 3) //canna }); createRecipe(true, new ItemStack(TCBlockRegistry.bambooChest, 1), new Object[]{ "XXX", "X X", "XXX", 'X', TCItemRegistry.bambooShoot }); createRecipe(true, new ItemStack(Items.stick, 4), new Object[] { "#", "#", '#', new ItemStack(TCBlockRegistry.planks, 1, 0) }); createRecipe(true, new ItemStack(Items.wooden_pickaxe), new Object[] { "XXX", " # ", " # ", 'X', new ItemStack(TCBlockRegistry.planks, 1, 0), '#', Items.stick }); createRecipe(true, new ItemStack(Items.wooden_shovel), new Object[] { "X", "#", "#", 'X', new ItemStack(TCBlockRegistry.planks, 1, 0), '#', Items.stick }); createRecipe(true, new ItemStack(Items.wooden_axe), new Object[] { "XX", "X#", " #", 'X', new ItemStack(TCBlockRegistry.planks, 1, 0), '#', Items.stick }); createRecipe(true, new ItemStack(Items.wooden_hoe), new Object[] { "XX", " #", " #", 'X', new ItemStack(TCBlockRegistry.planks, 1, 0), '#', Items.stick }); createRecipe(true, new ItemStack(Items.wooden_sword), new Object[] { "X", "X", "#", 'X', new ItemStack(TCBlockRegistry.planks, 1, 0), '#', Items.stick }); createShapelessRecipe(true, new ItemStack(Blocks.planks, 4, 3), new Object[] { new ItemStack(TCBlockRegistry.logs, 1, 1) }); createRecipe(true, new ItemStack(TCItemRegistry.encTropica, 1), new Object[]{ "###", "#$#", "###", '#', TCItemRegistry.bambooShoot, '$', Items.book }); createRecipe(true, new ItemStack(Items.wooden_door, 1), new Object[]{ "XX", "XX", "XX", 'X', new ItemStack(TCBlockRegistry.planks, 1, 0) }); createRecipe(true, new ItemStack(Blocks.trapdoor, 2), new Object[]{ "XXX", "XXX", 'X', new ItemStack(TCBlockRegistry.planks, 1, 0) }); createRecipe(true, new ItemStack(TCItemRegistry.bambooDoor), new Object[]{ "XX", "YY", "XX", 'X', TCBlockRegistry.bambooBundle, 'Y', TCBlockRegistry.thatchBundle }); createRecipe(true, new ItemStack(TCItemRegistry.waterWand), new Object[]{ " X", " Y ", "Y ", 'X', new ItemStack(TCItemRegistry.ore, 1, 2), 'Y', Items.gold_ingot }); createRecipe(true, new ItemStack(TCItemRegistry.snareTrap), new Object[] { " X", "XX ", "XX ", 'X', Items.string }); createRecipe(true, new ItemStack(TCItemRegistry.flowerPot), new Object[] { "# #", " # ", '#', TCItemRegistry.bambooShoot }); createShapelessRecipe(true, new ItemStack(TCItemRegistry.coffeeBean, 1, 0), new Object[] { new ItemStack(TCItemRegistry.coffeeBean, 1, 2) }); createRecipe(true, new ItemStack(TCItemRegistry.tropiFrame, 1), new Object[] { "###", "#X#", "###", '#', TCItemRegistry.bambooShoot, 'X', Items.leather }); createRecipe(true, new ItemStack(TCItemRegistry.portalEnchanter, 1), new Object[] { "%@#", "#@%", " @ ", '@', TCItemRegistry.bambooStick, '#', new ItemStack(TCItemRegistry.ore, 1, 2), '%', new ItemStack(TCItemRegistry.ore, 1, 3) }); createRecipe(true, new ItemStack(TCItemRegistry.portalEnchanter, 1), new Object[] { "#@%", "%@#", " @ ", '@', TCItemRegistry.bambooStick, '#', new ItemStack(TCItemRegistry.ore, 1, 2), '%', new ItemStack(TCItemRegistry.ore, 1, 3) }); createRecipe(true, new ItemStack(TCItemRegistry.bambooStick, 4), new Object[] {"#", "#", '#', TCItemRegistry.bambooShoot}); createRecipe(true, new ItemStack(TCItemRegistry.ore, 1, 3), new Object[] { "###", "#$#", "###", '$', Items.diamond, '#', new ItemStack(TCItemRegistry.ore, 1, 4) //smelted zircon }); createRecipe(true, new ItemStack(TCBlockRegistry.koaChest, 1), new Object[] { "###", "#X#", "###", '#', new ItemStack(TCItemRegistry.ore, 1, 3), 'X', TCBlockRegistry.bambooChest }); createRecipe(true, new ItemStack(TCBlockRegistry.eihMixer), new Object[] { "XXX", "X X", "XXX", 'X', TCBlockRegistry.chunkOHead }); createRecipe(true, new ItemStack(TCBlockRegistry.curareBowl), new Object[] { "X X", " X ", 'X', TCBlockRegistry.chunkOHead }); createShapelessRecipe(true, new ItemStack(TCItemRegistry.fertilizer, 3), new Object[]{ new ItemStack(TCBlockRegistry.flowers, 1, 7), new ItemStack(TCBlockRegistry.flowers, 1, 10) }); createShapelessRecipe(true, MixerRecipes.getItemStack(Drink.pinaColada), new Object[]{ TCItemRegistry.coconutChunk, new ItemStack(TCBlockRegistry.pineapple), TCItemRegistry.bambooMug }); createShapelessRecipe(true, MixerRecipes.getItemStack(Drink.pinaColada), new Object[]{ TCItemRegistry.coconutChunk, TCItemRegistry.pineappleCubes, TCItemRegistry.bambooMug }); /* createRecipe(true, new ItemStack(TCItemRegistry.rodOld), new Object[]{ " I", " IX", "I V", 'X', Items.string, 'V', Items.iron_ingot, 'I', TCItemRegistry.bambooStick }); createRecipe(true, new ItemStack(TCItemRegistry.rodGood), new Object[]{ " I", " IX", "I V", 'X', Items.string, 'V', TCItemRegistry.lemon, 'I', TCItemRegistry.bambooStick }); createRecipe(true, new ItemStack(TCItemRegistry.rodSuper), new Object[]{ " I", " IX", "I V", 'X', Items.string, 'V', TCItemRegistry.lureSuper, 'I', TCItemRegistry.bambooStick }); createRecipe(true, new ItemStack(TCItemRegistry.lureSuper), new Object[]{ " X ", "XOX", " X ", 'X', Items.iron_ingot, 'O', new ItemStack(Items.dye, 1, 5) });*/ createOreBlockRecipe(0, 0); //eudialyte createOreBlockRecipe(1, 1); //zircon createOreBlockRecipe(2, 2); //azurite createOreBlockRecipe(3, 3); //zirconium createOreRecipe(0, 0); //eudialyte createOreRecipe(1, 1); //zircon createOreRecipe(2, 2); //azurite createOreRecipe(3, 3); //zirconium // CurareRecipes.addRecipes(true); // CurareRecipes.addCurareMixerRecipes(); // Smelting recipes go here // GameRegistry.addSmelting(TCItemRegistry.frogLeg, new ItemStack(TCItemRegistry.cookedFrogLeg), 3); GameRegistry.addSmelting(TCBlockRegistry.purifiedSand, new ItemStack(Blocks.glass), 4); GameRegistry.addSmelting(TCItemRegistry.freshMarlin, new ItemStack(TCItemRegistry.searedMarlin), 6); GameRegistry.addSmelting((TCBlockRegistry.logs), new ItemStack(Items.coal, 1, 1), 3); // metadata 1 = charcoal FurnaceRecipes.smelting().func_151396_a(TCItemRegistry.coffeeBean, new ItemStack(TCItemRegistry.coffeeBean, 1, 1), 0.15f); //zircon -> smelted zircon FurnaceRecipes.smelting().func_151394_a(new ItemStack(TCItemRegistry.ore, 1, 1), new ItemStack(TCItemRegistry.ore, 1, 4), 3F); // Custom fuel burn times! GameRegistry.registerFuelHandler(new IFuelHandler() { @Override public int getBurnTime(ItemStack fuel) { // Palm slabs if (fuel.getItem() != null && fuel.getItem() instanceof ItemBlock && Block.getBlockFromItem(fuel.getItem()) == TCBlockRegistry.singleSlabs && fuel.getItemDamage() == 3) { return 150; } return 0; } }); /* TODO for(int i = 0; i < 2; i++){ ItemStack fuelItem = new ItemStack(TCItemRegistry.shells,1); Item rodItem = null; switch(i){ case 0: rodItem = TCItemRegistry.rodOld; break; case 1: rodItem = TCItemRegistry.rodGood; fuelItem = new ItemStack(TCItemRegistry.lemon,1,0); break; case 2: rodItem = TCItemRegistry.rodSuper; fuelItem = new ItemStack(TCItemRegistry.oreDrops,1,3); break; } createRecipe(false, new ItemStack(rodItem, 1), new Object[] { " #", " #X", "# F", '#', TCItemRegistry.bambooStick, 'X', Item.silk, 'F', fuelItem }); }*/ } }