diff --git a/paper-api/src/main/java/org/bukkit/event/entity/EntityDismountEvent.java b/paper-api/src/main/java/org/bukkit/event/entity/EntityDismountEvent.java index 00c3f5053..91188d77f 100644 --- a/paper-api/src/main/java/org/bukkit/event/entity/EntityDismountEvent.java +++ b/paper-api/src/main/java/org/bukkit/event/entity/EntityDismountEvent.java @@ -13,10 +13,18 @@ public class EntityDismountEvent extends EntityEvent implements Cancellable { private static final HandlerList handlers = new HandlerList(); private boolean cancelled; private final Entity dismounted; + private final boolean isCancellable; // Paper public EntityDismountEvent(@NotNull Entity what, @NotNull Entity dismounted) { + // Paper start + this(what, dismounted, true); + } + + public EntityDismountEvent(@NotNull Entity what, @NotNull Entity dismounted, boolean isCancellable) { + // Paper end super(what); this.dismounted = dismounted; + this.isCancellable = isCancellable; // Paper } /** @@ -36,9 +44,18 @@ public class EntityDismountEvent extends EntityEvent implements Cancellable { @Override public void setCancelled(boolean cancel) { + // Paper start + if (cancel && !this.isCancellable) { + return; + } this.cancelled = cancel; } + public boolean isCancellable() { + return this.isCancellable; + // Paper end + } + @NotNull @Override public HandlerList getHandlers() { diff --git a/paper-api/src/main/java/org/bukkit/event/vehicle/VehicleExitEvent.java b/paper-api/src/main/java/org/bukkit/event/vehicle/VehicleExitEvent.java index 963b9ead4..39f6afd2f 100644 --- a/paper-api/src/main/java/org/bukkit/event/vehicle/VehicleExitEvent.java +++ b/paper-api/src/main/java/org/bukkit/event/vehicle/VehicleExitEvent.java @@ -13,10 +13,18 @@ public class VehicleExitEvent extends VehicleEvent implements Cancellable { private static final HandlerList handlers = new HandlerList(); private boolean cancelled; private final LivingEntity exited; + private final boolean isCancellable; // Paper - public VehicleExitEvent(@NotNull final Vehicle vehicle, @NotNull final LivingEntity exited) { + public VehicleExitEvent(@NotNull final Vehicle vehicle, @NotNull final LivingEntity exited, boolean isCancellable) { // Paper super(vehicle); this.exited = exited; + // Paper start + this.isCancellable = isCancellable; + } + + public VehicleExitEvent(@NotNull final Vehicle vehicle, @NotNull final LivingEntity exited) { + this(vehicle, exited, true); + // Paper end } /** @@ -36,9 +44,18 @@ public class VehicleExitEvent extends VehicleEvent implements Cancellable { @Override public void setCancelled(boolean cancel) { + // Paper start + if (cancel && !isCancellable) { + return; + } this.cancelled = cancel; } + public boolean isCancellable() { + return isCancellable; + // Paper end + } + @NotNull @Override public HandlerList getHandlers() {