001 package org.bukkit.event.inventory;
002
003 import org.bukkit.event.HandlerList;
004 import org.bukkit.inventory.CraftingInventory;
005 import org.bukkit.inventory.InventoryView;
006 import org.bukkit.inventory.Recipe;
007
008 public class PrepareItemCraftEvent extends InventoryEvent {
009 private static final HandlerList handlers = new HandlerList();
010 private boolean repair;
011 private CraftingInventory matrix;
012
013 public PrepareItemCraftEvent(CraftingInventory what, InventoryView view, boolean isRepair) {
014 super(view);
015 this.matrix = what;
016 this.repair = isRepair;
017 }
018
019 /**
020 * Get the recipe that has been formed. If this event was triggered by a
021 * tool repair, this will be a temporary shapeless recipe representing the
022 * repair.
023 *
024 * @return The recipe being crafted.
025 */
026 public Recipe getRecipe() {
027 return matrix.getRecipe();
028 }
029
030 /**
031 * @return The crafting inventory on which the recipe was formed.
032 */
033 @Override
034 public CraftingInventory getInventory() {
035 return matrix;
036 }
037
038 /**
039 * Check if this event was triggered by a tool repair operation rather
040 * than a crafting recipe.
041 *
042 * @return True if this is a repair.
043 */
044 public boolean isRepair() {
045 return repair;
046 }
047
048 @Override
049 public HandlerList getHandlers() {
050 return handlers;
051 }
052
053 public static HandlerList getHandlerList() {
054 return handlers;
055 }
056 }