--- a/net/minecraft/world/level/block/RootedDirtBlock.java
+++ b/net/minecraft/world/level/block/RootedDirtBlock.java
@@ -10,11 +10,12 @@
 import net.minecraft.world.level.block.state.BlockState;
 
 public class RootedDirtBlock extends Block implements BonemealableBlock {
+
     public static final MapCodec<RootedDirtBlock> CODEC = simpleCodec(RootedDirtBlock::new);
 
     @Override
     public MapCodec<RootedDirtBlock> codec() {
-        return CODEC;
+        return RootedDirtBlock.CODEC;
     }
 
     public RootedDirtBlock(BlockBehaviour.Properties settings) {
@@ -33,7 +34,7 @@
 
     @Override
     public void performBonemeal(ServerLevel world, RandomSource random, BlockPos pos, BlockState state) {
-        world.setBlockAndUpdate(pos.below(), Blocks.HANGING_ROOTS.defaultBlockState());
+        org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockSpreadEvent(world, pos, pos.below(), Blocks.HANGING_ROOTS.defaultBlockState()); // CraftBukkit
     }
 
     @Override
