From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: mrapple Date: Sun, 25 Nov 2012 13:47:27 -0600 Subject: [PATCH] Add methods for working with arrows stuck in living entities Upstream added methods for this so the original methods are now deprecated diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java index 7c82644de3c438f45476ac02ce2c51c6fdbd543a..390bb294d09389877937ee2c6c3f346e65dfb178 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java @@ -215,12 +215,26 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource */ public int getArrowsInBody(); + // Paper start + /** + * Set the amount of arrows in the entity's body. + *

+ * Does not fire the {@link org.bukkit.event.entity.ArrowBodyCountChangeEvent}. + * + * @param count amount of arrows in entity's body + */ + default void setArrowsInBody(final int count) { + this.setArrowsInBody(count, false); + } + // Paper end + /** * Set the amount of arrows in the entity's body. * * @param count amount of arrows in entity's body + * @param fireEvent whether to fire the {@link org.bukkit.event.entity.ArrowBodyCountChangeEvent} event */ - public void setArrowsInBody(int count); + void setArrowsInBody(int count, boolean fireEvent); // Paper /** * Returns the living entity's current maximum no damage ticks. @@ -722,4 +736,24 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource * @return Whether the entity is invisible */ public boolean isInvisible(); + + // Paper start + /** + * Get the number of arrows stuck in this entity + * @return Number of arrows stuck + * @deprecated use {@link #getArrowsInBody()} + */ + @Deprecated + int getArrowsStuck(); + + /** + * Set the number of arrows stuck in this entity + * + * @param arrows Number of arrows to stick in this entity + * @deprecated use {@link #setArrowsInBody(int, boolean)}. This method previously fired {@link org.bukkit.event.entity.ArrowBodyCountChangeEvent} so if + * you want to retain exact functionality, pass {@code true} for {@code fireEvent}. + */ + @Deprecated + void setArrowsStuck(int arrows); + // Paper end }