package crazypants.enderio.machine.enchanter;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.item.ItemStack;
import crazypants.enderio.Log;
public class EnchanterRecipeManager {
private static EnchanterRecipeManager instance = new EnchanterRecipeManager();
public static EnchanterRecipeManager getInstance() {
return instance;
}
private final List<EnchanterRecipe> recipes = new ArrayList<EnchanterRecipe>();
public void loadRecipesFromConfig() {
List<EnchanterRecipe> res = EnchanterRecipeParser.loadRecipeConfig();
if(res != null) {
recipes.addAll(res);
}
Log.info("Loaded " + recipes.size() + " recipes for Enchanter");
}
public EnchanterRecipe getEnchantmentRecipeForInput(ItemStack itemStack) {
if(itemStack == null) {
return null;
}
for(EnchanterRecipe recipe : recipes) {
if(recipe.isInput(itemStack)) {
return recipe;
}
}
return null;
}
public void addCustomRecipes(String xml) {
try {
List<EnchanterRecipe> newRec = EnchanterRecipeParser.parse(xml);
EnchanterRecipeParser.merge(recipes, newRec);
} catch (Exception e) {
Log.error("EnchanterRecipeManager: Error processing custom Enchanter recipes: " + e);
}
}
public List<EnchanterRecipe> getRecipes() {
return recipes;
}
}