| package buildcraft.api.recipes; | |
| import java.util.LinkedList; | |
| import net.minecraft.src.ItemStack; | |
| public class AssemblyRecipe { | |
| public static LinkedList<AssemblyRecipe> assemblyRecipes = new LinkedList<AssemblyRecipe>(); | |
| public final ItemStack[] input; | |
| public final ItemStack output; | |
| public final float energy; | |
| public AssemblyRecipe(ItemStack[] input, int energy, ItemStack output) { | |
| this.input = input; | |
| this.output = output; | |
| this.energy = energy; | |
| } | |
| public boolean canBeDone(ItemStack[] items) { | |
| for (ItemStack in : input) { | |
| if (in == null) | |
| continue; | |
| int found = 0; // Amount of ingredient found in inventory | |
| for (ItemStack item : items) { | |
| if (item == null) | |
| continue; | |
| if (item.isItemEqual(in)) | |
| found += item.stackSize; // Adds quantity of stack to amount | |
| // found | |
| } | |
| if (found < in.stackSize) | |
| return false; // Return false if the amount of ingredient found | |
| // is not enough | |
| } | |
| return true; | |
| } | |
| } |