Prevent VehicleEnterEvent being sent when player exits vehicle.
Fix for BUKKIT-223. Issue BUKKIT-223: When a player exits a minecart or boat, both a VehicleExitEvent and a VehicleEnterEvent are fired. Only the VehicleExitEvent should fire. Reason for bug: This occurs because the VehicleEnterEvent is fired in EntityBoat.b and EntityMinecart.b *any* time a player right-clicks on a vehicle, whether the right-click is to enter the vehicle or exit it. Fix: By moving the creation of VehicleEnterEvents from EntityBoat.b and EntityMinecart.b to Entity.setPassengerOf, we can create either a VehicleEnterEvent or a VehicleExitEvent, depending on whether the player is entering or exiting a vehicle.
This commit is contained in:
committed by
Andrew Ardill
parent
2c72f9f5af
commit
a7744ac751
@@ -420,15 +420,6 @@ public class EntityBoat extends Entity {
|
||||
return true;
|
||||
} else {
|
||||
if (!this.world.isStatic) {
|
||||
// CraftBukkit start
|
||||
VehicleEnterEvent event = new VehicleEnterEvent((Vehicle) this.getBukkitEntity(), entityhuman.getBukkitEntity());
|
||||
this.world.getServer().getPluginManager().callEvent(event);
|
||||
|
||||
if (event.isCancelled()) {
|
||||
return true;
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
entityhuman.mount(this);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user