Or with the LivingTickEvent:
@SubscribeEvent
public static void onJump(TickEvent.PlayerTickEvent event){
if (event.player.world.getBlockState(event.player.getPosition().add(0, -1, 0)) == Blocks.AIR.getDefaultState()){
event.player.world.setBlockState(event.player.getPosition().add(0, -1, 0), Blocks.COBBLESTONE.getDefaultState());
}
}