BedrioxDOCUMENTATION
ENTITY EVENT

EntityInteractEvent

Runs before the related authoritative action and may be cancelled within the documented server boundary.

Cancellable pre-eventBedriox\Api\Event\Entity
WHAT IT REPRESENTS

Represents entity interact before Bedriox commits the related authoritative change. Plugins may inspect it and cancel or adjust only the values explicitly exposed below.

WHEN IT FIRES

Bedriox dispatches this before the related action commits. Cancelling it prevents that action at this event boundary.

EVENT SEQUENCE

Event after this

If this event is not cancelled and the action succeeds, Bedriox dispatches EntityInteractedEvent as the committed outcome. That event cannot cancel or undo the result.

Event data

Bedriox\Api\Player\Player $player

Read-only event value supplied by Bedriox.

Bedriox\Api\Entity\Entity $entity

Read-only event value supplied by Bedriox.

Bedriox\Api\Entity\EntityInteractionType $interaction

Read-only event value supplied by Bedriox.

?Bedriox\Api\Inventory\ItemStack $heldItem

Read-only event value supplied by Bedriox.

Available methods

This type does not declare additional public methods.

Inherited methods

isCancelled(): bool from Bedriox\Api\Event\CancellableEvent

Typed public method.

cancel(): void from Bedriox\Api\Event\CancellableEvent

Typed public method.

setCancelled(bool $cancelled): void from Bedriox\Api\Event\CancellableEvent

Typed public method.

captureState(): mixed from Bedriox\Api\Event\Event

Typed public method.

restoreState(mixed $state): void from Bedriox\Api\Event\Event

Typed public method.

setReadOnly(bool $readOnly): void from Bedriox\Api\Event\Event

Typed public method.

Listen for this event

Register the containing object with PluginContext::events()->registerSubscriber($this), then add a typed handler:

PHP
use Bedriox\Api\Event\EventHandler;
use Bedriox\Api\Event\Entity\EntityInteractEvent;

#[EventHandler]
public function onEntityInteractEvent(EntityInteractEvent $event): void
{
    // Keep listener work bounded and use public capabilities only.
}

View exact source ↗