--- a/net/minecraft/world/level/block/MagmaBlock.java
+++ b/net/minecraft/world/level/block/MagmaBlock.java
@@ -19,6 +19,7 @@
 import net.minecraft.world.level.block.state.BlockState;
 
 public class MagmaBlock extends Block {
+
     private static final int BUBBLE_COLUMN_CHECK_DELAY = 20;
 
     public MagmaBlock(BlockBehaviour.Properties settings) {
@@ -27,8 +28,10 @@
 
     @Override
     public void stepOn(Level world, BlockPos pos, BlockState state, Entity entity) {
-        if (!entity.isSteppingCarefully() && entity instanceof LivingEntity && !EnchantmentHelper.hasFrostWalker((LivingEntity)entity)) {
+        if (!entity.isSteppingCarefully() && entity instanceof LivingEntity && !EnchantmentHelper.hasFrostWalker((LivingEntity) entity)) {
+            org.bukkit.craftbukkit.v1_19_R2.event.CraftEventFactory.blockDamage = world.getWorld().getBlockAt(pos.getX(), pos.getY(), pos.getZ()); // CraftBukkit
             entity.hurt(DamageSource.HOT_FLOOR, 1.0F);
+            org.bukkit.craftbukkit.v1_19_R2.event.CraftEventFactory.blockDamage = null; // CraftBukkit
         }
 
         super.stepOn(world, pos, state, entity);
@@ -42,7 +45,7 @@
     @Override
     public 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,16 +53,17 @@
 
     @Override
     public void randomTick(BlockState state, ServerLevel world, BlockPos pos, RandomSource random) {
-        BlockPos blockPos = pos.above();
+        BlockPos blockposition1 = pos.above();
+
         if (world.getFluidState(pos).is(FluidTags.WATER)) {
-            world.playSound((Player)null, pos, SoundEvents.FIRE_EXTINGUISH, SoundSource.BLOCKS, 0.5F, 2.6F + (world.random.nextFloat() - world.random.nextFloat()) * 0.8F);
-            world.sendParticles(ParticleTypes.LARGE_SMOKE, (double)blockPos.getX() + 0.5D, (double)blockPos.getY() + 0.25D, (double)blockPos.getZ() + 0.5D, 8, 0.5D, 0.25D, 0.5D, 0.0D);
+            world.playSound((Player) null, pos, SoundEvents.FIRE_EXTINGUISH, SoundSource.BLOCKS, 0.5F, 2.6F + (world.random.nextFloat() - world.random.nextFloat()) * 0.8F);
+            world.sendParticles(ParticleTypes.LARGE_SMOKE, (double) blockposition1.getX() + 0.5D, (double) blockposition1.getY() + 0.25D, (double) blockposition1.getZ() + 0.5D, 8, 0.5D, 0.25D, 0.5D, 0.0D);
         }
 
     }
 
     @Override
     public void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean notify) {
-        world.scheduleTick(pos, this, 20);
+        world.scheduleTick(pos, (Block) this, 20);
     }
 }
