Files
Paper/paper-api/src/main/java/org/bukkit/entity/Arrow.java
2017-01-16 23:51:27 +01:00

75 lines
1.8 KiB
Java

package org.bukkit.entity;
/**
* Represents an arrow.
*/
public interface Arrow extends Projectile {
/**
* Gets the knockback strength for an arrow, which is the
* {@link org.bukkit.enchantments.Enchantment#KNOCKBACK KnockBack} level
* of the bow that shot it.
*
* @return the knockback strength value
*/
public int getKnockbackStrength();
/**
* Sets the knockback strength for an arrow.
*
* @param knockbackStrength the knockback strength value
*/
public void setKnockbackStrength(int knockbackStrength);
/**
* Gets whether this arrow is critical.
* <p>
* Critical arrows have increased damage and cause particle effects.
* <p>
* Critical arrows generally occur when a player fully draws a bow before
* firing.
*
* @return true if it is critical
*/
public boolean isCritical();
/**
* Sets whether or not this arrow should be critical.
*
* @param critical whether or not it should be critical
*/
public void setCritical(boolean critical);
/**
* Gets the current pickup status of this arrow.
*
* @return the pickup status of this arrow.
*/
public PickupStatus getPickupStatus();
/**
* Sets the current pickup status of this arrow.
*
* @param status new pickup status of this arrow.
*/
public void setPickupStatus(PickupStatus status);
/**
* Represents the pickup status of this arrow.
*/
public enum PickupStatus {
/**
* The arrow cannot be picked up.
*/
DISALLOWED,
/**
* The arrow can be picked up.
*/
ALLOWED,
/**
* The arrow can only be picked up by players in creative mode.
*/
CREATIVE_ONLY
}
}