001 package org.bukkit.inventory;
002
003 /**
004 * Interface to the crafting inventories
005 */
006 public interface CraftingInventory extends Inventory {
007
008 /**
009 * Check what item is in the result slot of this crafting inventory.
010 *
011 * @return The result item.
012 */
013 ItemStack getResult();
014
015 /**
016 * Get the contents of the crafting matrix.
017 *
018 * @return The contents.
019 */
020 ItemStack[] getMatrix();
021
022 /**
023 * Set the item in the result slot of the crafting inventory.
024 *
025 * @param newResult The new result item.
026 */
027 void setResult(ItemStack newResult);
028
029 /**
030 * Replace the contents of the crafting matrix
031 *
032 * @param contents The new contents.
033 * @throws IllegalArgumentException if the length of contents is greater
034 * than the size of the crafting matrix.
035 */
036 void setMatrix(ItemStack[] contents);
037
038 /**
039 * Get the current recipe formed on the crafting inventory, if any.
040 *
041 * @return The recipe, or null if the current contents don't match any
042 * recipe.
043 */
044 Recipe getRecipe();
045 }