--- a/net/minecraft/entity/passive/AnimalEntity.java
+++ b/net/minecraft/entity/passive/AnimalEntity.java
@@ -199,6 +199,17 @@
 
    public void func_234177_a_(ServerWorld p_234177_1_, AnimalEntity p_234177_2_) {
       AgeableEntity ageableentity = this.func_241840_a(p_234177_1_, p_234177_2_);
+      final net.minecraftforge.event.entity.living.BabyEntitySpawnEvent event = new net.minecraftforge.event.entity.living.BabyEntitySpawnEvent(this, p_234177_2_, ageableentity);
+      final boolean cancelled = net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(event);
+      ageableentity = event.getChild();
+      if (cancelled) {
+         //Reset the "inLove" state for the animals
+         this.func_70873_a(6000);
+         p_234177_2_.func_70873_a(6000);
+         this.func_70875_t();
+         p_234177_2_.func_70875_t();
+         return;
+      }
       if (ageableentity != null) {
          ServerPlayerEntity serverplayerentity = this.func_191993_do();
          if (serverplayerentity == null && p_234177_2_.func_191993_do() != null) {
