diff options
Diffstat (limited to 'src/main/java/net/minecraft/server/EntityBoat.java')
-rw-r--r-- | src/main/java/net/minecraft/server/EntityBoat.java | 61 |
1 files changed, 13 insertions, 48 deletions
diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java index 57c9e15f..c72413ba 100644 --- a/src/main/java/net/minecraft/server/EntityBoat.java +++ b/src/main/java/net/minecraft/server/EntityBoat.java @@ -1,11 +1,9 @@ package net.minecraft.server; -import java.util.ArrayList; import java.util.List; // CraftBukkit start import org.bukkit.Location; -import org.bukkit.craftbukkit.inventory.CraftItemStack; import org.bukkit.entity.Vehicle; import org.bukkit.event.vehicle.VehicleCreateEvent; import org.bukkit.event.vehicle.VehicleDamageEvent; @@ -113,19 +111,7 @@ public class EntityBoat extends Entity { this.aW(); if (this.getDamage() > 40) { // CraftBukkit start - List<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>(); - - int j; - - for (j = 0; j < 3; ++j) { - drops.add(new CraftItemStack(Block.WOOD.id, 1)); - } - - for (j = 0; j < 2; ++j) { - drops.add(new CraftItemStack(Item.STICK.id,1)); - } - - VehicleDestroyEvent destroyEvent = new VehicleDestroyEvent(vehicle, attacker, drops); + VehicleDestroyEvent destroyEvent = new VehicleDestroyEvent(vehicle, attacker); this.world.getServer().getPluginManager().callEvent(destroyEvent); if (destroyEvent.isCancelled()) { @@ -138,7 +124,6 @@ public class EntityBoat extends Entity { this.passenger.mount(this); } - /* CraftBukkit - This logic has been moved up before the event firing int j; for (j = 0; j < 3; ++j) { @@ -148,14 +133,8 @@ public class EntityBoat extends Entity { for (j = 0; j < 2; ++j) { this.a(Item.STICK.id, 1, 0.0F); } - // */ this.die(); - // CraftBukkit start - for (org.bukkit.inventory.ItemStack stack : drops) { - this.a(CraftItemStack.createNMSItemStack(stack), 0.0f); - } - // CraftBukkit end } return true; @@ -323,38 +302,24 @@ public class EntityBoat extends Entity { if (this.positionChanged && d3 > 0.2D) { if (!this.world.isStatic) { // CraftBukkit start - List<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>(); - /* CraftBukkit end - this.die(); - // CraftBukkit - deferred to after the event */ - - int k; - - for (k = 0; k < 3; ++k) { - /* CraftBukkit - add to drop list instead of immediately dropping - this.a(Block.WOOD.id, 1, 0.0F); - // */ - drops.add(new CraftItemStack(Block.WOOD.id, 1)); - } - - for (k = 0; k < 2; ++k) { - /* CraftBukkit - add to drop list instead of immediately dropping - this.a(Item.STICK.id, 1, 0.0F); - // */ - drops.add(new CraftItemStack(Item.STICK.id,1)); - } - // CraftBukkit start Vehicle vehicle = (Vehicle) this.getBukkitEntity(); - VehicleDestroyEvent destroyEvent = new VehicleDestroyEvent(vehicle, null, drops); + VehicleDestroyEvent destroyEvent = new VehicleDestroyEvent(vehicle, null); this.world.getServer().getPluginManager().callEvent(destroyEvent); if (!destroyEvent.isCancelled()) { + // CraftBukkit end this.die(); - for (org.bukkit.inventory.ItemStack stack : drops) { - this.a(CraftItemStack.createNMSItemStack(stack), 0.0f); + + int k; + + for (k = 0; k < 3; ++k) { + this.a(Block.WOOD.id, 1, 0.0F); } - } - // CraftBukkit end + + for (k = 0; k < 2; ++k) { + this.a(Item.STICK.id, 1, 0.0F); + } + } // CraftBukkit } } else { this.motX *= 0.9900000095367432D; |