2019-06-06 15:36:57 +00:00
From 43cb4f347979fa70a0374d85f070f6e69f9230e1 Mon Sep 17 00:00:00 2001
2018-06-18 04:39:04 +00:00
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
2019-06-06 15:36:57 +00:00
index 18c5e31ab..37dbc12eb 100644
2018-06-18 04:39:04 +00:00
--- a/src/main/java/org/bukkit/event/entity/EntityShootBowEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityShootBowEvent.java
2019-04-23 04:47:07 +00:00
@@ -2,6 +2,7 @@ package org.bukkit.event.entity;
import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity;
+import org.bukkit.entity.Projectile; // Paper
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
import org.bukkit.inventory.ItemStack;
@@ -17,9 +18,30 @@ public class EntityShootBowEvent extends EntityEvent implements Cancellable {
2018-06-18 04:39:04 +00:00
private Entity projectile;
private final float force;
private boolean cancelled;
+ // Paper start
+ private boolean consumeArrow = true;
+ private final ItemStack arrowItem;
+ public void setConsumeArrow(boolean consumeArrow) {
+ this.consumeArrow = consumeArrow;
+ }
2019-03-20 00:28:15 +00:00
+ public boolean getConsumeArrow() {
+ return consumeArrow;
+ }
2019-05-07 18:56:32 +00:00
2019-03-20 00:28:15 +00:00
+ @NotNull
2018-06-18 04:39:04 +00:00
+ public ItemStack getArrowItem() {
+ return arrowItem;
+ }
+
+ @Deprecated
2019-05-07 18:56:32 +00:00
public EntityShootBowEvent(@NotNull final LivingEntity shooter, @Nullable final ItemStack bow, @NotNull final Entity projectile, final float force) {
2018-06-18 04:39:04 +00:00
+ this(shooter, bow, new ItemStack(org.bukkit.Material.AIR), projectile, force);
+ }
2019-05-07 18:56:32 +00:00
+
+ public EntityShootBowEvent(@NotNull final LivingEntity shooter, @Nullable final ItemStack bow, @NotNull ItemStack arrowItem, @NotNull final Entity projectile, final float force) {
2018-06-18 04:39:04 +00:00
super(shooter);
+ this.arrowItem = arrowItem;
+ // Paper end
this.bow = bow;
this.projectile = projectile;
this.force = force;
--
2019-03-20 00:28:15 +00:00
2.21.0
2018-06-18 04:39:04 +00:00