From 7f2289945663c89f20bcc8bfde1124af42620a7c Mon Sep 17 00:00:00 2001
From: GJ <gjmcferrin@gmail.com>
Date: Mon, 16 Dec 2013 22:30:13 -0500
Subject: [PATCH] [Bleeding] Re-add EntityShootBowEvent lost in
 e93a3eb3b4c5234e3e3936bc697d566a42d3b30e. Fixes BUKKIT-4214

In the 1.2 update for CraftBukkit, a missed diff resulted in Skeletons no longer firing an EntityShootBowEvent when they shoot an arrow.
---
 .../java/net/minecraft/server/EntitySkeleton.java  | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/main/java/net/minecraft/server/EntitySkeleton.java b/src/main/java/net/minecraft/server/EntitySkeleton.java
index 11ba41a174..da5fd8f98c 100644
--- a/src/main/java/net/minecraft/server/EntitySkeleton.java
+++ b/src/main/java/net/minecraft/server/EntitySkeleton.java
@@ -243,8 +243,20 @@ public class EntitySkeleton extends EntityMonster implements IRangedEntity {
             entityarrow.setOnFire(100);
         }
 
+        // CraftBukkit start
+        org.bukkit.event.entity.EntityShootBowEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityShootBowEvent(this, this.be(), entityarrow, 0.8F);
+        if (event.isCancelled()) {
+            event.getProjectile().remove();
+            return;
+        }
+
+        if (event.getProjectile() == entityarrow.getBukkitEntity()) {
+            world.addEntity(entityarrow);
+        }
+        // CraftBukkit end
+
         this.makeSound("random.bow", 1.0F, 1.0F / (this.aI().nextFloat() * 0.4F + 0.8F));
-        this.world.addEntity(entityarrow);
+        // this.world.addEntity(entityarrow); // CraftBukkit - moved up
     }
 
     public int getSkeletonType() {