papermc/Spigot-API-Patches/0109-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch
Aikar 17b58d00d8
Unwrap Event Exceptions
This was a useless exception wrapper that ends up making
stack traces harder to read as well as the JVM cutting off
the important parts

Nothing catches this exception, so its safe to just get rid
of it and let the REAL exception bubble down
2019-02-23 12:17:41 -05:00

43 lines
1.7 KiB
Diff

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