--- a/net/minecraft/world/entity/ai/goal/PathfinderGoalBreakDoor.java
+++ b/net/minecraft/world/entity/ai/goal/PathfinderGoalBreakDoor.java
@@ -72,6 +72,12 @@
         }
 
         if (this.breakTime == this.f() && this.a(this.mob.level.getDifficulty())) {
+            // CraftBukkit start
+            if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityBreakDoorEvent(this.mob, this.doorPos).isCancelled()) {
+                this.c();
+                return;
+            }
+            // CraftBukkit end
             this.mob.level.a(this.doorPos, false);
             this.mob.level.triggerEffect(1021, this.doorPos, 0);
             this.mob.level.triggerEffect(2001, this.doorPos, Block.getCombinedId(this.mob.level.getType(this.doorPos)));
