    001package net.minecraft.item.crafting;
    002
    003import net.minecraft.inventory.InventoryCrafting;
    004import net.minecraft.item.ItemStack;
    005import net.minecraft.world.World;
    006
    007public interface IRecipe
    008{
    009    /**
    010     * Used to check if a recipe matches current crafting inventory
    011     */
    012    boolean matches(InventoryCrafting inventorycrafting, World world);
    013
    014    /**
    015     * Returns an Item that is the result of this recipe
    016     */
    017    ItemStack getCraftingResult(InventoryCrafting inventorycrafting);
    018
    019    /**
    020     * Returns the size of the recipe area
    021     */
    022    int getRecipeSize();
    023
    024    ItemStack getRecipeOutput();
    025}