--- a/net/minecraft/world/level/block/MagmaBlock.java
+++ b/net/minecraft/world/level/block/MagmaBlock.java
@@ -13,12 +13,13 @@
 import net.minecraft.world.level.block.state.BlockState;
 
 public class MagmaBlock extends Block {
+
     public static final MapCodec<MagmaBlock> CODEC = simpleCodec(MagmaBlock::new);
     private static final int BUBBLE_COLUMN_CHECK_DELAY = 20;
 
     @Override
     public MapCodec<MagmaBlock> codec() {
-        return CODEC;
+        return MagmaBlock.CODEC;
     }
 
     public MagmaBlock(BlockBehaviour.Properties settings) {
@@ -28,7 +29,7 @@
     @Override
     public void stepOn(Level world, BlockPos pos, BlockState state, Entity entity) {
         if (!entity.isSteppingCarefully() && entity instanceof LivingEntity) {
-            entity.hurt(world.damageSources().hotFloor(), 1.0F);
+            entity.hurt(world.damageSources().hotFloor().directBlock(world, pos), 1.0F); // CraftBukkit
         }
 
         super.stepOn(world, pos, state, entity);
@@ -42,7 +43,7 @@
     @Override
     protected BlockState updateShape(BlockState state, Direction direction, BlockState neighborState, LevelAccessor world, BlockPos pos, BlockPos neighborPos) {
         if (direction == Direction.UP && neighborState.is(Blocks.WATER)) {
-            world.scheduleTick(pos, this, 20);
+            world.scheduleTick(pos, (Block) this, 20);
         }
 
         return super.updateShape(state, direction, neighborState, world, pos, neighborPos);
@@ -50,6 +51,6 @@
 
     @Override
     protected void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean notify) {
-        world.scheduleTick(pos, this, 20);
+        world.scheduleTick(pos, (Block) this, 20);
     }
 }
