--- a/net/minecraft/entity/passive/FoxEntity.java
+++ b/net/minecraft/entity/passive/FoxEntity.java
@@ -761,7 +761,7 @@
       }
 
       protected void func_220730_m() {
-         if (FoxEntity.this.field_70170_p.func_82736_K().func_223586_b(GameRules.field_223599_b)) {
+         if (net.minecraftforge.event.ForgeEventFactory.getMobGriefingEvent(FoxEntity.this.field_70170_p, FoxEntity.this)) {
             BlockState blockstate = FoxEntity.this.field_70170_p.func_180495_p(this.field_179494_b);
             if (blockstate.func_203425_a(Blocks.field_222434_lW)) {
                int i = blockstate.func_177229_b(SweetBerryBushBlock.field_220125_a);
@@ -1001,6 +1001,17 @@
       protected void func_75388_i() {
          ServerWorld serverworld = (ServerWorld)this.field_75394_a;
          FoxEntity foxentity = (FoxEntity)this.field_75390_d.func_241840_a(serverworld, this.field_75391_e);
+         final net.minecraftforge.event.entity.living.BabyEntitySpawnEvent event = new net.minecraftforge.event.entity.living.BabyEntitySpawnEvent(field_75390_d, field_75391_e, foxentity);
+         final boolean cancelled = net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(event);
+         foxentity = (FoxEntity) event.getChild();
+         if (cancelled) {
+            //Reset the "inLove" state for the animals
+            this.field_75390_d.func_70873_a(6000);
+            this.field_75391_e.func_70873_a(6000);
+            this.field_75390_d.func_70875_t();
+            this.field_75391_e.func_70875_t();
+            return;
+         }
          if (foxentity != null) {
             ServerPlayerEntity serverplayerentity = this.field_75390_d.func_191993_do();
             ServerPlayerEntity serverplayerentity1 = this.field_75391_e.func_191993_do();
