From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 15 Jun 2013 19:52:04 -0400
Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API

Adds ability to get what arrow was shot, and control if it should be consumed.

diff --git a/src/main/java/org/bukkit/event/entity/EntityShootBowEvent.java b/src/main/java/org/bukkit/event/entity/EntityShootBowEvent.java
index f8c91a13..c9eb75aa 100644
--- a/src/main/java/org/bukkit/event/entity/EntityShootBowEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityShootBowEvent.java
@@ -0,0 +0,0 @@ public class EntityShootBowEvent extends EntityEvent implements Cancellable {
     private Entity projectile;
     private final float force;
     private boolean cancelled;
+    // Paper start
+    private boolean consumeArrow = true;
+    private final ItemStack arrowItem;
+    public boolean getConsumeArrow() {
+        return consumeArrow;
+    }
+    public void setConsumeArrow(boolean consumeArrow) {
+        this.consumeArrow = consumeArrow;
+    }
 
+    public ItemStack getArrowItem() {
+        return arrowItem;
+    }
+
+    @Deprecated
     public EntityShootBowEvent(final LivingEntity shooter, final ItemStack bow, final Projectile projectile, final float force) {
+        this(shooter, bow, new ItemStack(org.bukkit.Material.AIR), projectile, force);
+    }
+    public EntityShootBowEvent(final LivingEntity shooter, final ItemStack bow, ItemStack arrowItem, final Projectile projectile, final float force) {
         super(shooter);
+        this.arrowItem = arrowItem;
+        // Paper end
         this.bow = bow;
         this.projectile = projectile;
         this.force = force;
--