001 package org.bukkit.entity;
002
003 /**
004 * Represents an arrow.
005 */
006 public interface Arrow extends Projectile {
007
008 /**
009 * Gets the knockback strength for an arrow, which is the
010 * {@link org.bukkit.enchantments.Enchantment#KNOCKBACK KnockBack} level
011 * of the bow that shot it.
012 *
013 * @return the knockback strength value
014 */
015 public int getKnockbackStrength();
016
017 /**
018 * Sets the knockback strength for an arrow.
019 *
020 * @param knockbackStrength the knockback strength value
021 */
022 public void setKnockbackStrength(int knockbackStrength);
023
024 /**
025 * Gets whether this arrow is critical.
026 * <p>
027 * Critical arrows have increased damage and cause particle effects.
028 * <p>
029 * Critical arrows generally occur when a player fully draws a bow before
030 * firing.
031 *
032 * @return true if it is critical
033 */
034 public boolean isCritical();
035
036 /**
037 * Sets whether or not this arrow should be critical.
038 *
039 * @param critical whether or not it should be critical
040 */
041 public void setCritical(boolean critical);
042 }