From bcd6aecdabd25485711dab204ebf2578c891a52f Mon Sep 17 00:00:00 2001 From: Jedediah Smith <jedediah@silencegreys.com> Date: Fri, 4 Mar 2016 03:13:18 -0500 Subject: [PATCH] Arrow pickup rule API --- .../java/org/bukkit/entity/AbstractArrow.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/paper-api/src/main/java/org/bukkit/entity/AbstractArrow.java b/paper-api/src/main/java/org/bukkit/entity/AbstractArrow.java index 9cebf79b62..c901990454 100644 --- a/paper-api/src/main/java/org/bukkit/entity/AbstractArrow.java +++ b/paper-api/src/main/java/org/bukkit/entity/AbstractArrow.java @@ -186,4 +186,38 @@ public interface AbstractArrow extends Projectile { */ CREATIVE_ONLY } + + // Paper start + /** + * Gets the {@link PickupRule} for this arrow. + * + * <p>This is generally {@link PickupRule#ALLOWED} only if the arrow was + * <b>not</b> fired from a bow with the infinity enchantment.</p> + * + * @return The pickup rule + * @deprecated Use {@link Arrow#getPickupStatus()} as an upstream compatible replacement for this function + */ + @Deprecated + default PickupRule getPickupRule() { + return PickupRule.valueOf(this.getPickupStatus().name()); + } + + /** + * Set the rule for which players can pickup this arrow as an item. + * + * @param rule The pickup rule + * @deprecated Use {@link Arrow#setPickupStatus(PickupStatus)} with {@link PickupStatus} as an upstream compatible replacement for this function + */ + @Deprecated + default void setPickupRule(PickupRule rule) { + this.setPickupStatus(PickupStatus.valueOf(rule.name())); + } + + @Deprecated + enum PickupRule { + DISALLOWED, + ALLOWED, + CREATIVE_ONLY; + } + // Paper end }