001 package org.bukkit.event.block; 002 003 import org.bukkit.block.Block; 004 import org.bukkit.block.BlockState; 005 import org.bukkit.event.Cancellable; 006 import org.bukkit.event.HandlerList; 007 008 /** 009 * Called when a block grows naturally in the world. 010 * <p> 011 * Examples: 012 * <ul> 013 * <li>Wheat 014 * <li>Sugar Cane 015 * <li>Cactus 016 * <li>Watermelon 017 * <li>Pumpkin 018 * </ul> 019 * <p> 020 * If a Block Grow event is cancelled, the block will not grow. 021 */ 022 public class BlockGrowEvent extends BlockEvent implements Cancellable { 023 private static final HandlerList handlers = new HandlerList(); 024 private final BlockState newState; 025 private boolean cancelled = false; 026 027 public BlockGrowEvent(final Block block, final BlockState newState) { 028 super(block); 029 this.newState = newState; 030 } 031 032 /** 033 * Gets the state of the block where it will form or spread to. 034 * 035 * @return The block state for this events block 036 */ 037 public BlockState getNewState() { 038 return newState; 039 } 040 041 public boolean isCancelled() { 042 return cancelled; 043 } 044 045 public void setCancelled(boolean cancel) { 046 this.cancelled = cancel; 047 } 048 049 public HandlerList getHandlers() { 050 return handlers; 051 } 052 053 public static HandlerList getHandlerList() { 054 return handlers; 055 } 056 }