Added VEHICLE_DESTROY event

This commit is contained in:
Robert Sargant 2011-03-16 11:49:37 +00:00 committed by Erik Broes
parent 325f4e0c22
commit 39972530f2
2 changed files with 23 additions and 0 deletions

View file

@ -9,6 +9,7 @@ import org.bukkit.craftbukkit.CraftWorld;
import org.bukkit.entity.Vehicle;
import org.bukkit.event.vehicle.VehicleCreateEvent;
import org.bukkit.event.vehicle.VehicleDamageEvent;
import org.bukkit.event.vehicle.VehicleDestroyEvent;
import org.bukkit.event.vehicle.VehicleEnterEvent;
import org.bukkit.event.vehicle.VehicleEntityCollisionEvent;
import org.bukkit.event.vehicle.VehicleMoveEvent;
@ -116,6 +117,17 @@ public class EntityBoat extends Entity {
this.a += i * 10;
this.W();
if (this.a > 40) {
// CraftBukkit start
VehicleDestroyEvent destroyEvent = new VehicleDestroyEvent(vehicle, attacker);
((WorldServer) this.world).getServer().getPluginManager().callEvent(destroyEvent);
if (destroyEvent.isCancelled()) {
this.a = 40; // Maximize damage so this doesn't get triggered again right away
return true;
}
// CraftBukkit end
int j;
for (j = 0; j < 3; ++j) {

View file

@ -120,6 +120,17 @@ public class EntityMinecart extends Entity implements IInventory {
this.W();
this.a += i * 10;
if (this.a > 40) {
// CraftBukkit start
VehicleDestroyEvent destroyEvent = new VehicleDestroyEvent(vehicle, passenger);
((WorldServer) this.world).getServer().getPluginManager().callEvent(destroyEvent);
if (destroyEvent.isCancelled()) {
this.a = 40; // Maximize damage so this doesn't get triggered again right away
return true;
}
// CraftBukkit end
this.a(Item.MINECART.id, 1, 0.0F);
if (this.d == 1) {
this.a(Block.CHEST.id, 1, 0.0F);