--- ../src-base/minecraft/net/minecraft/block/BlockBush.java
+++ ../src-work/minecraft/net/minecraft/block/BlockBush.java
@@ -12,7 +12,7 @@
 import net.minecraftforge.fml.relauncher.Side;
 import net.minecraftforge.fml.relauncher.SideOnly;
 
-public class BlockBush extends Block
+public class BlockBush extends Block implements net.minecraftforge.common.IPlantable
 {
     private static final String __OBFID = "CL_00000208";
 
@@ -32,7 +32,7 @@
 
     public boolean func_176196_c(World p_176196_1_, BlockPos p_176196_2_)
     {
-        return super.func_176196_c(p_176196_1_, p_176196_2_) && this.func_149854_a(p_176196_1_.func_180495_p(p_176196_2_.func_177977_b()).func_177230_c());
+        return super.func_176196_c(p_176196_1_, p_176196_2_) && p_176196_1_.func_180495_p(p_176196_2_.func_177977_b()).func_177230_c().canSustainPlant(p_176196_1_, p_176196_2_.func_177977_b(), net.minecraft.util.EnumFacing.UP, this);
     }
 
     protected boolean func_149854_a(Block p_149854_1_)
@@ -85,4 +85,33 @@
     {
         return EnumWorldBlockLayer.CUTOUT;
     }
+
+    @Override
+    public net.minecraftforge.common.EnumPlantType getPlantType(net.minecraft.world.IBlockAccess world, BlockPos pos)
+    {
+        if (this == Blocks.field_150464_aj)          return net.minecraftforge.common.EnumPlantType.Crop;
+        if (this == Blocks.field_150459_bM)        return net.minecraftforge.common.EnumPlantType.Crop;
+        if (this == Blocks.field_150469_bN)       return net.minecraftforge.common.EnumPlantType.Crop;
+        if (this == Blocks.field_150394_bc)     return net.minecraftforge.common.EnumPlantType.Crop;
+        if (this == Blocks.field_150393_bb)   return net.minecraftforge.common.EnumPlantType.Crop;
+        if (this == Blocks.field_150330_I)       return net.minecraftforge.common.EnumPlantType.Desert;
+        if (this == Blocks.field_150392_bi)      return net.minecraftforge.common.EnumPlantType.Water;
+        if (this == Blocks.field_150337_Q)   return net.minecraftforge.common.EnumPlantType.Cave;
+        if (this == Blocks.field_150338_P) return net.minecraftforge.common.EnumPlantType.Cave;
+        if (this == Blocks.field_150388_bm)    return net.minecraftforge.common.EnumPlantType.Nether;
+        if (this == Blocks.field_150345_g)        return net.minecraftforge.common.EnumPlantType.Plains;
+        if (this == Blocks.field_150329_H)      return net.minecraftforge.common.EnumPlantType.Plains;
+        if (this == Blocks.field_150398_cm)   return net.minecraftforge.common.EnumPlantType.Plains;
+        if (this == Blocks.field_150328_O)     return net.minecraftforge.common.EnumPlantType.Plains;
+        if (this == Blocks.field_150327_N)  return net.minecraftforge.common.EnumPlantType.Plains;
+        return net.minecraftforge.common.EnumPlantType.Plains;
+    }
+
+    @Override
+    public IBlockState getPlant(net.minecraft.world.IBlockAccess world, BlockPos pos)
+    {
+        IBlockState state = world.func_180495_p(pos);
+        if (state.func_177230_c() != this) return func_176223_P();
+        return state;
+    }
 }
