From 266361d7220fc59c4e8103af369f1ccbefddb84c Mon Sep 17 00:00:00 2001 From: Vasco Lavos Date: Thu, 6 Feb 2014 16:42:16 +0000 Subject: [PATCH] Refractor of Rune Altar recipes. --- .../botania/api/recipe/RecipeRuneAltar.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/MODSRC/vazkii/botania/api/recipe/RecipeRuneAltar.java b/MODSRC/vazkii/botania/api/recipe/RecipeRuneAltar.java index 0f5df7e14..dd947dbc0 100644 --- a/MODSRC/vazkii/botania/api/recipe/RecipeRuneAltar.java +++ b/MODSRC/vazkii/botania/api/recipe/RecipeRuneAltar.java @@ -16,6 +16,7 @@ import java.util.List; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; public class RecipeRuneAltar { @@ -23,32 +24,37 @@ public class RecipeRuneAltar { List inputs = new ArrayList(); int mana; - public RecipeRuneAltar(ItemStack output, String... inputs) { + public RecipeRuneAltar(ItemStack output, int mana, String... inputs) { this.output = output; for(String i : inputs) this.inputs.add(i); + this.mana = mana; } public boolean matches(IInventory inv) { - List colorsMissing = new ArrayList(inputs); + List inputsMissing = new ArrayList(inputs); for(int i = 0; i < inv.getSizeInventory(); i++) { ItemStack stack = inv.getStackInSlot(i); if(stack == null) break; - int color = stack.getItemDamage(); + String ore = OreDictionary.getOreName(OreDictionary.getOreID(stack)); - if(!colorsMissing.contains(color)) + if(!inputsMissing.contains(ore)) return false; - colorsMissing.remove((Integer) color); + inputsMissing.remove(ore); } - return colorsMissing.isEmpty(); + return inputsMissing.isEmpty(); } public ItemStack getOutput() { return output; } + public int getManaUsage() { + return mana; + } + }