diff options
author | EvilSeph <evilseph@gmail.com> | 2011-09-20 20:40:22 -0400 |
---|---|---|
committer | EvilSeph <evilseph@gmail.com> | 2011-09-20 23:44:44 -0400 |
commit | 3f04f04be64f1724b1952e3b874697a104ec9094 (patch) | |
tree | 21259caa09e030dac37cb302de6f58ae76df426c /src/main/java/net/minecraft/server/EntityEnderman.java | |
parent | 0a52c7f3346833fd568e020d3f1b918b792b09f4 (diff) | |
download | craftbukkit-3f04f04be64f1724b1952e3b874697a104ec9094.tar craftbukkit-3f04f04be64f1724b1952e3b874697a104ec9094.tar.gz craftbukkit-3f04f04be64f1724b1952e3b874697a104ec9094.tar.lz craftbukkit-3f04f04be64f1724b1952e3b874697a104ec9094.tar.xz craftbukkit-3f04f04be64f1724b1952e3b874697a104ec9094.zip |
Added/updated EntityDeathEvents to reflect changes to the Vanilla spec.
Diffstat (limited to 'src/main/java/net/minecraft/server/EntityEnderman.java')
-rw-r--r-- | src/main/java/net/minecraft/server/EntityEnderman.java | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java index 72586203..75417bae 100644 --- a/src/main/java/net/minecraft/server/EntityEnderman.java +++ b/src/main/java/net/minecraft/server/EntityEnderman.java @@ -1,10 +1,14 @@ package net.minecraft.server; -// Craftbukkit start +// CraftBukkit start +import java.util.List; + import org.bukkit.Location; +import org.bukkit.craftbukkit.entity.CraftEntity; import org.bukkit.event.entity.EndermanPickupEvent; import org.bukkit.event.entity.EndermanPlaceEvent; -// Craftbukkit end +import org.bukkit.event.entity.EntityDeathEvent; +// CraftBukkit end public class EntityEnderman extends EntityMonster { @@ -264,13 +268,23 @@ public class EntityEnderman extends EntityMonster { protected void a(boolean flag) { int i = this.k(); - if (i > 0) { - int j = this.random.nextInt(2); + // CraftBukkit start - whole method + List<org.bukkit.inventory.ItemStack> loot = new java.util.ArrayList<org.bukkit.inventory.ItemStack>(); + int count = this.random.nextInt(2); - for (int k = 0; k < j; ++k) { - this.b(i, 1); - } + if ((i > 0) && (count > 0)) { + loot.add(new org.bukkit.inventory.ItemStack(i, count)); + } + + CraftEntity entity = (CraftEntity) this.getBukkitEntity(); + EntityDeathEvent event = new EntityDeathEvent(entity, loot); + org.bukkit.World bworld = this.world.getWorld(); + this.world.getServer().getPluginManager().callEvent(event); + + for (org.bukkit.inventory.ItemStack stack: event.getDrops()) { + bworld.dropItemNaturally(entity.getLocation(), stack); } + // CraftBukkit end } public void setCarriedId(int i) { |