--- ../src-base/minecraft/net/minecraft/block/BlockTallGrass.java
+++ ../src-work/minecraft/net/minecraft/block/BlockTallGrass.java
@@ -23,7 +23,7 @@
 import net.minecraftforge.fml.relauncher.Side;
 import net.minecraftforge.fml.relauncher.SideOnly;
 
-public class BlockTallGrass extends BlockBush implements IGrowable
+public class BlockTallGrass extends BlockBush implements IGrowable, net.minecraftforge.common.IShearable
 {
     public static final PropertyEnum field_176497_a = PropertyEnum.func_177709_a("type", BlockTallGrass.EnumType.class);
     private static final String __OBFID = "CL_00000321";
@@ -44,7 +44,7 @@
 
     public boolean func_180671_f(World p_180671_1_, BlockPos p_180671_2_, IBlockState p_180671_3_)
     {
-        return this.func_149854_a(p_180671_1_.func_180495_p(p_180671_2_.func_177977_b()).func_177230_c());
+        return super.func_180671_f(p_180671_1_, p_180671_2_, p_180671_3_);
     }
 
     public boolean func_176200_f(World p_176200_1_, BlockPos p_176200_2_)
@@ -74,7 +74,7 @@
 
     public Item func_180660_a(IBlockState p_180660_1_, Random p_180660_2_, int p_180660_3_)
     {
-        return p_180660_2_.nextInt(8) == 0 ? Items.field_151014_N : null;
+        return null;
     }
 
     public int func_149679_a(int p_149679_1_, Random p_149679_2_)
@@ -84,13 +84,7 @@
 
     public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, TileEntity p_180657_5_)
     {
-        if (!p_180657_1_.field_72995_K && p_180657_2_.func_71045_bC() != null && p_180657_2_.func_71045_bC().func_77973_b() == Items.field_151097_aZ)
         {
-            p_180657_2_.func_71029_a(StatList.field_75934_C[Block.func_149682_b(this)]);
-            func_180635_a(p_180657_1_, p_180657_3_, new ItemStack(Blocks.field_150329_H, 1, ((BlockTallGrass.EnumType)p_180657_4_.func_177229_b(field_176497_a)).func_177044_a()));
-        }
-        else
-        {
             super.func_180657_a(p_180657_1_, p_180657_2_, p_180657_3_, p_180657_4_, p_180657_5_);
         }
     }
@@ -210,4 +204,22 @@
             }
         }
     }
+
+    @Override public boolean isShearable(ItemStack item, IBlockAccess world, BlockPos pos){ return true; }
+    @Override
+    public List<ItemStack> onSheared(ItemStack item, IBlockAccess world, BlockPos pos, int fortune)
+    {
+        List<ItemStack> ret = new java.util.ArrayList<ItemStack>();
+        ret.add(new ItemStack(Blocks.field_150329_H, 1, ((BlockTallGrass.EnumType)world.func_180495_p(pos).func_177229_b(field_176497_a)).func_177044_a()));
+        return ret;
+    }
+    @Override
+    public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune)
+    {
+        List<ItemStack> ret = new java.util.ArrayList<ItemStack>();
+        if (RANDOM.nextInt(8) != 0) return ret;
+        ItemStack seed = net.minecraftforge.common.ForgeHooks.getGrassSeed(RANDOM);
+        if (seed != null) ret.add(seed);
+        return ret;
+    }
 }
