--- a/net/minecraft/server/PathfinderGoalMakeLove.java
+++ b/net/minecraft/server/PathfinderGoalMakeLove.java
@@ -80,6 +80,11 @@
 
     private void i() {
         EntityVillager entityvillager = this.b.b((EntityAgeable) this.c);
+        // CraftBukkit start - call EntityBreedEvent
+        if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityBreedEvent(entityvillager, this.b, this.c, null, null, 0).isCancelled()) {
+            return;
+        }
+        // CraftBukkit end
 
         this.c.setAgeRaw(6000);
         this.b.setAgeRaw(6000);
@@ -87,7 +92,7 @@
         this.b.s(false);
         entityvillager.setAgeRaw(-24000);
         entityvillager.setPositionRotation(this.b.locX, this.b.locY, this.b.locZ, 0.0F, 0.0F);
-        this.d.addEntity(entityvillager);
+        this.d.addEntity(entityvillager, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
         this.d.broadcastEntityEffect(entityvillager, (byte) 12);
     }
 }