BedrioxDOCUMENTATION
ENTITY EVENT

PotionProjectileImpactEvent

Fired before a thrown potion or tipped arrow applies its authoritative impact.

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

Represents potion projectile impact 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 PotionProjectileImpactedEvent as the committed outcome. That event cannot cancel or undo the result.

Event data

int $runtimeEntityId

Read-only event value supplied by Bedriox.

string $ownerUuid

Read-only event value supplied by Bedriox.

Bedriox\Api\Potion\PotionType $potionType

Read-only event value supplied by Bedriox.

Bedriox\Api\World\Position $position

Read-only event value supplied by Bedriox.

bool $lingering

Read-only event value supplied by Bedriox.

bool $tippedArrow

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\PotionProjectileImpactEvent;

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

View exact source ↗