--- ../src-base/minecraft/net/minecraft/world/gen/feature/WorldGenBigMushroom.java
+++ ../src-work/minecraft/net/minecraft/world/gen/feature/WorldGenBigMushroom.java
@@ -55,9 +55,10 @@
                     {
                         if (k >= 0 && k < 256)
                         {
-                            Block block = p_180709_1_.func_180495_p(new BlockPos(l, k, i1)).func_177230_c();
+                            BlockPos pos = new BlockPos(l, k, i1);
+                            net.minecraft.block.state.IBlockState state = p_180709_1_.func_180495_p(pos);
 
-                            if (block.func_149688_o() != Material.field_151579_a && block.func_149688_o() != Material.field_151584_j)
+                            if (!state.func_177230_c().isAir(p_180709_1_, pos) && !state.func_177230_c().isLeaves(p_180709_1_, pos))
                             {
                                 flag = false;
                             }
@@ -188,7 +189,7 @@
                                 {
                                     BlockPos blockpos1 = new BlockPos(i2, l, j1);
 
-                                    if (!p_180709_1_.func_180495_p(blockpos1).func_177230_c().func_149730_j())
+                                    if (p_180709_1_.func_180495_p(blockpos1).func_177230_c().canBeReplacedByLeaves(p_180709_1_, blockpos1))
                                     {
                                         this.func_175905_a(p_180709_1_, blockpos1, Block.func_149729_e(Block.func_149682_b(Blocks.field_150420_aW) + i), k1);
                                     }
@@ -199,9 +200,10 @@
 
                     for (l = 0; l < j; ++l)
                     {
-                        Block block2 = p_180709_1_.func_180495_p(p_180709_3_.func_177981_b(l)).func_177230_c();
+                        BlockPos upN = p_180709_3_.func_177981_b(l);
+                        net.minecraft.block.state.IBlockState state = p_180709_1_.func_180495_p(upN);
 
-                        if (!block2.func_149730_j())
+                        if (state.func_177230_c().canBeReplacedByLeaves(p_180709_1_, upN))
                         {
                             this.func_175905_a(p_180709_1_, p_180709_3_.func_177981_b(l), Block.func_149729_e(Block.func_149682_b(Blocks.field_150420_aW) + i), 10);
                         }
