From 8653295d444b05e00995c1468255eeb0b7415a14 Mon Sep 17 00:00:00 2001 From: pahimar Date: Tue, 5 Jun 2012 08:14:20 -0400 Subject: [PATCH] More work on the secondary P Stone, moved around some of the dynEMC stuff --- ee3_common/ee3/core/ConfigurationManager.java | 4 +- ee3_common/ee3/core/RecipesPhilStone.java | 80 +------------------ ee3_common/ee3/emc/EMCList.java | 71 +++++++++++++++- ...ItemRedStone.java => ItemMiniumStone.java} | 56 ++++++------- ee3_common/ee3/item/ModItems.java | 10 +-- ee3_common/ee3/lib/ItemIds.java | 2 +- 6 files changed, 109 insertions(+), 114 deletions(-) rename ee3_common/ee3/item/{ItemRedStone.java => ItemMiniumStone.java} (86%) diff --git a/ee3_common/ee3/core/ConfigurationManager.java b/ee3_common/ee3/core/ConfigurationManager.java index a7116149..4e089eef 100644 --- a/ee3_common/ee3/core/ConfigurationManager.java +++ b/ee3_common/ee3/core/ConfigurationManager.java @@ -59,8 +59,8 @@ public class ConfigurationManager { prop = config.getOrCreateBlockIdProperty("device", 179); /* Item Ids */ - prop = config.getOrCreateIntProperty("redStone", CATEGORY_ITEM, 27270); - RED_STONE = prop.getInt(); + prop = config.getOrCreateIntProperty("miniumStone", CATEGORY_ITEM, 27270); + MINIUM_STONE = prop.getInt(); prop = config.getOrCreateIntProperty("philStone", CATEGORY_ITEM, 27271); PHIL_STONE = prop.getInt(); prop = config.getOrCreateIntProperty("djinnRing", CATEGORY_ITEM, 27272); diff --git a/ee3_common/ee3/core/RecipesPhilStone.java b/ee3_common/ee3/core/RecipesPhilStone.java index c41119a3..3e6aada4 100644 --- a/ee3_common/ee3/core/RecipesPhilStone.java +++ b/ee3_common/ee3/core/RecipesPhilStone.java @@ -1,26 +1,14 @@ package ee3.core; -import java.lang.reflect.Field; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Vector; - -import cpw.mods.fml.common.ReflectionHelper; - import ee3.item.ItemPhilosopherStone; +import ee3.item.ItemMiniumStone; import ee3.item.ModItems; import net.minecraft.src.Block; -import net.minecraft.src.CraftingManager; import net.minecraft.src.FurnaceRecipes; -import net.minecraft.src.IRecipe; import net.minecraft.src.Item; import net.minecraft.src.ItemStack; import net.minecraft.src.ModLoader; -import net.minecraft.src.ShapedRecipes; -import net.minecraft.src.ShapelessRecipes; -import net.minecraft.src.mod_EE3; import static net.minecraft.src.Item.*; import static net.minecraft.src.Block.*; @@ -33,16 +21,15 @@ import static net.minecraft.src.Block.*; public class RecipesPhilStone { private static ItemStack philStone = new ItemStack(ModItems.philStone, 1, -1); + private static ItemStack miniumStone = new ItemStack(ModItems.miniumStone, 1, -1); private static ItemStack anyCoal = new ItemStack(coal, 1, -1); private static ItemStack anyWood = new ItemStack(wood, 1, -1); private static ItemStack anyPlank = new ItemStack(planks, 1, -1); private static ItemStack anySandStone = new ItemStack(sandStone, 1, -1); private static ItemStack dyeBoneMeal = new ItemStack(dyePowder, 1, 15); - - + public static void initRecipes() { - //determineBaseMaterials(); initTransmutationRecipes(); initEquivalenceRecipes(); initReconstructiveRecipes(); @@ -50,67 +37,6 @@ public class RecipesPhilStone { initPortableSmeltingRecipes(); } - public static void determineBaseMaterials() { - CraftingManager instance = CraftingManager.getInstance(); - List recipeList = instance.getRecipeList(); - - IRecipe recipe; - ShapedRecipes shapedRecipe; - ShapelessRecipes shapelessRecipe; - - ItemStack[] shapedInputs; - List shapelessInputs; - - ItemStack recipeOutput = null; - Iterator recipeIter = recipeList.iterator(); - - ItemStack[] recipeInputs = null; - Vector inputs = new Vector(); - Vector outputs = new Vector(); - - try { - while (recipeIter.hasNext()) { - recipe = recipeIter.next(); - - if (recipe instanceof ShapedRecipes) { - shapedRecipe = (ShapedRecipes) recipe; - //shapedInputs = mod_EE3.proxy.getPrivateValue(ShapedRecipes.class, shapedRecipe, "recipeItems"); - recipeInputs = ReflectionHelper.getPrivateValue(ShapedRecipes.class, shapedRecipe, "recipeItems"); - recipeOutput = ReflectionHelper.getPrivateValue(ShapedRecipes.class, shapedRecipe, "recipeOutput"); - System.out.println("Shaped Recipe"); - } - else if (recipe instanceof ShapelessRecipes) { - shapelessRecipe = (ShapelessRecipes) recipe; - shapelessInputs = ReflectionHelper.getPrivateValue(ShapelessRecipes.class, shapelessRecipe, "recipeItems"); - recipeInputs = shapelessInputs.toArray(new ItemStack[0]); - recipeOutput = ReflectionHelper.getPrivateValue(ShapelessRecipes.class, shapelessRecipe, "recipeOutput"); - System.out.println("Shapeless Recipe"); - } - System.out.println("Output: " + recipeOutput.toString()); - outputs.add(recipeOutput.getItem().shiftedIndex); - for (ItemStack itemStack : recipeInputs) { - if (itemStack != null) { - System.out.println("Input: " + itemStack.toString()); - if (!inputs.contains(new Integer(itemStack.getItem().shiftedIndex))) - inputs.add(new Integer(itemStack.getItem().shiftedIndex)); - } - } - System.out.println(); - } - - //for (int i = 0; i < outputs.size(); i++) { - // System.out.println("i: " + i + ", item: " + outputs.get(i)); - //} - inputs.removeAll(outputs); - for (int i = 0; i < inputs.size(); i++) { - System.out.println(i + "," + inputs.get(i) + "," + Item.itemsList[inputs.get(i)].getItemName()); - } - } - catch (Exception e) { - e.printStackTrace(System.err); - } - } - public static void initTransmutationRecipes() { /* 4 Cobble <-> 1 Flint */ addRecipe(flint, philStone, cobblestone, cobblestone, cobblestone, cobblestone); diff --git a/ee3_common/ee3/emc/EMCList.java b/ee3_common/ee3/emc/EMCList.java index f2fa73ba..1b91f025 100644 --- a/ee3_common/ee3/emc/EMCList.java +++ b/ee3_common/ee3/emc/EMCList.java @@ -1,10 +1,18 @@ package ee3.emc; import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Vector; import net.minecraft.src.Block; +import net.minecraft.src.CraftingManager; +import net.minecraft.src.IRecipe; import net.minecraft.src.Item; import net.minecraft.src.ItemStack; +import net.minecraft.src.ModLoader; +import net.minecraft.src.ShapedRecipes; +import net.minecraft.src.ShapelessRecipes; public class EMCList { @@ -15,12 +23,73 @@ public class EMCList { } public void initEMCList() { - + determineBaseMaterials(); } /* Helper functions */ + private static void determineBaseMaterials() { + CraftingManager instance = CraftingManager.getInstance(); + List recipeList = instance.getRecipeList(); + + IRecipe recipe; + ShapedRecipes shapedRecipe; + ShapelessRecipes shapelessRecipe; + + ItemStack[] shapedInputs; + List shapelessInputs; + + ItemStack recipeOutput = null; + Iterator recipeIter = recipeList.iterator(); + + ItemStack[] recipeInputs = null; + Vector inputs = new Vector(); + Vector outputs = new Vector(); + + try { + while (recipeIter.hasNext()) { + recipe = recipeIter.next(); + + if (recipe instanceof ShapedRecipes) { + shapedRecipe = (ShapedRecipes) recipe; + //shapedInputs = mod_EE3.proxy.getPrivateValue(ShapedRecipes.class, shapedRecipe, "recipeItems"); + recipeInputs = ModLoader.getPrivateValue(ShapedRecipes.class, shapedRecipe, "recipeItems"); + recipeOutput = ModLoader.getPrivateValue(ShapedRecipes.class, shapedRecipe, "recipeOutput"); + System.out.println("Shaped Recipe"); + } + else if (recipe instanceof ShapelessRecipes) { + shapelessRecipe = (ShapelessRecipes) recipe; + shapelessInputs = ModLoader.getPrivateValue(ShapelessRecipes.class, shapelessRecipe, "recipeItems"); + recipeInputs = shapelessInputs.toArray(new ItemStack[0]); + recipeOutput = ModLoader.getPrivateValue(ShapelessRecipes.class, shapelessRecipe, "recipeOutput"); + System.out.println("Shapeless Recipe"); + } + System.out.println("Output: " + recipeOutput.toString()); + outputs.add(recipeOutput.getItem().shiftedIndex); + for (ItemStack itemStack : recipeInputs) { + if (itemStack != null) { + System.out.println("Input: " + itemStack.toString()); + if (!inputs.contains(new Integer(itemStack.getItem().shiftedIndex))) + inputs.add(new Integer(itemStack.getItem().shiftedIndex)); + } + } + System.out.println(); + } + + //for (int i = 0; i < outputs.size(); i++) { + // System.out.println("i: " + i + ", item: " + outputs.get(i)); + //} + inputs.removeAll(outputs); + for (int i = 0; i < inputs.size(); i++) { + System.out.println(i + "," + inputs.get(i) + "," + Item.itemsList[inputs.get(i)].getItemName()); + } + } + catch (Exception e) { + e.printStackTrace(System.err); + } + } + private void printEMCList() { System.out.println("\n*** Starting Debug Dump of EMC List ***"); System.out.println("*** End of EMC List ***\n"); diff --git a/ee3_common/ee3/item/ItemRedStone.java b/ee3_common/ee3/item/ItemMiniumStone.java similarity index 86% rename from ee3_common/ee3/item/ItemRedStone.java rename to ee3_common/ee3/item/ItemMiniumStone.java index 7ddd5e42..4753704f 100644 --- a/ee3_common/ee3/item/ItemRedStone.java +++ b/ee3_common/ee3/item/ItemMiniumStone.java @@ -1,28 +1,28 @@ -package ee3.item; - -import net.minecraft.src.EnumRarity; -import net.minecraft.src.ItemStack; -import net.minecraft.src.mod_EE3; -import ee3.lib.CustomItemRarity; - -public class ItemRedStone extends ItemEE { - - // Possible names: Vermillion Stone, Minium Stone, Red Stone - - public ItemRedStone(int i) { - super(i); - } - - /* - * Returns the custom item rarity type for the item - * @see net.minecraft.src.Item#getRarity(net.minecraft.src.ItemStack) - */ - public EnumRarity getRarity(ItemStack par1ItemStack) { - return mod_EE3.proxy.getCustomEnumRarityType(CustomItemRarity.MAGICAL); - } - - @Override - public boolean doesContainerItemLeaveCraftingGrid(ItemStack ist) { - return false; - } -} +package ee3.item; + +import net.minecraft.src.EnumRarity; +import net.minecraft.src.ItemStack; +import net.minecraft.src.mod_EE3; +import ee3.lib.CustomItemRarity; + +public class ItemMiniumStone extends ItemEE { + + // Possible names: Vermillion Stone, Minium Stone, Red Stone + + public ItemMiniumStone(int i) { + super(i); + } + + /* + * Returns the custom item rarity type for the item + * @see net.minecraft.src.Item#getRarity(net.minecraft.src.ItemStack) + */ + public EnumRarity getRarity(ItemStack par1ItemStack) { + return mod_EE3.proxy.getCustomEnumRarityType(CustomItemRarity.MAGICAL); + } + + @Override + public boolean doesContainerItemLeaveCraftingGrid(ItemStack ist) { + return false; + } +} diff --git a/ee3_common/ee3/item/ModItems.java b/ee3_common/ee3/item/ModItems.java index b4ae7103..6b02dd33 100644 --- a/ee3_common/ee3/item/ModItems.java +++ b/ee3_common/ee3/item/ModItems.java @@ -15,7 +15,7 @@ public class ModItems { private static boolean initialized; - public static Item redStone; + public static Item miniumStone; public static Item philStone; public static void init() { @@ -23,18 +23,18 @@ public class ModItems { initialized = true; /* Initialise each mod item individually */ - redStone = new ItemRedStone(ItemIds.RED_STONE).setIconCoord(0, 0).setItemName("redStone"); + miniumStone = new ItemMiniumStone(ItemIds.MINIUM_STONE).setIconCoord(0, 0).setItemName("miniumStone"); philStone = new ItemPhilosopherStone(ItemIds.PHIL_STONE).setIconCoord(1, 0).setItemName("philStone"); /* Set the Container items for our mod items */ - redStone.setContainerItem(redStone); + miniumStone.setContainerItem(miniumStone); philStone.setContainerItem(philStone); /* Add the item names to the mod items */ - ModLoader.addName(redStone, "Red Stone"); + ModLoader.addName(miniumStone, "Minium Stone"); ModLoader.addName(philStone, "Philosopher's Stone"); - ModLoader.addShapelessRecipe(new ItemStack(redStone), Block.dirt); + ModLoader.addShapelessRecipe(new ItemStack(miniumStone), Block.dirt); ModLoader.addShapelessRecipe(new ItemStack(philStone), Block.dirt, Block.dirt); } } diff --git a/ee3_common/ee3/lib/ItemIds.java b/ee3_common/ee3/lib/ItemIds.java index 11cbe12a..b395df28 100644 --- a/ee3_common/ee3/lib/ItemIds.java +++ b/ee3_common/ee3/lib/ItemIds.java @@ -6,7 +6,7 @@ package ee3.lib; * */ public class ItemIds { - public static int RED_STONE = 27270; + public static int MINIUM_STONE = 27270; public static int PHIL_STONE = 27271; public static int DJINN_RING; public static int EYE_OF_THE_VOID;