001 package org.bukkit.event.inventory; 002 003 import org.bukkit.block.Block; 004 import org.bukkit.event.Cancellable; 005 import org.bukkit.event.HandlerList; 006 import org.bukkit.event.block.BlockEvent; 007 import org.bukkit.inventory.ItemStack; 008 009 /** 010 * Called when an ItemStack is successfully smelted in a furnace. 011 */ 012 public class FurnaceSmeltEvent extends BlockEvent implements Cancellable { 013 private static final HandlerList handlers = new HandlerList(); 014 private final ItemStack source; 015 private ItemStack result; 016 private boolean cancelled; 017 018 public FurnaceSmeltEvent(final Block furnace, final ItemStack source, final ItemStack result) { 019 super(furnace); 020 this.source = source; 021 this.result = result; 022 this.cancelled = false; 023 } 024 025 /** 026 * Gets the block for the furnace involved in this event 027 * 028 * @return the block of the furnace 029 * @deprecated In favour of {@link #getBlock()}. 030 */ 031 @Deprecated 032 public Block getFurnace() { 033 return getBlock(); 034 } 035 036 /** 037 * Gets the smelted ItemStack for this event 038 * 039 * @return smelting source ItemStack 040 */ 041 public ItemStack getSource() { 042 return source; 043 } 044 045 /** 046 * Gets the resultant ItemStack for this event 047 * 048 * @return smelting result ItemStack 049 */ 050 public ItemStack getResult() { 051 return result; 052 } 053 054 /** 055 * Sets the resultant ItemStack for this event 056 * 057 * @param result new result ItemStack 058 */ 059 public void setResult(ItemStack result) { 060 this.result = result; 061 } 062 063 public boolean isCancelled() { 064 return cancelled; 065 } 066 067 public void setCancelled(boolean cancel) { 068 this.cancelled = cancel; 069 } 070 071 @Override 072 public HandlerList getHandlers() { 073 return handlers; 074 } 075 076 public static HandlerList getHandlerList() { 077 return handlers; 078 } 079 }