Class PrePlayerAttackEntityEvent

java.lang.Object
org.bukkit.event.Event
org.bukkit.event.player.PlayerEvent
io.papermc.paper.event.player.PrePlayerAttackEntityEvent
All Implemented Interfaces:
Cancellable

@NullMarked public class PrePlayerAttackEntityEvent extends PlayerEvent implements Cancellable
Called when the player tries to attack an entity.

This occurs before any of the damage logic, so cancelling this event will prevent any sort of sounds from being played when attacking.

This event will fire as cancelled for certain entities, with willAttack() being false to indicate that this entity will not actually be attacked.

Note: there may be other factors (invulnerability, etc.) that will prevent this entity from being attacked that this event will not cover

  • Constructor Details

    • PrePlayerAttackEntityEvent

      @Internal public PrePlayerAttackEntityEvent(Player player, Entity attacked, boolean willAttack)
  • Method Details

    • getAttacked

      public Entity getAttacked()
      Gets the entity that was attacked in this event.
      Returns:
      entity that was attacked
    • willAttack

      public boolean willAttack()
      Gets if this entity will be attacked normally. Entities like falling sand will return false because their entity type does not allow them to be attacked.

      Note: there may be other factors (invulnerability, etc.) that will prevent this entity from being attacked that this event will not cover

      Returns:
      if the entity will actually be attacked
    • 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)
      Sets if this attack should be cancelled, note if willAttack() returns false this event will always be cancelled.
      Specified by:
      setCancelled in interface Cancellable
      Parameters:
      cancel - true if you wish to cancel this event
    • getHandlers

      public HandlerList getHandlers()
      Specified by:
      getHandlers in class Event
    • getHandlerList

      public static HandlerList getHandlerList()