BedrioxDOCUMENTATION
ENTITY EVENT

EntityEffectAddEvent

Cancellable, adjustable intent emitted before an authoritative effect mutation.

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

Represents entity effect add 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 EntityEffectAddedEvent as the committed outcome. That event cannot cancel or undo the result.

Event data

Bedriox\Api\Entity\LivingEntity|Bedriox\Api\Player\Player $entity

Read-only event value supplied by Bedriox.

Bedriox\Api\Effect\EffectCause $cause

Read-only event value supplied by Bedriox.

?Bedriox\Api\Effect\EffectInstance $previous

Read-only event value supplied by Bedriox.

Available methods

effect(): Bedriox\Api\Effect\EffectInstance

Typed public method.

setEffect(Bedriox\Api\Effect\EffectInstance $effect): void

Typed public method.

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

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

View exact source ↗