--- a/net/minecraft/server/EntityAnimal.java
+++ b/net/minecraft/server/EntityAnimal.java
@@ -5,6 +5,7 @@
     protected Block bz;
     private int bw;
     private EntityHuman bx;
+    public ItemStack breedItem; // CraftBukkit - Add breedItem variable
 
     public EntityAnimal(World world) {
         super(world);
@@ -38,6 +39,9 @@
 
     }
 
+    /* CraftBukkit start
+    // Function disabled as it has no special function anymore after
+    // setSitting is disabled.
     public boolean damageEntity(DamageSource damagesource, float f) {
         if (this.isInvulnerable(damagesource)) {
             return false;
@@ -46,6 +50,7 @@
             return super.damageEntity(damagesource, f);
         }
     }
+    // CraftBukkit end */
 
     public float a(BlockPosition blockposition) {
         return this.world.getType(blockposition.down()).getBlock() == this.bz ? 10.0F : this.world.n(blockposition) - 0.5F;
@@ -120,6 +125,7 @@
     public void c(EntityHuman entityhuman) {
         this.bw = 600;
         this.bx = entityhuman;
+        this.breedItem = entityhuman.inventory.getItemInHand(); // CraftBukkit
         this.world.broadcastEntityEffect(this, (byte) 18);
     }