BedrioxDOCUMENTATION
ENTITY EVENT

VillagerProfessionChangedEvent

Notification emitted after a villager profession transition commits.

Committed post-eventBedriox\Api\Event\Entity\Villager
WHAT IT REPRESENTS

Reports that villager profession changed has committed. Plugins may observe the result, but this event does not roll the action back.

WHEN IT FIRES

Bedriox dispatches this after the related action has committed. It is an observation and cannot undo the result.

EVENT SEQUENCE

Related before event

VillagerProfessionChangeEvent runs before this committed event and can be cancelled. This event is dispatched only after the action succeeds; it cannot cancel or roll back the result.

Event data

Bedriox\Api\Entity\Vanilla\Villager $villager

Read-only event value supplied by Bedriox.

Bedriox\Api\Entity\Value\VillagerProfession $previousProfession

Read-only event value supplied by Bedriox.

Bedriox\Api\Entity\Value\VillagerProfession $profession

Read-only event value supplied by Bedriox.

Available methods

This type does not declare additional public methods.

Inherited methods

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\Villager\VillagerProfessionChangedEvent;

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

View exact source ↗