[Bleeding] Deprecate Enderman events in favor of EntityChangeBlock

This commit is contained in:
Aidan Matzko 2012-02-04 12:40:52 -05:00 committed by EvilSeph
parent 10ab7b96ed
commit 6dda89d873

View File

@ -8,6 +8,7 @@ import org.bukkit.craftbukkit.event.CraftEventFactory;
import org.bukkit.event.entity.EndermanPickupEvent;
import org.bukkit.event.entity.EndermanPlaceEvent;
import org.bukkit.event.entity.EntityTeleportEvent;
import org.bukkit.event.entity.EntityChangeBlockEvent;
// CraftBukkit end
public class EntityEnderman extends EntityMonster {
@ -108,9 +109,14 @@ public class EntityEnderman extends EntityMonster {
l = this.world.getTypeId(i, j, k);
if (b[l]) {
// CraftBukkit start - pickup event
// TODO: We still call the old event
EndermanPickupEvent pickup = new EndermanPickupEvent(this.getBukkitEntity(), this.world.getWorld().getBlockAt(i, j, k));
this.world.getServer().getPluginManager().callEvent(pickup);
if (!pickup.isCancelled()) {
EntityChangeBlockEvent event = new EntityChangeBlockEvent(this.getBukkitEntity(), this.world.getWorld().getBlockAt(i, j, k), org.bukkit.Material.AIR);
this.world.getServer().getPluginManager().callEvent(event);
if (!pickup.isCancelled() && !event.isCancelled()) {
this.setCarriedId(this.world.getTypeId(i, j, k));
this.setCarriedData(this.world.getData(i, j, k));
this.world.setTypeId(i, j, k, 0);
@ -127,9 +133,14 @@ public class EntityEnderman extends EntityMonster {
if (l == 0 && i1 > 0 && Block.byId[i1].b()) {
// CraftBukkit start - place event
// TODO: We still call the old event
EndermanPlaceEvent place = new EndermanPlaceEvent(this.getBukkitEntity(), new Location(this.world.getWorld(), i, j, k));
this.world.getServer().getPluginManager().callEvent(place);
if (!place.isCancelled()) {
EntityChangeBlockEvent event = new EntityChangeBlockEvent(this.getBukkitEntity(), this.world.getWorld().getBlockAt(i, j, k), org.bukkit.Material.AIR);
this.world.getServer().getPluginManager().callEvent(event);
if (!place.isCancelled() && !event.isCancelled()) {
this.world.setTypeIdAndData(i, j, k, this.getCarriedId(), this.getCarriedData());
this.setCarriedId(0);
}