BedrioxDOCUMENTATION
VEHICLE EVENT

VehicleCollisionEvent

Cancellable collision response after contact validation and before its impulse is applied.

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

Represents vehicle collision 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 data

Bedriox\Api\Entity\Capability\Vehicle $vehicle

Read-only event value supplied by Bedriox.

Bedriox\Api\Event\Vehicle\VehicleCollisionKind $kind

Read-only event value supplied by Bedriox.

Bedriox\Api\Entity\Entity|Bedriox\Api\World\BlockPosition $other

Read-only event value supplied by Bedriox.

float $relativeSpeed

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\Vehicle\VehicleCollisionEvent;

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

View exact source ↗