Package org.bukkit.event.entity

# Class EntityShootBowEvent

java.lang.Object
org.bukkit.event.Event
org.bukkit.event.entity.EntityEvent
org.bukkit.event.entity.EntityShootBowEvent

All Implemented Interfaces:
  `Cancellable`

public class EntityShootBowEvent extends EntityEvent implements Cancellable
Called when a LivingEntity shoots a bow firing an arrow

## Nested Class Summary

## Nested classes/interfaces inherited from class org.bukkit.event.Event

`Event.Result`

## Field Summary

### Fields inherited from class org.bukkit.event.entity.EntityEvent

`entity`

## Constructor Summary

Constructors
Constructor
Description
`EntityShootBowEvent(@NotNull LivingEntity shooter, @Nullable ItemStack bow, @NotNull Entity projectile, float force)`
Deprecated.
`EntityShootBowEvent(@NotNull LivingEntity shooter, @Nullable ItemStack bow, @NotNull ItemStack arrowItem, @NotNull Entity projectile, float force)`
Deprecated.
`EntityShootBowEvent(@NotNull LivingEntity shooter, @Nullable ItemStack bow, @Nullable ItemStack consumable, @NotNull Entity projectile, @NotNull EquipmentSlot hand, float force, boolean consumeItem)`

## Method Summary

Modifier and Type
Method
Description
`@NotNull ItemStack`
`getArrowItem()`
Deprecated.
`@Nullable ItemStack`
`getBow()`
Gets the bow ItemStack used to fire the arrow.
`@Nullable ItemStack`
`getConsumable()`
Get the ItemStack to be consumed in this event (if any).
`boolean`
`getConsumeArrow()`
Deprecated.
`@NotNull LivingEntity`
`getEntity()`
Returns the Entity involved in this event
`float`
`getForce()`
Gets the force the arrow was launched with
`@NotNull EquipmentSlot`
`getHand()`
Get the hand from which the bow was shot.
`static @NotNull HandlerList`
`getHandlerList()`
`@NotNull HandlerList`
`getHandlers()`
`@NotNull Entity`
`getProjectile()`
Gets the projectile which will be launched by this event
`boolean`
`isCancelled()`
Gets the cancellation state of this event.
`void`
`setCancelled(boolean cancel)`
Sets the cancellation state of this event.
`void`
`setConsumeArrow(boolean consumeArrow)`
Deprecated.
`void`
`setConsumeItem(boolean consumeItem)`
Set whether or not the consumable item should be consumed in this event.
`void`
`setProjectile(@NotNull Entity projectile)`
Replaces the projectile which will be launched
`boolean`
`shouldConsumeItem()`
Get whether or not the consumable item should be consumed in this event.

### Methods inherited from class org.bukkit.event.entity.EntityEvent

`getEntityType`

### Methods inherited from class org.bukkit.event.Event

`callEvent, getEventName, isAsynchronous`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### EntityShootBowEvent

@Deprecated public EntityShootBowEvent(@NotNull @NotNull LivingEntity shooter, @Nullable @Nullable ItemStack bow, @NotNull @NotNull Entity projectile, float force)
Deprecated.

### EntityShootBowEvent

@Deprecated public EntityShootBowEvent(@NotNull @NotNull LivingEntity shooter, @Nullable @Nullable ItemStack bow, @NotNull @NotNull ItemStack arrowItem, @NotNull @NotNull Entity projectile, float force)
Deprecated.

### EntityShootBowEvent

public EntityShootBowEvent(@NotNull @NotNull LivingEntity shooter, @Nullable @Nullable ItemStack bow, @Nullable @Nullable ItemStack consumable, @NotNull @NotNull Entity projectile, @NotNull @NotNull EquipmentSlot hand, float force, boolean consumeItem)

## Method Details

### setConsumeArrow

@Deprecated public void setConsumeArrow(boolean consumeArrow)
Deprecated.

### getConsumeArrow

@Deprecated public boolean getConsumeArrow()
Deprecated.

### getArrowItem

@NotNull @Deprecated public @NotNull ItemStack getArrowItem()
Deprecated.

### getEntity

@NotNull public @NotNull LivingEntity getEntity()
Description copied from class: `EntityEvent`
Returns the Entity involved in this event

Overrides:
  `getEntity` in class `EntityEvent`
Returns:
  Entity who is involved in this event

### getBow

@Nullable public @Nullable ItemStack getBow()
Gets the bow ItemStack used to fire the arrow.

Returns:
  the bow involved in this event

### getConsumable

@Nullable public @Nullable ItemStack getConsumable()
Get the ItemStack to be consumed in this event (if any). For instance, bows will consume an arrow ItemStack in a player's inventory.

Returns:
  the consumable item

### getProjectile

@NotNull public @NotNull Entity getProjectile()
Gets the projectile which will be launched by this event

Returns:
  the launched projectile

### setProjectile

public void setProjectile(@NotNull @NotNull Entity projectile)
Replaces the projectile which will be launched

Parameters:
  `projectile` - the new projectile

### getHand

@NotNull public @NotNull EquipmentSlot getHand()
Get the hand from which the bow was shot.

Returns:
  the hand

### getForce

public float getForce()
Gets the force the arrow was launched with

Returns:
  bow shooting force, up to 1.0

### setConsumeItem

public void setConsumeItem(boolean consumeItem)
Set whether or not the consumable item should be consumed in this event. If set to false, it is recommended that a call to `Player.updateInventory()` is made as the client may disagree with the server's decision to not consume a consumable item.

This value is ignored for entities where items are not required (skeletons, pillagers, etc.) or with crossbows (as no item is being consumed).

Parameters:
  `consumeItem` - whether or not to consume the item

### shouldConsumeItem

public boolean shouldConsumeItem()
Get whether or not the consumable item should be consumed in this event.

Returns:
  true if consumed, false otherwise

### isCancelled

public boolean isCancelled()
Description copied from interface: `Cancellable`
Gets the cancellation state of this event. A cancelled event will not be executed in the server, but will still pass to other plugins

Specified by:
  `isCancelled` in interface `Cancellable`
Returns:
  true if this event is cancelled

### setCancelled

public void setCancelled(boolean cancel)
Description copied from interface: `Cancellable`
Sets the cancellation state of this event. A cancelled event will not be executed in the server, but will still pass to other plugins.

Specified by:
  `setCancelled` in interface `Cancellable`
Parameters:
  `cancel` - true if you wish to cancel this event

### getHandlers

@NotNull public @NotNull HandlerList getHandlers()

Specified by:
  `getHandlers` in class `Event`

### getHandlerList

@NotNull public static @NotNull HandlerList getHandlerList()