From 85c804fa112fd1f19c91e45d150a787cfbf0f7a8 Mon Sep 17 00:00:00 2001 From: Shawn Buckley Date: Sun, 18 Oct 2015 23:04:39 -0400 Subject: Move source directory --- .../loaders/postload/GT_CraftingRecipeLoader.java | 665 +++++++++++++++++++++ 1 file changed, 665 insertions(+) create mode 100644 src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java (limited to 'src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java') diff --git a/src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java new file mode 100644 index 0000000000..acb3d8009b --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java @@ -0,0 +1,665 @@ +package gregtech.loaders.postload; + +import gregtech.GT_Mod; +import gregtech.api.GregTech_API; +import gregtech.api.enums.ConfigCategories; +import gregtech.api.enums.ConfigCategories.Recipes; +import gregtech.api.enums.Dyes; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OreDictNames; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.ToolDictNames; +import gregtech.api.util.GT_Config; +import gregtech.api.util.GT_Log; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_ModHandler.RecipeBits; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; +import gregtech.common.GT_Proxy; + +import java.io.PrintStream; + +import appeng.api.features.IP2PTunnelRegistry; +import appeng.core.Api; +import cpw.mods.fml.common.Loader; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class GT_CraftingRecipeLoader + implements Runnable +{ + public void run() + { + GT_Log.out.println("GT_Mod: Adding nerfed Vanilla Recipes."); + GT_ModHandler.addCraftingRecipe(new ItemStack(Items.bucket, 1), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES, new Object[] { "XhX", " X ", Character.valueOf('X'), OrePrefixes.plate.get(Materials.AnyIron) }); + if (!GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.recipereplacements, "Iron.Bucket", true)) { + GT_ModHandler.addCraftingRecipe(new ItemStack(Items.bucket, 1), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "X X", " X ", Character.valueOf('X'), OrePrefixes.ingot.get(Materials.AnyIron) }); + } + ItemStack tMat = new ItemStack(Items.iron_ingot); + if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.recipereplacements, "Iron.PressurePlate", true)) + { + ItemStack tStack; + if (null != (tStack = GT_ModHandler.removeRecipe(new ItemStack[] { tMat, tMat, null, null, null, null, null, null, null }))) { + GT_ModHandler.addCraftingRecipe(tStack, GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES, new Object[] { "XXh", Character.valueOf('X'), OrePrefixes.plate.get(Materials.AnyIron), Character.valueOf('S'), OrePrefixes.stick.get(Materials.Wood), Character.valueOf('I'), OrePrefixes.ingot.get(Materials.AnyIron) }); + } + } + if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.recipereplacements, "Iron.Door", true)) + { + ItemStack tStack; + if (null != (tStack = GT_ModHandler.removeRecipe(new ItemStack[] { tMat, tMat, null, tMat, tMat, null, tMat, tMat, null }))) { + GT_ModHandler.addCraftingRecipe(tStack, GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES, new Object[] { "XX ", "XXh", "XX ", Character.valueOf('X'), OrePrefixes.plate.get(Materials.AnyIron), Character.valueOf('S'), OrePrefixes.stick.get(Materials.Wood), Character.valueOf('I'), OrePrefixes.ingot.get(Materials.AnyIron) }); + } + } + if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.recipereplacements, "Iron.Cauldron", true)) + { + ItemStack tStack; + if (null != (tStack = GT_ModHandler.removeRecipe(new ItemStack[] { tMat, null, tMat, tMat, null, tMat, tMat, tMat, tMat }))) { + GT_ModHandler.addCraftingRecipe(tStack, GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES, new Object[] { "X X", "XhX", "XXX", Character.valueOf('X'), OrePrefixes.plate.get(Materials.AnyIron), Character.valueOf('S'), OrePrefixes.stick.get(Materials.Wood), Character.valueOf('I'), OrePrefixes.ingot.get(Materials.AnyIron) }); + } + } + if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.recipereplacements, "Iron.Hopper", true)) + { + ItemStack tStack; + if (null != (tStack = GT_ModHandler.removeRecipe(new ItemStack[] { tMat, null, tMat, tMat, new ItemStack(Blocks.chest, 1, 0), tMat, null, tMat, null }))) { + GT_ModHandler.addCraftingRecipe(tStack, GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES, new Object[] { "XwX", "XCX", " X ", Character.valueOf('X'), OrePrefixes.plate.get(Materials.AnyIron), Character.valueOf('S'), OrePrefixes.stick.get(Materials.Wood), Character.valueOf('I'), OrePrefixes.ingot.get(Materials.AnyIron), Character.valueOf('C'), "craftingChest" }); + } + } + if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.recipereplacements, "Iron.Bars", true)) + { + ItemStack tStack; + if (null != (tStack = GT_ModHandler.removeRecipe(new ItemStack[] { tMat, tMat, tMat, tMat, tMat, tMat, null, null, null }))) + { + tStack.stackSize /= 2; + GT_ModHandler.addCraftingRecipe(tStack, GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES, new Object[] { " w ", "XXX", "XXX", Character.valueOf('X'), OrePrefixes.stick.get(Materials.AnyIron), Character.valueOf('S'), OrePrefixes.stick.get(Materials.Wood), Character.valueOf('I'), OrePrefixes.ingot.get(Materials.AnyIron) }); + } + } + GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("ironFence", 6L), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[] { "XXX", "XXX", " w ", Character.valueOf('X'), OrePrefixes.stick.get(Materials.AnyIron), Character.valueOf('S'), OrePrefixes.stick.get(Materials.Wood), Character.valueOf('I'), OrePrefixes.ingot.get(Materials.AnyIron) }); + + tMat = new ItemStack(Items.gold_ingot); + if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.recipereplacements, "Gold.PressurePlate", true)) + { + ItemStack tStack; + if (null != (tStack = GT_ModHandler.removeRecipe(new ItemStack[] { tMat, tMat, null, null, null, null, null, null, null }))) { + GT_ModHandler.addCraftingRecipe(tStack, GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES, new Object[] { "XXh", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Gold), Character.valueOf('S'), OrePrefixes.stick.get(Materials.Wood), Character.valueOf('I'), OrePrefixes.ingot.get(Materials.Gold) }); + } + } + tMat = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Rubber, 1L); + if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.recipereplacements, "Rubber.Sheet", true)) + { + ItemStack tStack; + if (null != (tStack = GT_ModHandler.removeRecipe(new ItemStack[] { tMat, tMat, tMat, tMat, tMat, tMat, null, null, null }))) { + GT_ModHandler.addCraftingRecipe(tStack, GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES, new Object[] { "XXX", "XXX", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Rubber) }); + } + } + GT_ModHandler.removeRecipeByOutput(ItemList.Bottle_Empty.get(1L, new Object[0])); + GT_ModHandler.removeRecipeByOutput(ItemList.IC2_Spray_WeedEx.get(1L, new Object[0])); + GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("reBattery", 1L)); + + ItemStack tStack = GT_ModHandler.removeRecipe(new ItemStack[] { new ItemStack(Blocks.planks, 1, 0), null, null, new ItemStack(Blocks.planks, 1, 0) }); + if (tStack != null) + { + GT_ModHandler.addCraftingRecipe(GT_Utility.copyAmount(GT_Mod.gregtechproxy.mNerfedWoodPlank ? tStack.stackSize : tStack.stackSize * 5 / 4, new Object[] { tStack }), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "s", "P", "P", Character.valueOf('P'), OrePrefixes.plank.get(Materials.Wood) }); + GT_ModHandler.addCraftingRecipe(GT_Utility.copyAmount(GT_Mod.gregtechproxy.mNerfedWoodPlank ? tStack.stackSize / 2 : tStack.stackSize, new Object[] { tStack }), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "P", "P", Character.valueOf('P'), OrePrefixes.plank.get(Materials.Wood) }); + } + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.wooden_pressure_plate, 1, 0), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "PP", Character.valueOf('P'), OrePrefixes.plank.get(Materials.Wood) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.stone_button, 2, 0), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "S", "S", Character.valueOf('S'), OrePrefixes.stone }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.stone_pressure_plate, 1, 0), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "SS", Character.valueOf('S'), OrePrefixes.stone }); + GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(Blocks.stone_button, 1, 0), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { OrePrefixes.stone }); + + GT_Log.out.println("GT_Mod: Adding Vanilla Convenience Recipes."); + + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.stonebrick, 1, 3), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "f", "X", Character.valueOf('X'), new ItemStack(Blocks.double_stone_slab, 1, 8) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.gravel, 1, 0), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "h", "X", Character.valueOf('X'), new ItemStack(Blocks.cobblestone, 1, 0) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.cobblestone, 1, 0), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "h", "X", Character.valueOf('X'), new ItemStack(Blocks.stone, 1, 0) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.stonebrick, 1, 2), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "h", "X", Character.valueOf('X'), new ItemStack(Blocks.stonebrick, 1, 0) }); + GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(Blocks.double_stone_slab, 1, 8), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { new ItemStack(Blocks.double_stone_slab, 1, 0) }); + GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(Blocks.double_stone_slab, 1, 0), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { new ItemStack(Blocks.double_stone_slab, 1, 8) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.double_stone_slab, 1, 0), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "B", "B", Character.valueOf('B'), new ItemStack(Blocks.stone_slab, 1, 0) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.cobblestone, 1, 0), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "B", "B", Character.valueOf('B'), new ItemStack(Blocks.stone_slab, 1, 3) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.brick_block, 1, 0), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "B", "B", Character.valueOf('B'), new ItemStack(Blocks.stone_slab, 1, 4) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.stonebrick, 1, 0), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "B", "B", Character.valueOf('B'), new ItemStack(Blocks.stone_slab, 1, 5) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.nether_brick, 1, 0), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "B", "B", Character.valueOf('B'), new ItemStack(Blocks.stone_slab, 1, 6) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.quartz_block, 1, 0), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "B", "B", Character.valueOf('B'), new ItemStack(Blocks.stone_slab, 1, 7) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.double_stone_slab, 1, 8), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "B", "B", Character.valueOf('B'), new ItemStack(Blocks.stone_slab, 1, 8) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.planks, 1, 0), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "B", "B", Character.valueOf('B'), new ItemStack(Blocks.wooden_slab, 1, 0) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.planks, 1, 1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "B", "B", Character.valueOf('B'), new ItemStack(Blocks.wooden_slab, 1, 1) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.planks, 1, 2), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "B", "B", Character.valueOf('B'), new ItemStack(Blocks.wooden_slab, 1, 2) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.planks, 1, 3), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "B", "B", Character.valueOf('B'), new ItemStack(Blocks.wooden_slab, 1, 3) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.planks, 1, 4), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "B", "B", Character.valueOf('B'), new ItemStack(Blocks.wooden_slab, 1, 4) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.planks, 1, 5), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "B", "B", Character.valueOf('B'), new ItemStack(Blocks.wooden_slab, 1, 5) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.planks, 1, 6), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "B", "B", Character.valueOf('B'), new ItemStack(Blocks.wooden_slab, 1, 6) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.planks, 1, 7), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "B", "B", Character.valueOf('B'), new ItemStack(Blocks.wooden_slab, 1, 7) }); + + GT_ModHandler.addCraftingRecipe(new ItemStack(Items.stick, 2, 0), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "s", "X", Character.valueOf('X'), new ItemStack(Blocks.deadbush, 1, 32767) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Items.stick, 2, 0), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "s", "X", Character.valueOf('X'), new ItemStack(Blocks.tallgrass, 1, 0) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Items.stick, 1, 0), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "s", "X", Character.valueOf('X'), OrePrefixes.treeSapling }); + + GT_ModHandler.addCraftingRecipe(new ItemStack(Items.comparator, 1, 0), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { " T ", "TQT", "SSS", Character.valueOf('Q'), OreDictNames.craftingQuartz, Character.valueOf('S'), OrePrefixes.stoneSmooth, Character.valueOf('T'), OreDictNames.craftingRedstoneTorch }); + + GT_Log.out.println("GT_Mod: Adding Tool Recipes."); + GT_ModHandler.addCraftingRecipe(new ItemStack(Items.minecart, 1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES, new Object[] { " h ", "PwP", "WPW", Character.valueOf('P'), OrePrefixes.plate.get(Materials.AnyIron), Character.valueOf('W'), ItemList.Component_Minecart_Wheels_Iron }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Items.minecart, 1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { " h ", "PwP", "WPW", Character.valueOf('P'), OrePrefixes.plate.get(Materials.Steel), Character.valueOf('W'), ItemList.Component_Minecart_Wheels_Steel }); + + GT_ModHandler.addCraftingRecipe(new ItemStack(Items.chest_minecart, 1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES, new Object[] { "X", "C", Character.valueOf('C'), new ItemStack(Items.minecart, 1), Character.valueOf('X'), OreDictNames.craftingChest }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Items.furnace_minecart, 1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES, new Object[] { "X", "C", Character.valueOf('C'), new ItemStack(Items.minecart, 1), Character.valueOf('X'), OreDictNames.craftingFurnace }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Items.hopper_minecart, 1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES, new Object[] { "X", "C", Character.valueOf('C'), new ItemStack(Items.minecart, 1), Character.valueOf('X'), new ItemStack(Blocks.hopper, 1, 32767) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Items.tnt_minecart, 1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES, new Object[] { "X", "C", Character.valueOf('C'), new ItemStack(Items.minecart, 1), Character.valueOf('X'), new ItemStack(Blocks.tnt, 1, 32767) }); + + GT_ModHandler.addCraftingRecipe(new ItemStack(Items.chainmail_helmet, 1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES, new Object[] { "RRR", "RhR", Character.valueOf('R'), OrePrefixes.ring.get(Materials.Steel) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Items.chainmail_chestplate, 1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES, new Object[] { "RhR", "RRR", "RRR", Character.valueOf('R'), OrePrefixes.ring.get(Materials.Steel) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Items.chainmail_leggings, 1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES, new Object[] { "RRR", "RhR", "R R", Character.valueOf('R'), OrePrefixes.ring.get(Materials.Steel) }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Items.chainmail_boots, 1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES, new Object[] { "R R", "RhR", Character.valueOf('R'), OrePrefixes.ring.get(Materials.Steel) }); + + GT_Log.out.println("GT_Mod: Adding Wool and Color releated Recipes."); + GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(Blocks.wool, 1, 1), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeOrange }); + GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(Blocks.wool, 1, 2), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeMagenta }); + GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(Blocks.wool, 1, 3), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeLightBlue }); + GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(Blocks.wool, 1, 4), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeYellow }); + GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(Blocks.wool, 1, 5), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeLime }); + GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(Blocks.wool, 1, 6), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyePink }); + GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(Blocks.wool, 1, 7), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeGray }); + GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(Blocks.wool, 1, 8), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeLightGray }); + GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(Blocks.wool, 1, 9), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeCyan }); + GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(Blocks.wool, 1, 10), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyePurple }); + GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(Blocks.wool, 1, 11), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeBlue }); + GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(Blocks.wool, 1, 12), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeBrown }); + GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(Blocks.wool, 1, 13), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeGreen }); + GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(Blocks.wool, 1, 14), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeRed }); + GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(Blocks.wool, 1, 15), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeBlack }); + + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.stained_glass, 8, 0), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "GGG", "GDG", "GGG", Character.valueOf('G'), new ItemStack(Blocks.glass, 1), Character.valueOf('D'), Dyes.dyeWhite }); + + GT_Log.out.println("GT_Mod: Putting a Potato on a Stick."); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Packaged_PotatoChips.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { OrePrefixes.foil.get(Materials.Aluminium), ItemList.Food_PotatoChips }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Packaged_ChiliChips.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { OrePrefixes.foil.get(Materials.Aluminium), ItemList.Food_ChiliChips }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Packaged_Fries.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { OrePrefixes.plateDouble.get(Materials.Paper), ItemList.Food_Fries }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Chum_On_Stick.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { OrePrefixes.stick.get(Materials.Wood), ItemList.Food_Chum }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Potato_On_Stick.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { OrePrefixes.stick.get(Materials.Wood), ItemList.Food_Raw_Potato }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Potato_On_Stick_Roasted.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { OrePrefixes.stick.get(Materials.Wood), ItemList.Food_Baked_Potato }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Dough.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { OrePrefixes.bucket.get(Materials.Water), OrePrefixes.dust.get(Materials.Wheat) }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Dough_Sugar.get(2L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "foodDough", OrePrefixes.dust.get(Materials.Sugar) }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Dough_Chocolate.get(2L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "foodDough", OrePrefixes.dust.get(Materials.Cocoa) }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Dough_Chocolate.get(2L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "foodDough", OrePrefixes.dust.get(Materials.Chocolate) }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Flat_Dough.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "foodDough", ToolDictNames.craftingToolRollingPin }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Raw_Bun.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "foodDough" }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Raw_Bread.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "foodDough", "foodDough" }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Raw_Baguette.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "foodDough", "foodDough", "foodDough" }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Raw_Cake.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Dough_Sugar, ItemList.Food_Dough_Sugar, ItemList.Food_Dough_Sugar, ItemList.Food_Dough_Sugar }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_ChiliChips.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_PotatoChips, OrePrefixes.dust.get(Materials.Chili) }); + + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Sliced_Buns.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Bun, ItemList.Food_Sliced_Bun }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Sliced_Breads.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Bread, ItemList.Food_Sliced_Bread }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Sliced_Baguettes.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Baguette, ItemList.Food_Sliced_Baguette }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Sliced_Bun.get(2L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Buns }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Sliced_Bread.get(2L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Breads }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Sliced_Baguette.get(2L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Baguettes }); + + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Burger_Veggie.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Buns, ItemList.Food_Sliced_Cucumber, ItemList.Food_Sliced_Tomato, ItemList.Food_Sliced_Onion }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Burger_Cheese.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Buns, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Burger_Meat.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Buns, OrePrefixes.dust.get(Materials.MeatCooked) }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Burger_Chum.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Buns, ItemList.Food_Chum }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Burger_Veggie.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Bun, ItemList.Food_Sliced_Bun, ItemList.Food_Sliced_Cucumber, ItemList.Food_Sliced_Tomato, ItemList.Food_Sliced_Onion }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Burger_Cheese.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Bun, ItemList.Food_Sliced_Bun, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Burger_Meat.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Bun, ItemList.Food_Sliced_Bun, OrePrefixes.dust.get(Materials.MeatCooked) }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Burger_Chum.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Bun, ItemList.Food_Sliced_Bun, ItemList.Food_Chum }); + + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Sandwich_Veggie.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Breads, ItemList.Food_Sliced_Cucumber, ItemList.Food_Sliced_Cucumber, ItemList.Food_Sliced_Tomato, ItemList.Food_Sliced_Tomato, ItemList.Food_Sliced_Onion }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Sandwich_Cheese.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Breads, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Sandwich_Bacon.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Breads, new ItemStack(Items.cooked_porkchop, 1) }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Sandwich_Steak.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Breads, new ItemStack(Items.cooked_beef, 1) }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Sandwich_Veggie.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Bread, ItemList.Food_Sliced_Bread, ItemList.Food_Sliced_Cucumber, ItemList.Food_Sliced_Cucumber, ItemList.Food_Sliced_Tomato, ItemList.Food_Sliced_Tomato, ItemList.Food_Sliced_Onion }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Sandwich_Cheese.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Bread, ItemList.Food_Sliced_Bread, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Sandwich_Bacon.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Bread, ItemList.Food_Sliced_Bread, new ItemStack(Items.cooked_porkchop, 1) }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Sandwich_Steak.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Bread, ItemList.Food_Sliced_Bread, new ItemStack(Items.cooked_beef, 1) }); + + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Large_Sandwich_Veggie.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Baguettes, ItemList.Food_Sliced_Cucumber, ItemList.Food_Sliced_Cucumber, ItemList.Food_Sliced_Cucumber, ItemList.Food_Sliced_Tomato, ItemList.Food_Sliced_Tomato, ItemList.Food_Sliced_Tomato, ItemList.Food_Sliced_Onion }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Large_Sandwich_Cheese.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Baguettes, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Large_Sandwich_Bacon.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Baguettes, new ItemStack(Items.cooked_porkchop, 1), new ItemStack(Items.cooked_porkchop, 1) }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Large_Sandwich_Steak.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Baguettes, new ItemStack(Items.cooked_beef, 1), new ItemStack(Items.cooked_beef, 1) }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Large_Sandwich_Veggie.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Baguette, ItemList.Food_Sliced_Baguette, ItemList.Food_Sliced_Cucumber, ItemList.Food_Sliced_Cucumber, ItemList.Food_Sliced_Cucumber, ItemList.Food_Sliced_Tomato, ItemList.Food_Sliced_Tomato, ItemList.Food_Sliced_Tomato, ItemList.Food_Sliced_Onion }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Large_Sandwich_Cheese.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Baguette, ItemList.Food_Sliced_Baguette, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Large_Sandwich_Bacon.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Baguette, ItemList.Food_Sliced_Baguette, new ItemStack(Items.cooked_porkchop, 1), new ItemStack(Items.cooked_porkchop, 1) }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Large_Sandwich_Steak.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Sliced_Baguette, ItemList.Food_Sliced_Baguette, new ItemStack(Items.cooked_beef, 1), new ItemStack(Items.cooked_beef, 1) }); + + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Raw_Pizza_Veggie.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Flat_Dough, ItemList.Food_Sliced_Cucumber, ItemList.Food_Sliced_Tomato, ItemList.Food_Sliced_Onion }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Raw_Pizza_Cheese.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Flat_Dough, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese }); + GT_ModHandler.addShapelessCraftingRecipe(ItemList.Food_Raw_Pizza_Meat.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { ItemList.Food_Flat_Dough, OrePrefixes.dust.get(Materials.MeatCooked) }); + + GT_ModHandler.addCraftingRecipe(ItemList.Food_Sliced_Cheese.get(4L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "kX", Character.valueOf('X'), "foodCheese" }); + GT_ModHandler.addCraftingRecipe(ItemList.Food_Sliced_Lemon.get(4L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "kX", Character.valueOf('X'), "cropLemon" }); + GT_ModHandler.addCraftingRecipe(ItemList.Food_Sliced_Tomato.get(4L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "kX", Character.valueOf('X'), "cropTomato" }); + GT_ModHandler.addCraftingRecipe(ItemList.Food_Sliced_Onion.get(4L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "kX", Character.valueOf('X'), "cropOnion" }); + GT_ModHandler.addCraftingRecipe(ItemList.Food_Sliced_Cucumber.get(4L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "kX", Character.valueOf('X'), "cropCucumber" }); + GT_ModHandler.addCraftingRecipe(ItemList.Food_Sliced_Bun.get(2L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "kX", Character.valueOf('X'), ItemList.Food_Baked_Bun }); + GT_ModHandler.addCraftingRecipe(ItemList.Food_Sliced_Bread.get(2L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "kX", Character.valueOf('X'), ItemList.Food_Baked_Bread }); + GT_ModHandler.addCraftingRecipe(ItemList.Food_Sliced_Baguette.get(2L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "kX", Character.valueOf('X'), ItemList.Food_Baked_Baguette }); + GT_ModHandler.addCraftingRecipe(ItemList.Food_Raw_PotatoChips.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "kX", Character.valueOf('X'), "cropPotato" }); + GT_ModHandler.addCraftingRecipe(ItemList.Food_Raw_Cookie.get(4L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "kX", Character.valueOf('X'), ItemList.Food_Dough_Chocolate }); + + GT_ModHandler.addCraftingRecipe(ItemList.Food_Raw_Fries.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "k", "X", Character.valueOf('X'), "cropPotato" }); + GT_ModHandler.addCraftingRecipe(new ItemStack(Items.bowl, 1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "k", "X", Character.valueOf('X'), OrePrefixes.plank.get(Materials.Wood) }); + GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Rubber, 1L), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "k", "X", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Rubber) }); + GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadArrow, Materials.Flint, 1L), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "f", "X", Character.valueOf('X'), new ItemStack(Items.flint, 1, 32767) }); + + GT_ModHandler.addCraftingRecipe(new ItemStack(Items.arrow, 1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES, new Object[] { " H", " S ", "F ", Character.valueOf('H'), new ItemStack(Items.flint, 1, 32767), Character.valueOf('S'), OrePrefixes.stick.get(Materials.Wood), Character.valueOf('F'), OreDictNames.craftingFeather }); + + GT_ModHandler.removeRecipe(new ItemStack[] { new ItemStack(Blocks.planks), null, new ItemStack(Blocks.planks), null, new ItemStack(Blocks.planks) }); + GT_ModHandler.removeRecipeByOutput(ItemList.Food_Baked_Bread.get(1L, new Object[0])); + GT_ModHandler.removeRecipeByOutput(new ItemStack(Items.cookie, 1)); + GT_ModHandler.removeRecipe(new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tin, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1L) }); + if (null != GT_Utility.setStack(GT_ModHandler.getRecipeOutput(true, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1L), null, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tin, 1L) }), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Bronze, GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.disabledrecipes, "bronzeingotcrafting", true) ? 1L : 2L))) { + GT_Log.out.println("GT_Mod: Changed Forestrys Bronze Recipe"); + } + if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.disabledrecipes, "enchantmenttable", false)) + { + GT_Log.out.println("GT_Mod: Removing the Recipe of the Enchantment Table, to have more Fun at enchanting with the Anvil and Books from Dungeons."); + GT_ModHandler.removeRecipeByOutput(new ItemStack(Blocks.enchanting_table, 1)); + } + if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.disabledrecipes, "enderchest", false)) { + GT_ModHandler.removeRecipeByOutput(new ItemStack(Blocks.ender_chest, 1)); + } + tStack = GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 1L); + GT_ModHandler.addCraftingRecipe(GT_ModHandler.getRecipeOutput(new ItemStack[] { null, new ItemStack(Blocks.sand, 1, 0), null, null, GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Apatite, 1L), null, null, new ItemStack(Blocks.sand, 1, 0), null }), new Object[] { "S", "A", "S", Character.valueOf('A'), OrePrefixes.dust.get(Materials.Apatite), Character.valueOf('S'), new ItemStack(Blocks.sand, 1, 32767) }); + GT_ModHandler.addCraftingRecipe(GT_ModHandler.getRecipeOutput(new ItemStack[] { tStack, tStack, tStack, tStack, GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Apatite, 1L), tStack, tStack, tStack, tStack }), new Object[] { "SSS", "SAS", "SSS", Character.valueOf('A'), OrePrefixes.dust.get(Materials.Apatite), Character.valueOf('S'), OrePrefixes.dust.get(Materials.Ash) }); + + GT_Log.out.println("GT_Mod: Adding Mixed Metal Ingot Recipes."); + GT_ModHandler.removeRecipeByOutput(ItemList.IC2_Mixed_Metal_Ingot.get(1L, new Object[0])); + + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.AnyIron), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Tin) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.AnyIron), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Zinc) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.AnyIron), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Aluminium) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.AnyIron), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Tin) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.AnyIron), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Zinc) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.AnyIron), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Aluminium) }); + + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Nickel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Tin) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Nickel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Zinc) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Nickel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Aluminium) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Nickel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Tin) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Nickel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Zinc) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Nickel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Aluminium) }); + + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(2L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Invar), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Tin) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(2L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Invar), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Zinc) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(3L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Invar), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Aluminium) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(2L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Invar), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Tin) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(2L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Invar), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Zinc) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(3L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Invar), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Aluminium) }); + + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(2L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Steel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Tin) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(2L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Steel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Zinc) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(3L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Steel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Aluminium) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(2L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Steel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Tin) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(2L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Steel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Zinc) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(3L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Steel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Aluminium) }); + + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(3L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.StainlessSteel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Tin) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(3L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.StainlessSteel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Zinc) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(4L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.StainlessSteel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Aluminium) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(3L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.StainlessSteel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Tin) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(3L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.StainlessSteel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Zinc) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(4L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.StainlessSteel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Aluminium) }); + + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(3L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Titanium), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Tin) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(3L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Titanium), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Zinc) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(4L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Titanium), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Aluminium) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(3L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Titanium), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Tin) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(3L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Titanium), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Zinc) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(4L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Titanium), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Aluminium) }); + + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(3L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Tungsten), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Tin) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(3L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Tungsten), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Zinc) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(4L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Tungsten), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Aluminium) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(3L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Tungsten), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Tin) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(3L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Tungsten), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Zinc) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(4L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.Tungsten), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Aluminium) }); + + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(5L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.TungstenSteel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Tin) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(5L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.TungstenSteel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Zinc) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(6L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.TungstenSteel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Bronze), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Aluminium) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(5L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.TungstenSteel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Tin) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(5L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.TungstenSteel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Zinc) }); + GT_ModHandler.addCraftingRecipe(ItemList.IC2_Mixed_Metal_Ingot.get(6L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "X", "Y", "Z", Character.valueOf('X'), OrePrefixes.plate.get(Materials.TungstenSteel), Character.valueOf('Y'), OrePrefixes.plate.get(Materials.Brass), Character.valueOf('Z'), OrePrefixes.plate.get(Materials.Aluminium) }); + + GT_Log.out.println("GT_Mod: Adding Rolling Machine Recipes."); + GT_ModHandler.addRollingMachineRecipe(ItemList.RC_Rail_Standard.get(4L, new Object[0]), new Object[] { "X X", "X X", "X X", Character.valueOf('X'), OrePrefixes.ingot.get(Materials.Aluminium).toString() }); + GT_ModHandler.addRollingMachineRecipe(ItemList.RC_Rail_Standard.get(32L, new Object[0]), new Object[] { "X X", "X X", "X X", Character.valueOf('X'), OrePrefixes.ingot.get(Materials.Titanium).toString() }); + GT_ModHandler.addRollingMachineRecipe(ItemList.RC_Rail_Standard.get(32L, new Object[0]), new Object[] { "X X", "X X", "X X", Character.valueOf('X'), OrePrefixes.ingot.get(Materials.Tungsten).toString() }); + + GT_ModHandler.addRollingMachineRecipe(ItemList.RC_Rail_Reinforced.get(32L, new Object[0]), new Object[] { "X X", "X X", "X X", Character.valueOf('X'), OrePrefixes.ingot.get(Materials.TungstenSteel).toString() }); + + GT_ModHandler.addRollingMachineRecipe(ItemList.RC_Rebar.get(2L, new Object[0]), new Object[] { " X", " X ", "X ", Character.valueOf('X'), OrePrefixes.ingot.get(Materials.Aluminium).toString() }); + GT_ModHandler.addRollingMachineRecipe(ItemList.RC_Rebar.get(16L, new Object[0]), new Object[] { " X", " X ", "X ", Character.valueOf('X'), OrePrefixes.ingot.get(Materials.Titanium).toString() }); + GT_ModHandler.addRollingMachineRecipe(ItemList.RC_Rebar.get(16L, new Object[0]), new Object[] { " X", " X ", "X ", Character.valueOf('X'), OrePrefixes.ingot.get(Materials.Tungsten).toString() }); + GT_ModHandler.addRollingMachineRecipe(ItemList.RC_Rebar.get(48L, new Object[0]), new Object[] { " X", " X ", "X ", Character.valueOf('X'), OrePrefixes.ingot.get(Materials.TungstenSteel).toString() }); + + GT_ModHandler.addRollingMachineRecipe(GT_ModHandler.getModItem("Railcraft", "post.metal.light.blue", 8L), new Object[] { "XXX", " X ", "XXX", Character.valueOf('X'), OrePrefixes.ingot.get(Materials.Aluminium).toString() }); + GT_ModHandler.addRollingMachineRecipe(GT_ModHandler.getModItem("Railcraft", "post.metal.purple", 64L), new Object[] { "XXX", " X ", "XXX", Character.valueOf('X'), OrePrefixes.ingot.get(Materials.Titanium).toString() }); + GT_ModHandler.addRollingMachineRecipe(GT_ModHandler.getModItem("Railcraft", "post.metal.black", 64L), new Object[] { "XXX", " X ", "XXX", Character.valueOf('X'), OrePrefixes.ingot.get(Materials.Tungsten).toString() }); + + GT_ModHandler.addRollingMachineRecipe(GT_ModHandler.getModItem("Railcraft", "post.metal.light.blue", 8L), new Object[] { "X X", "XXX", "X X", Character.valueOf('X'), OrePrefixes.ingot.get(Materials.Aluminium).toString() }); + GT_ModHandler.addRollingMachineRecipe(GT_ModHandler.getModItem("Railcraft", "post.metal.purple", 64L), new Object[] { "X X", "XXX", "X X", Character.valueOf('X'), OrePrefixes.ingot.get(Materials.Titanium).toString() }); + GT_ModHandler.addRollingMachineRecipe(GT_ModHandler.getModItem("Railcraft", "post.metal.black", 64L), new Object[] { "X X", "XXX", "X X", Character.valueOf('X'), OrePrefixes.ingot.get(Materials.Tungsten).toString() }); + + GT_Log.out.println("GT_Mod: Replacing Railcraft Recipes with slightly more OreDicted Variants"); + + long tBitMask = GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES_IF_SAME_NBT | GT_Mo