public PositionedStack output;
    public List<PositionedStack> otherStacks = new ArrayList<PositionedStack>();
    public int mana;
    public CachedManaPoolRecipe(RecipeManaInfusion recipe) {
      inputs.add(new PositionedStack(new ItemStack(ModBlocks.pool, 1, recipe.getOutput().getItem() == Item.getItemFromBlock(ModBlocks.pool) ? 2 : 0), 71, 37));
      if(recipe.getInput() instanceof String)
        inputs.add(new PositionedStack(OreDictionary.getOres((String) recipe.getInput()), 42, 37));
      else inputs.add(new PositionedStack(recipe.getInput(), 42, 37));
      if(recipe.isAlchemy())
        otherStacks.add(new PositionedStack(new ItemStack(ModBlocks.alchemyCatalyst), 10, 37));
      else if (recipe.isConjuration())
        otherStacks.add(new PositionedStack(new ItemStack(ModBlocks.conjurationCatalyst), 10, 37));
      output = new PositionedStack(recipe.getOutput(), 101, 37);
      mana = recipe.getManaToConsume();
    }