From a86bc7aeb394df65521555f1b73357c68503cbc5 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Sat, 29 Mar 2014 22:39:17 +0100 Subject: [PATCH] Call event when boat is destroyed by falling. Fixes BUKKIT-5500 --- .../java/net/minecraft/server/EntityBoat.java | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java index 0df3b6bb10..825039586d 100644 --- a/src/main/java/net/minecraft/server/EntityBoat.java +++ b/src/main/java/net/minecraft/server/EntityBoat.java @@ -445,17 +445,24 @@ public class EntityBoat extends Entity { if (this.fallDistance > 3.0F) { this.b(this.fallDistance); if (!this.world.isStatic && !this.dead) { - this.die(); + // CraftBukkit start + Vehicle vehicle = (Vehicle) this.getBukkitEntity(); + VehicleDestroyEvent destroyEvent = new VehicleDestroyEvent(vehicle, null); + this.world.getServer().getPluginManager().callEvent(destroyEvent); + if (!destroyEvent.isCancelled()) { + this.die(); - int l; + int l; - for (l = 0; l < 3; ++l) { - this.a(Item.getItemOf(Blocks.WOOD), 1, 0.0F); - } - - for (l = 0; l < 2; ++l) { - this.a(Items.STICK, 1, 0.0F); + for (l = 0; l < 3; ++l) { + this.a(Item.getItemOf(Blocks.WOOD), 1, 0.0F); + } + + for (l = 0; l < 2; ++l) { + this.a(Items.STICK, 1, 0.0F); + } } + // CraftBukkit end } this.fallDistance = 0.0F;