--- ../src-base/minecraft/net/minecraft/item/ItemBow.java +++ ../src-work/minecraft/net/minecraft/item/ItemBow.java @@ -84,6 +84,21 @@ entityarrow.setFire(100); } + // CraftBukkit start + org.bukkit.event.entity.EntityShootBowEvent cbEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityShootBowEvent(p_77615_3_, p_77615_1_, entityarrow, f); + + if (cbEvent.isCancelled()) + { + cbEvent.getProjectile().remove(); + return; + } + + if (cbEvent.getProjectile() == entityarrow.getBukkitEntity()) + { + p_77615_2_.spawnEntityInWorld(entityarrow); + } + + // CraftBukkit end p_77615_1_.damageItem(1, p_77615_3_); p_77615_2_.playSoundAtEntity(p_77615_3_, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); @@ -98,7 +113,7 @@ if (!p_77615_2_.isRemote) { - p_77615_2_.spawnEntityInWorld(entityarrow); + // p_77615_2_.spawnEntityInWorld(entityarrow); // CraftBukkit - moved up } } }