[Bleeding] Implemented ProjectileLaunchEvent. Addresses BUKKIT-284

This commit is contained in:
Celtic Minstrel 2012-03-12 12:45:09 -04:00 committed by EvilSeph
parent 6f6f8ef008
commit 92f771a022
2 changed files with 12 additions and 0 deletions

View File

@ -897,6 +897,11 @@ public class World implements IBlockAccess {
if (event.isCancelled()) {
return false;
}
} else if (entity.getBukkitEntity() instanceof org.bukkit.entity.Projectile) {
// Not all projectiles extend EntityProjectile, so check for Bukkit interface instead
if (CraftEventFactory.callProjectileLaunchEvent(entity).isCancelled()) {
return false;
}
}
// CraftBukkit end

View File

@ -491,4 +491,11 @@ public class CraftEventFactory {
return CraftItemStack.createNMSItemStack(bitem);
}
public static ProjectileLaunchEvent callProjectileLaunchEvent(Entity entity) {
Projectile bukkitEntity = (Projectile) entity.getBukkitEntity();
ProjectileLaunchEvent event = new ProjectileLaunchEvent(bukkitEntity);
Bukkit.getPluginManager().callEvent(event);
return event;
}
}