--- ../work/decompile-8eb82bde//net/minecraft/server/PathfinderGoalSilverfishWakeOthers.java	2014-11-28 17:43:43.309707430 +0000
+++ src/main/java/net/minecraft/server/PathfinderGoalSilverfishWakeOthers.java	2014-11-28 17:38:22.000000000 +0000
@@ -36,6 +36,11 @@
                         IBlockData iblockdata = world.getType(blockposition1);
 
                         if (iblockdata.getBlock() == Blocks.MONSTER_EGG) {
+                            // CraftBukkit start
+                            if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(this.silverfish, blockposition1.getX(), blockposition1.getY(), blockposition1.getZ(), Blocks.AIR, 0).isCancelled()) {
+                                continue;
+                            }
+                            // CraftBukkit end
                             if (world.getGameRules().getBoolean("mobGriefing")) {
                                 world.setAir(blockposition1, true);
                             } else {