Getting the Equivalency Handler back online, finishing it up tonight
This commit is contained in:
parent
95f5230d24
commit
d0036f1d85
|
@ -7,16 +7,26 @@ import net.minecraft.src.ItemStack;
|
|||
|
||||
public class EquivalencyHandler {
|
||||
|
||||
public static ArrayList<ArrayList<ItemStack>> equivalencyList = new ArrayList<ArrayList<ItemStack>>();
|
||||
private static final EquivalencyHandler instance = new EquivalencyHandler();
|
||||
|
||||
private static ArrayList<ArrayList<ItemStack>> equivalencyList = new ArrayList<ArrayList<ItemStack>>();
|
||||
|
||||
public static EquivalencyHandler instance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
public ArrayList<ArrayList<ItemStack>> getAllLists() {
|
||||
return equivalencyList;
|
||||
}
|
||||
|
||||
public static void addObjectToEquivalencyList(Object obj1, Object obj2) {
|
||||
public void addObjects(Object obj1, Object obj2) {
|
||||
ItemStack stack1 = GeneralHelper.convertObjectToItemStack(obj1);
|
||||
ItemStack stack2 = GeneralHelper.convertObjectToItemStack(obj2);
|
||||
|
||||
ArrayList<ItemStack> currentList = new ArrayList<ItemStack>();
|
||||
|
||||
Integer stack1Index = getEquivalencyIndexForItem(stack1);
|
||||
Integer stack2Index = getEquivalencyIndexForItem(stack2);
|
||||
Integer stack1Index = getIndexInList(stack1);
|
||||
Integer stack2Index = getIndexInList(stack2);
|
||||
|
||||
if ((stack1Index != null) && (stack2Index != null)) {
|
||||
return;
|
||||
|
@ -38,16 +48,16 @@ public class EquivalencyHandler {
|
|||
}
|
||||
}
|
||||
|
||||
public static void addObjectsToEquivalencyLists(Object... objList) {
|
||||
public void addObjects(Object... objList) {
|
||||
if (objList.length < 2)
|
||||
return;
|
||||
|
||||
for (int i = 0; i < objList.length - 1; i++) {
|
||||
addObjectToEquivalencyList(objList[i], objList[i + 1]);
|
||||
addObjects(objList[i], objList[i + 1]);
|
||||
}
|
||||
}
|
||||
|
||||
public static Integer getEquivalencyIndexForItem(Object obj) {
|
||||
public Integer getIndexInList(Object obj) {
|
||||
ItemStack checkStack = GeneralHelper.convertObjectToItemStack(obj);
|
||||
ArrayList<ItemStack> currentList;
|
||||
int i = 0;
|
||||
|
@ -64,8 +74,25 @@ public class EquivalencyHandler {
|
|||
|
||||
return null;
|
||||
}
|
||||
|
||||
public Integer getIndexinList(int id, int meta) {
|
||||
ArrayList<ItemStack> currentList;
|
||||
int i = 0;
|
||||
|
||||
public static ArrayList<ItemStack> getEquivalencyListForItem(Object obj) {
|
||||
while (i < equivalencyList.size()) {
|
||||
currentList = equivalencyList.get(i);
|
||||
for (ItemStack currentStack : currentList) {
|
||||
if ((id == currentStack.itemID) && (meta == currentStack.getItemDamage())) {
|
||||
return new Integer(i);
|
||||
}
|
||||
}
|
||||
++i;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public ArrayList<ItemStack> getEquivalencyList(Object obj) {
|
||||
ItemStack checkStack = GeneralHelper.convertObjectToItemStack(obj);
|
||||
|
||||
if (checkStack == null)
|
||||
|
@ -81,8 +108,63 @@ public class EquivalencyHandler {
|
|||
|
||||
return null;
|
||||
}
|
||||
|
||||
public ArrayList<ItemStack> getEquivalencyList(int id, int meta) {
|
||||
for (ArrayList<ItemStack> list : equivalencyList) {
|
||||
for (ItemStack currentStack : list) {
|
||||
if ((id == currentStack.itemID) && (meta == currentStack.getItemDamage())) {
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void debug() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public ItemStack getNextInList(Object obj) {
|
||||
ItemStack checkStack = GeneralHelper.convertObjectToItemStack(obj);
|
||||
|
||||
if (checkStack != null) {
|
||||
return getNextInList(checkStack.itemID, checkStack.getItemDamage());
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public ItemStack getNextInList(int id, int meta) {
|
||||
ArrayList<ItemStack> list = getEquivalencyList(id, meta);
|
||||
|
||||
ItemStack currentStack;
|
||||
ItemStack returnStack = null;
|
||||
int i = 0;
|
||||
|
||||
if (list != null) {
|
||||
while (i < list.size()) {
|
||||
currentStack = list.get(i);
|
||||
|
||||
if ((id == currentStack.itemID) && (meta == currentStack.getItemDamage())) {
|
||||
returnStack = list.get((i + 1) % list.size());
|
||||
break;
|
||||
}
|
||||
|
||||
++i;
|
||||
}
|
||||
}
|
||||
|
||||
return returnStack;
|
||||
}
|
||||
|
||||
public ItemStack getPrevInList(Object obj) {
|
||||
// TODO Finish
|
||||
return null;
|
||||
}
|
||||
|
||||
public ItemStack getPrevInList(int id, int meta) {
|
||||
// TODO Finish
|
||||
return null;
|
||||
}
|
||||
|
||||
public void debug() {
|
||||
int i = 0;
|
||||
for (ArrayList list : equivalencyList) {
|
||||
System.out.println("equivalencyList[" + i + "]: " + list.toString());
|
||||
|
|
|
@ -13,7 +13,7 @@ public class EMCRegistry {
|
|||
|
||||
private HashMap<Integer, HashMap<Integer, EMCEntry>> emcMap = new HashMap<Integer, HashMap<Integer, EMCEntry>>();
|
||||
|
||||
public EMCRegistry instance() {
|
||||
public static EMCRegistry instance() {
|
||||
return emcRegistry;
|
||||
}
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ public class RecipesTransmutationStone {
|
|||
}
|
||||
|
||||
if (Reference.DEBUG_MODE) {
|
||||
EquivalencyHandler.debug();
|
||||
EquivalencyHandler.instance().debug();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -110,7 +110,7 @@ public class RecipesTransmutationStone {
|
|||
public static void initEquivalenceRecipes(ItemStack stone) {
|
||||
int outputI;
|
||||
|
||||
for (ArrayList<ItemStack> itemStackList : EquivalencyHandler.equivalencyList) {
|
||||
for (ArrayList<ItemStack> itemStackList : EquivalencyHandler.instance().getAllLists()) {
|
||||
ItemStack[] currentList = new ItemStack[itemStackList.size()];
|
||||
currentList = itemStackList.toArray(currentList);
|
||||
|
||||
|
@ -173,21 +173,21 @@ public class RecipesTransmutationStone {
|
|||
}
|
||||
|
||||
protected static void initEquivalencyList() {
|
||||
EquivalencyHandler.addObjectsToEquivalencyLists(Block.sand, Block.dirt, Block.cobblestone, Block.grass);
|
||||
EquivalencyHandler.addObjectsToEquivalencyLists(Block.plantYellow, Block.plantRed);
|
||||
EquivalencyHandler.addObjectsToEquivalencyLists(Block.mushroomRed, Block.mushroomBrown);
|
||||
EquivalencyHandler.addObjectsToEquivalencyLists(Item.pumpkinSeeds, Item.melonSeeds);
|
||||
EquivalencyHandler.addObjectsToEquivalencyLists(Block.pumpkin, Block.melon);
|
||||
EquivalencyHandler.addObjectsToEquivalencyLists(new ItemStack(Item.paper, 3), new ItemStack(Item.reed, 3));
|
||||
EquivalencyHandler.addObjectsToEquivalencyLists(new ItemStack(Item.flint, 2), new ItemStack(Block.gravel, 2), new ItemStack(Block.sandStone, 2, 0), new ItemStack(Block.sandStone, 2, 1), new ItemStack(Block.sandStone, 2, 2));
|
||||
EquivalencyHandler.addObjectsToEquivalencyLists(RecipeHelper.getMetaCycle(Block.planks, 4));
|
||||
EquivalencyHandler.addObjectsToEquivalencyLists(RecipeHelper.getMetaCycle(Block.wood, 4));
|
||||
EquivalencyHandler.addObjectsToEquivalencyLists(RecipeHelper.getMetaCycle(Block.sapling, 4));
|
||||
EquivalencyHandler.addObjectsToEquivalencyLists(RecipeHelper.getMetaCycle(Block.leaves, 4));
|
||||
EquivalencyHandler.addObjectsToEquivalencyLists(RecipeHelper.getMetaCycle(Block.tallGrass, 3));
|
||||
EquivalencyHandler.addObjectsToEquivalencyLists(RecipeHelper.getMetaCycle(Block.cloth, 16));
|
||||
EquivalencyHandler.addObjectsToEquivalencyLists(RecipeHelper.getMetaCycle(Block.stoneBrick, 4));
|
||||
EquivalencyHandler.addObjectsToEquivalencyLists(RecipeHelper.getMetaCycle(Item.dyePowder, 16, 3, 4, 15));
|
||||
EquivalencyHandler.instance().addObjects(Block.sand, Block.dirt, Block.cobblestone, Block.grass);
|
||||
EquivalencyHandler.instance().addObjects(Block.plantYellow, Block.plantRed);
|
||||
EquivalencyHandler.instance().addObjects(Block.mushroomRed, Block.mushroomBrown);
|
||||
EquivalencyHandler.instance().addObjects(Item.pumpkinSeeds, Item.melonSeeds);
|
||||
EquivalencyHandler.instance().addObjects(Block.pumpkin, Block.melon);
|
||||
EquivalencyHandler.instance().addObjects(new ItemStack(Item.paper, 3), new ItemStack(Item.reed, 3));
|
||||
EquivalencyHandler.instance().addObjects(new ItemStack(Item.flint, 2), new ItemStack(Block.gravel, 2), new ItemStack(Block.sandStone, 2, 0), new ItemStack(Block.sandStone, 2, 1), new ItemStack(Block.sandStone, 2, 2));
|
||||
EquivalencyHandler.instance().addObjects(RecipeHelper.getMetaCycle(Block.planks, 4));
|
||||
EquivalencyHandler.instance().addObjects(RecipeHelper.getMetaCycle(Block.wood, 4));
|
||||
EquivalencyHandler.instance().addObjects(RecipeHelper.getMetaCycle(Block.sapling, 4));
|
||||
EquivalencyHandler.instance().addObjects(RecipeHelper.getMetaCycle(Block.leaves, 4));
|
||||
EquivalencyHandler.instance().addObjects(RecipeHelper.getMetaCycle(Block.tallGrass, 3));
|
||||
EquivalencyHandler.instance().addObjects(RecipeHelper.getMetaCycle(Block.cloth, 16));
|
||||
EquivalencyHandler.instance().addObjects(RecipeHelper.getMetaCycle(Block.stoneBrick, 4));
|
||||
EquivalencyHandler.instance().addObjects(RecipeHelper.getMetaCycle(Item.dyePowder, 16, 3, 4, 15));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue