Represents entity equipment change before Bedriox commits the related authoritative change. Plugins may inspect it and cancel or adjust only the values explicitly exposed below.
EntityEquipmentChangeEvent
Cancellable, adjustable entity-equipment transition before authoritative commit.
Bedriox dispatches this before the related action commits. Cancelling it prevents that action at this event boundary.
Event after this
If this event is not cancelled and the action succeeds, Bedriox dispatches EntityEquipmentChangedEvent as the committed outcome. That event cannot cancel or undo the result.
Event data
Bedriox\Api\Entity\LivingEntity $entityRead-only event value supplied by Bedriox.
Bedriox\Api\Inventory\EquipmentSlot $slotRead-only event value supplied by Bedriox.
?Bedriox\Api\Inventory\ItemStack $previousRead-only event value supplied by Bedriox.
float $previousDropChanceRead-only event value supplied by Bedriox.
Available methods
item(): ?Bedriox\Api\Inventory\ItemStackTyped public method.
setItem(?Bedriox\Api\Inventory\ItemStack $item): voidTyped public method.
dropChance(): floatTyped public method.
setDropChance(float $dropChance): voidTyped public method.
Inherited methods
isCancelled(): bool from Bedriox\Api\Event\CancellableEventTyped public method.
cancel(): void from Bedriox\Api\Event\CancellableEventTyped public method.
setCancelled(bool $cancelled): void from Bedriox\Api\Event\CancellableEventTyped public method.
captureState(): mixed from Bedriox\Api\Event\EventTyped public method.
restoreState(mixed $state): void from Bedriox\Api\Event\EventTyped public method.
setReadOnly(bool $readOnly): void from Bedriox\Api\Event\EventTyped public method.
Listen for this event
Register the containing object with PluginContext::events()->registerSubscriber($this), then add a typed handler:
use Bedriox\Api\Event\EventHandler;
use Bedriox\Api\Event\Entity\EntityEquipmentChangeEvent;
#[EventHandler]
public function onEntityEquipmentChangeEvent(EntityEquipmentChangeEvent $event): void
{
// Keep listener work bounded and use public capabilities only.
}