Blargh
This commit is contained in:
parent
9ac6722860
commit
5f7ea23a4f
2 changed files with 35 additions and 26 deletions
|
@ -164,33 +164,31 @@ public class RecipeHelper {
|
||||||
return ItemUtil.collateStacks(getRecipeInputs(recipe));
|
return ItemUtil.collateStacks(getRecipeInputs(recipe));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ArrayList<IRecipe> getReverseRecipes(CustomWrappedStack customWrappedStack) {
|
public static ArrayList<IRecipe> getReverseRecipes(CustomWrappedStack wrappedStack) {
|
||||||
|
|
||||||
if (customWrappedStack.getWrappedStack() instanceof ItemStack) {
|
|
||||||
return getReverseRecipes((ItemStack) customWrappedStack.getWrappedStack());
|
|
||||||
}
|
|
||||||
else if (customWrappedStack.getWrappedStack() instanceof OreStack) {
|
|
||||||
// TODO Return recipes for OreStacks
|
|
||||||
LogHelper.debug("ReverseRecipe for OreStack: " + customWrappedStack.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
return new ArrayList<IRecipe>();
|
|
||||||
}
|
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
public static ArrayList<IRecipe> getReverseRecipes(ItemStack itemStack) {
|
|
||||||
|
|
||||||
ArrayList<IRecipe> reverseRecipeList = new ArrayList<IRecipe>();
|
ArrayList<IRecipe> reverseRecipeList = new ArrayList<IRecipe>();
|
||||||
|
|
||||||
if (itemStack != null) {
|
ArrayList<IRecipe> recipeList = new ArrayList<IRecipe>(CraftingManager.getInstance().getRecipeList());
|
||||||
ArrayList<IRecipe> craftingManagerRecipeList = new ArrayList<IRecipe>(CraftingManager.getInstance().getRecipeList());
|
|
||||||
|
for (IRecipe recipe : recipeList) {
|
||||||
|
|
||||||
for (IRecipe recipe : craftingManagerRecipeList) {
|
|
||||||
if (recipe.getRecipeOutput() != null) {
|
if (recipe.getRecipeOutput() != null) {
|
||||||
if (ItemUtil.compare(itemStack, recipe.getRecipeOutput())) {
|
|
||||||
|
if (wrappedStack.getWrappedStack() instanceof ItemStack) {
|
||||||
|
|
||||||
|
if (ItemUtil.compare((ItemStack) wrappedStack.getWrappedStack(), recipe.getRecipeOutput())) {
|
||||||
reverseRecipeList.add(recipe);
|
reverseRecipeList.add(recipe);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (wrappedStack.getWrappedStack() instanceof OreStack) {
|
||||||
|
|
||||||
|
if (OreDictionary.getOreID(recipe.getRecipeOutput()) != -1) {
|
||||||
|
// TODO Generalize comparison of OreStacks and OreStacks|ItemStacks
|
||||||
|
if (OreDictionary.getOreID(((OreStack)wrappedStack.getWrappedStack()).oreName) == OreDictionary.getOreID(recipe.getRecipeOutput())) {
|
||||||
|
reverseRecipeList.add(recipe);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,6 @@ public class RecipeRegistry {
|
||||||
|
|
||||||
private Multimap<CustomWrappedStack, List<CustomWrappedStack>> recipeMap;
|
private Multimap<CustomWrappedStack, List<CustomWrappedStack>> recipeMap;
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
|
||||||
private List<CustomWrappedStack> wildCardList;
|
private List<CustomWrappedStack> wildCardList;
|
||||||
|
|
||||||
private RecipeRegistry() {
|
private RecipeRegistry() {
|
||||||
|
@ -71,13 +70,20 @@ public class RecipeRegistry {
|
||||||
return getRecipes(new CustomWrappedStack(itemStack));
|
return getRecipes(new CustomWrappedStack(itemStack));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Item:
|
||||||
|
* Item (Output) <- { ... }
|
||||||
|
*
|
||||||
|
*/
|
||||||
public void addRecipe(CustomWrappedStack recipeOutput, List<?> recipeInputs) {
|
public void addRecipe(CustomWrappedStack recipeOutput, List<?> recipeInputs) {
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
|
||||||
ArrayList<CustomWrappedStack> collatedStacks = new ArrayList<CustomWrappedStack>();
|
ArrayList<CustomWrappedStack> collatedStacks = new ArrayList<CustomWrappedStack>();
|
||||||
|
|
||||||
CustomWrappedStack wrappedInputStack = null;
|
CustomWrappedStack wrappedInputStack = null;
|
||||||
|
|
||||||
|
LogHelper.debug("Recipe Output: " + recipeOutput.toString() + ", size: " + recipeOutput.getStackSize());
|
||||||
|
LogHelper.debug("Recipe Inputs: " + recipeInputs.toString());
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For every input in the input list, check to see if we have discovered
|
* For every input in the input list, check to see if we have discovered
|
||||||
* it already - If we have, add it to the one we already have - If we
|
* it already - If we have, add it to the one we already have - If we
|
||||||
|
@ -92,17 +98,22 @@ public class RecipeRegistry {
|
||||||
wrappedInputStack = (CustomWrappedStack) object;
|
wrappedInputStack = (CustomWrappedStack) object;
|
||||||
}
|
}
|
||||||
|
|
||||||
LogHelper.warning(wrappedInputStack.toString());
|
for (CustomWrappedStack collatedStack : collatedStacks) {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LogHelper.debug("Collated Recipe Inputs: " + collatedStacks.toString());
|
||||||
|
}
|
||||||
|
|
||||||
// TODO Temporary for testing, remove this later
|
// TODO Temporary for testing, remove this later
|
||||||
static {
|
static {
|
||||||
|
recipeRegistry = new RecipeRegistry();
|
||||||
CustomWrappedStack recipeOutput = new CustomWrappedStack(new ItemStack(Item.stick));
|
CustomWrappedStack recipeOutput = new CustomWrappedStack(new ItemStack(Item.stick));
|
||||||
List<IRecipe> recipes = RecipeHelper.getReverseRecipes(recipeOutput);
|
List<IRecipe> recipes = RecipeHelper.getReverseRecipes(recipeOutput);
|
||||||
|
|
||||||
for (IRecipe recipe : recipes) {
|
for (IRecipe recipe : recipes) {
|
||||||
recipeRegistry.addRecipe(recipeOutput, RecipeHelper.getRecipeInputs(recipe));
|
recipeRegistry.addRecipe(new CustomWrappedStack(recipe.getRecipeOutput()), RecipeHelper.getRecipeInputs(recipe));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue