--- a/net/minecraft/block/ChorusFlowerBlock.java
+++ b/net/minecraft/block/ChorusFlowerBlock.java
@@ -40,7 +40,7 @@
       BlockPos blockpos = p_225542_3_.func_177984_a();
       if (p_225542_2_.func_175623_d(blockpos) && blockpos.func_177956_o() < 256) {
          int i = p_225542_1_.func_177229_b(field_185607_a);
-         if (i < 5) {
+         if (i < 5 && net.minecraftforge.common.ForgeHooks.onCropsGrowPre(p_225542_2_, blockpos, p_225542_1_, true)) {
             boolean flag = false;
             boolean flag1 = false;
             BlockState blockstate = p_225542_2_.func_180495_p(p_225542_3_.func_177977_b());
@@ -65,7 +65,7 @@
                if (j < 2 || j <= p_225542_4_.nextInt(flag1 ? 5 : 4)) {
                   flag = true;
                }
-            } else if (blockstate.func_196958_f()) {
+            } else if (blockstate.isAir(p_225542_2_, p_225542_3_.func_177977_b())) {
                flag = true;
             }
 
@@ -97,7 +97,7 @@
             } else {
                this.func_185605_c(p_225542_2_, p_225542_3_);
             }
-
+            net.minecraftforge.common.ForgeHooks.onCropsGrowPost(p_225542_2_, p_225542_3_, p_225542_1_);
          }
       }
    }
@@ -133,7 +133,7 @@
    public boolean func_196260_a(BlockState p_196260_1_, IWorldReader p_196260_2_, BlockPos p_196260_3_) {
       BlockState blockstate = p_196260_2_.func_180495_p(p_196260_3_.func_177977_b());
       if (blockstate.func_177230_c() != this.field_196405_b && !blockstate.func_203425_a(Blocks.field_150377_bs)) {
-         if (!blockstate.func_196958_f()) {
+         if (!blockstate.isAir(p_196260_2_, p_196260_3_.func_177977_b())) {
             return false;
          } else {
             boolean flag = false;
@@ -146,7 +146,7 @@
                   }
 
                   flag = true;
-               } else if (!blockstate1.func_196958_f()) {
+               } else if (!blockstate1.isAir(p_196260_2_, p_196260_3_.func_177972_a(direction))) {
                   return false;
                }
             }
