001 package org.bukkit.event.entity; 002 003 import org.bukkit.Material; 004 import org.bukkit.block.Block; 005 import org.bukkit.entity.Entity; 006 import org.bukkit.entity.LivingEntity; 007 import org.bukkit.event.Cancellable; 008 import org.bukkit.event.HandlerList; 009 010 /** 011 * Called when any Entity, excluding players, changes a block. 012 */ 013 public class EntityChangeBlockEvent extends EntityEvent implements Cancellable { 014 private static final HandlerList handlers = new HandlerList(); 015 private final Block block; 016 private boolean cancel; 017 private final Material to; 018 private final byte data; 019 020 /** 021 * 022 * @param what the LivingEntity causing the change 023 * @param block the block (before the change) 024 * @param to the future material being changed to 025 * @deprecated Provided as a backward compatibility before the data byte 026 * was provided, and type increased to all entities 027 */ 028 @Deprecated 029 public EntityChangeBlockEvent(final LivingEntity what, final Block block, final Material to) { 030 this (what, block, to, (byte) 0); 031 } 032 033 /** 034 * 035 * @param what the Entity causing the change 036 * @param block the block (before the change) 037 * @param to the future material being changed to 038 * @param data the future block data 039 * @deprecated Magic value 040 */ 041 @Deprecated 042 public EntityChangeBlockEvent(final Entity what, final Block block, final Material to, final byte data) { 043 super(what); 044 this.block = block; 045 this.cancel = false; 046 this.to = to; 047 this.data = data; 048 } 049 050 /** 051 * Gets the block the entity is changing 052 * 053 * @return the block that is changing 054 */ 055 public Block getBlock() { 056 return block; 057 } 058 059 public boolean isCancelled() { 060 return cancel; 061 } 062 063 public void setCancelled(boolean cancel) { 064 this.cancel = cancel; 065 } 066 067 /** 068 * Gets the Material that the block is changing into 069 * 070 * @return the material that the block is changing into 071 */ 072 public Material getTo() { 073 return to; 074 } 075 076 /** 077 * Gets the data for the block that would be changed into 078 * 079 * @return the data for the block that would be changed into 080 * @deprecated Magic value 081 */ 082 @Deprecated 083 public byte getData() { 084 return data; 085 } 086 087 @Override 088 public HandlerList getHandlers() { 089 return handlers; 090 } 091 092 public static HandlerList getHandlerList() { 093 return handlers; 094 } 095 }