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 is formed or spreads based on world conditions.
010 * <p>
011 * Use {@link BlockSpreadEvent} to catch blocks that actually spread and don't
012 * just "randomly" form.
013 * <p>
014 * Examples:
015 * <ul>
016 * <li>Snow forming due to a snow storm.
017 * <li>Ice forming in a snowy Biome like Taiga or Tundra.
018 * </ul>
019 * <p>
020 * If a Block Form event is cancelled, the block will not be formed.
021 *
022 * @see BlockSpreadEvent
023 */
024 public class BlockFormEvent extends BlockGrowEvent implements Cancellable {
025 private static final HandlerList handlers = new HandlerList();
026
027 public BlockFormEvent(final Block block, final BlockState newState) {
028 super(block, newState);
029 }
030
031 @Override
032 public HandlerList getHandlers() {
033 return handlers;
034 }
035
036 public static HandlerList getHandlerList() {
037 return handlers;
038 }
039 }