001 package org.bukkit.event.entity;
002
003 import org.bukkit.Location;
004 import org.bukkit.entity.Item;
005 import org.bukkit.event.Cancellable;
006 import org.bukkit.event.HandlerList;
007
008 /**
009 * This event is called when a {@link org.bukkit.entity.Item} is removed from
010 * the world because it has existed for 5 minutes.
011 * <p>
012 * Cancelling the event results in the item being allowed to exist for 5 more
013 * minutes. This behavior is not guaranteed and may change in future versions.
014 */
015 public class ItemDespawnEvent extends EntityEvent implements Cancellable {
016 private static final HandlerList handlers = new HandlerList();
017 private boolean canceled;
018 private final Location location;
019
020 public ItemDespawnEvent(final Item despawnee, final Location loc) {
021 super(despawnee);
022 location = loc;
023 }
024
025 public boolean isCancelled() {
026 return canceled;
027 }
028
029 public void setCancelled(boolean cancel) {
030 canceled = cancel;
031 }
032
033 @Override
034 public Item getEntity() {
035 return (Item) entity;
036 }
037
038 /**
039 * Gets the location at which the item is despawning.
040 *
041 * @return The location at which the item is despawning
042 */
043 public Location getLocation() {
044 return location;
045 }
046
047 @Override
048 public HandlerList getHandlers() {
049 return handlers;
050 }
051
052 public static HandlerList getHandlerList() {
053 return handlers;
054 }
055 }