package net.t7seven7t.craftfx.recipe; import net.t7seven7t.craftfx.CraftFX; import org.bukkit.inventory.FurnaceRecipe; import org.bukkit.inventory.ItemStack; /** * Wrapper for Bukkit's FurnaceRecipe that allows setting an ingredient with ItemStack data */ public class FXFurnaceRecipe extends FurnaceRecipe implements FXRecipe { private ItemStack ingredient; public FXFurnaceRecipe(ItemStack result, ItemStack source) { super(result, source.getData()); this.ingredient = source; } /** * {@inheritDoc} */ @Override public ItemStack getInput() { return ingredient; } /** * Sets the input of this recipe to the specified ItemStack */ public FXFurnaceRecipe setInput(ItemStack input) { this.ingredient = input; return this; } @Override public boolean matches(ItemStack[] matrix) { return matrix.length > 0 && CraftFX.instance().getItemRegistry() .isSimilar(getInput(), matrix[0]); } }