diff --git a/nms-patches/EntityRabbit.patch b/nms-patches/EntityRabbit.patch
index b9bcabf1df..0ecf78558d 100644
--- a/nms-patches/EntityRabbit.patch
+++ b/nms-patches/EntityRabbit.patch
@@ -15,3 +15,27 @@
  
      protected void r() {
          this.goalSelector.a(1, new PathfinderGoalFloat(this));
+@@ -412,9 +418,23 @@
+                     Integer integer = (Integer) iblockdata.get(BlockCarrots.AGE);
+ 
+                     if (integer.intValue() == 0) {
++                        // CraftBukkit start
++                        if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(this.c, blockposition.getX(), blockposition.getY(), blockposition.getZ(), Blocks.AIR, 0).isCancelled()) {
++                            return;
++                        }
++                        // CraftBukkit end
+                         world.setTypeAndData(blockposition, Blocks.AIR.getBlockData(), 2);
+                         world.setAir(blockposition, true);
+                     } else {
++                        // CraftBukkit start
++                        if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(
++                                this.c,
++                                blockposition.getX(), blockposition.getY(), blockposition.getZ(),
++                                block, block.toLegacyData(iblockdata.set(BlockCarrots.AGE, Integer.valueOf(integer.intValue() - 1)))
++                        ).isCancelled()) {
++                            return;
++                        }
++                        // CraftBukkit end
+                         world.setTypeAndData(blockposition, iblockdata.set(BlockCarrots.AGE, Integer.valueOf(integer.intValue() - 1)), 2);
+                         world.triggerEffect(2001, blockposition, Block.getCombinedId(iblockdata));
+                     }