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 burned as fuel in a furnace. 011 */ 012 public class FurnaceBurnEvent extends BlockEvent implements Cancellable { 013 private static final HandlerList handlers = new HandlerList(); 014 private final ItemStack fuel; 015 private int burnTime; 016 private boolean cancelled; 017 private boolean burning; 018 019 public FurnaceBurnEvent(final Block furnace, final ItemStack fuel, final int burnTime) { 020 super(furnace); 021 this.fuel = fuel; 022 this.burnTime = burnTime; 023 this.cancelled = false; 024 this.burning = true; 025 } 026 027 /** 028 * Gets the block for the furnace involved in this event 029 * 030 * @return the block of the furnace 031 * @deprecated In favour of {@link #getBlock()}. 032 */ 033 @Deprecated 034 public Block getFurnace() { 035 return getBlock(); 036 } 037 038 /** 039 * Gets the fuel ItemStack for this event 040 * 041 * @return the fuel ItemStack 042 */ 043 public ItemStack getFuel() { 044 return fuel; 045 } 046 047 /** 048 * Gets the burn time for this fuel 049 * 050 * @return the burn time for this fuel 051 */ 052 public int getBurnTime() { 053 return burnTime; 054 } 055 056 /** 057 * Sets the burn time for this fuel 058 * 059 * @param burnTime the burn time for this fuel 060 */ 061 public void setBurnTime(int burnTime) { 062 this.burnTime = burnTime; 063 } 064 065 /** 066 * Gets whether the furnace's fuel is burning or not. 067 * 068 * @return whether the furnace's fuel is burning or not. 069 */ 070 public boolean isBurning() { 071 return this.burning; 072 } 073 074 /** 075 * Sets whether the furnace's fuel is burning or not. 076 * 077 * @param burning true if the furnace's fuel is burning 078 */ 079 public void setBurning(boolean burning) { 080 this.burning = burning; 081 } 082 083 public boolean isCancelled() { 084 return cancelled; 085 } 086 087 public void setCancelled(boolean cancel) { 088 this.cancelled = cancel; 089 } 090 091 @Override 092 public HandlerList getHandlers() { 093 return handlers; 094 } 095 096 public static HandlerList getHandlerList() { 097 return handlers; 098 } 099 }