From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Fri, 4 Mar 2016 03:13:18 -0500 Subject: [PATCH] Arrow pickup rule API diff --git a/src/main/java/org/bukkit/entity/AbstractArrow.java b/src/main/java/org/bukkit/entity/AbstractArrow.java index 9cebf79b6217063fbce395b655261ee4ab0f4e45..c901990454ec930169b0dc561987bea101f9b6ae 100644 --- a/src/main/java/org/bukkit/entity/AbstractArrow.java +++ b/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. + * + *

This is generally {@link PickupRule#ALLOWED} only if the arrow was + * not fired from a bow with the infinity enchantment.

+ * + * @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 }