diff options
Diffstat (limited to 'src/main/java/net/minecraft/server/EntityMinecart.java')
-rw-r--r-- | src/main/java/net/minecraft/server/EntityMinecart.java | 33 |
1 files changed, 9 insertions, 24 deletions
diff --git a/src/main/java/net/minecraft/server/EntityMinecart.java b/src/main/java/net/minecraft/server/EntityMinecart.java index f71dc9e2..490666b3 100644 --- a/src/main/java/net/minecraft/server/EntityMinecart.java +++ b/src/main/java/net/minecraft/server/EntityMinecart.java @@ -1,9 +1,9 @@ package net.minecraft.server; +import java.util.List; + // CraftBukkit start import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; import org.bukkit.Location; import org.bukkit.entity.HumanEntity; @@ -18,7 +18,6 @@ import org.bukkit.event.vehicle.VehicleUpdateEvent; import org.bukkit.util.Vector; import org.bukkit.inventory.InventoryHolder; import org.bukkit.craftbukkit.entity.CraftHumanEntity; -import org.bukkit.craftbukkit.inventory.CraftItemStack; // CraftBukkit end public class EntityMinecart extends Entity implements IInventory { @@ -148,35 +147,21 @@ public class EntityMinecart extends Entity implements IInventory { this.aW(); this.setDamage(this.getDamage() + i * 10); if (this.getDamage() > 40) { - // CraftBukkit start - List<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>(); - drops.add(new CraftItemStack(Item.MINECART.id,1)); - if (this.type == 1) { - drops.add(new CraftItemStack(Block.CHEST.id,1)); - } else if (this.type == 2) { - drops.add(new org.bukkit.inventory.ItemStack(Block.FURNACE.id,1)); + if (this.passenger != null) { + this.passenger.mount(this); } - VehicleDestroyEvent destroyEvent = new VehicleDestroyEvent(vehicle, passenger, drops); + // CraftBukkit start + VehicleDestroyEvent destroyEvent = new VehicleDestroyEvent(vehicle, passenger); this.world.getServer().getPluginManager().callEvent(destroyEvent); if (destroyEvent.isCancelled()) { this.setDamage(40); // Maximize damage so this doesn't get triggered again right away return true; } - // CraftBukkit end - if (this.passenger != null) { - this.passenger.mount(this); - } - this.die(); - // CraftBukkit start - Drop items from the event - for(org.bukkit.inventory.ItemStack stack : drops) { - this.a(CraftItemStack.createNMSItemStack(stack), 0.0f); - } - // CraftBukkit end - // this.a(Item.MINECART.id, 1, 0.0F); // CraftBukkit - handled by main drop loop + this.a(Item.MINECART.id, 1, 0.0F); if (this.type == 1) { EntityMinecart entityminecart = this; @@ -208,9 +193,9 @@ public class EntityMinecart extends Entity implements IInventory { } } - // this.a(Block.CHEST.id, 1, 0.0F); // CraftBukkit - handled by main drop loop + this.a(Block.CHEST.id, 1, 0.0F); } else if (this.type == 2) { - // this.a(Block.FURNACE.id, 1, 0.0F); // CraftBukkit - handled by main drop loop + this.a(Block.FURNACE.id, 1, 0.0F); } } |