--- a/net/minecraft/server/EntityMushroomCow.java
+++ b/net/minecraft/server/EntityMushroomCow.java
@@ -1,5 +1,7 @@
 package net.minecraft.server;
 
+import org.bukkit.event.player.PlayerShearEntityEvent; // CraftBukkit
+
 public class EntityMushroomCow extends EntityCow {
 
     public EntityMushroomCow(World world) {
@@ -18,6 +20,14 @@
 
             return true;
         } else if (itemstack != null && itemstack.getItem() == Items.SHEARS && this.getAge() >= 0) {
+            // CraftBukkit start
+            PlayerShearEntityEvent event = new PlayerShearEntityEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), this.getBukkitEntity());
+            this.world.getServer().getPluginManager().callEvent(event);
+
+            if (event.isCancelled()) {
+                return false;
+            }
+            // CraftBukkit end
             this.die();
             this.world.addParticle(EnumParticle.EXPLOSION_LARGE, this.locX, this.locY + (double) (this.length / 2.0F), this.locZ, 0.0D, 0.0D, 0.0D, new int[0]);
             if (!this.world.isClientSide) {