From 29fa46a4b2c43f555528bf24d99ecf0225c6c75f Mon Sep 17 00:00:00 2001
From: EvilSeph <evilseph@gmail.com>
Date: Tue, 2 Jul 2013 23:23:19 -0400
Subject: [PATCH] Fix donkey/mule dupe exploit.

---
 src/main/java/net/minecraft/server/ContainerHorse.java | 2 +-
 src/main/java/net/minecraft/server/EntityHorse.java    | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/main/java/net/minecraft/server/ContainerHorse.java b/src/main/java/net/minecraft/server/ContainerHorse.java
index 2c2ae9a998..4ddf8e0541 100644
--- a/src/main/java/net/minecraft/server/ContainerHorse.java
+++ b/src/main/java/net/minecraft/server/ContainerHorse.java
@@ -60,7 +60,7 @@ public class ContainerHorse extends Container {
     }
 
     public boolean a(EntityHuman entityhuman) {
-        return this.a.a(entityhuman) && this.f.d(entityhuman) < 8.0F;
+        return this.a.a(entityhuman) && this.f.isAlive() && this.f.d(entityhuman) < 8.0F; // CraftBukkit - add isAlive as a validator
     }
 
     public ItemStack b(EntityHuman entityhuman, int i) {
diff --git a/src/main/java/net/minecraft/server/EntityHorse.java b/src/main/java/net/minecraft/server/EntityHorse.java
index 93c9f4c7b0..11bb4ba0cf 100644
--- a/src/main/java/net/minecraft/server/EntityHorse.java
+++ b/src/main/java/net/minecraft/server/EntityHorse.java
@@ -791,11 +791,13 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener {
         return this.passenger == null && this.vehicle == null && this.bS() && this.bR() && !this.cv() && this.getHealth() >= this.getMaxHealth();
     }
 
+    /* CraftBukkit start - don't treat horses differently
     public void die() {
         if (this.world.isStatic || !this.bS() && !this.ce() || this.getHealth() <= 0.0F) {
             super.die();
         }
     }
+    // CraftBukkit end */
 
     public void e(boolean flag) {
         this.b(32, flag);