001    package org.bukkit.event.inventory;
002    
003    import org.bukkit.inventory.InventoryView;
004    import org.bukkit.entity.HumanEntity;
005    import org.bukkit.event.Cancellable;
006    import org.bukkit.event.HandlerList;
007    
008    /**
009     * Represents a player related inventory event
010     */
011    public class InventoryOpenEvent extends InventoryEvent implements Cancellable {
012        private static final HandlerList handlers = new HandlerList();
013        private boolean cancelled;
014    
015        public InventoryOpenEvent(InventoryView transaction) {
016            super(transaction);
017            this.cancelled = false;
018        }
019    
020        /**
021         * Returns the player involved in this event
022         *
023         * @return Player who is involved in this event
024         */
025        public final HumanEntity getPlayer() {
026            return transaction.getPlayer();
027        }
028    
029        /**
030         * Gets the cancellation state of this event. A cancelled event will not
031         * be executed in the server, but will still pass to other plugins.
032         * <p>
033         * If an inventory open event is cancelled, the inventory screen will not
034         * show.
035         *
036         * @return true if this event is cancelled
037         */
038        public boolean isCancelled() {
039            return cancelled;
040        }
041    
042        /**
043         * Sets the cancellation state of this event. A cancelled event will not
044         * be executed in the server, but will still pass to other plugins.
045         * <p>
046         * If an inventory open event is cancelled, the inventory screen will not
047         * show.
048         *
049         * @param cancel true if you wish to cancel this event
050         */
051        public void setCancelled(boolean cancel) {
052            cancelled = cancel;
053        }
054    
055        @Override
056        public HandlerList getHandlers() {
057            return handlers;
058        }
059    
060        public static HandlerList getHandlerList() {
061            return handlers;
062        }
063    }