papermc/Spigot-API-Patches/0109-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch

44 lines
1.7 KiB
Diff
Raw Normal View History

From c3d405f0ff5b1c4008276ee3eedc760062e63b2c 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
@@ -16,9 +16,28 @@ 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;
--
2.20.1