{
    "format_version": "1.10.0",
    "particle_effect": {
      "description": {
        "identifier": "minecraft:campfire_smoke_particle",
        "basic_render_parameters": {
          "material": "particles_blend",
          "texture": "textures/particle/campfire_smoke"
        }
      },
      "components": {
        "minecraft:emitter_shape_custom": {
          "offset": [ 0, 0, 0 ],
          "direction": [ 0.0, 1.0, 0.0 ]
        },
        "minecraft:emitter_rate_manual": {
          "max_particles": 200
        },
        "minecraft:emitter_lifetime_expression": {
          "activation_expression": 1,
          "expiration_expression": 0
        },
        "minecraft:particle_initial_speed": "Math.random(0.5, 1.0)",
        "minecraft:particle_lifetime_expression": {
          "max_lifetime": "5"
        },
        "minecraft:particle_motion_dynamic": {
          "linear_acceleration": [ 0, 0.4, 0 ]
        },
        "minecraft:particle_motion_collision": {
          "enabled": "variable.particle_age > 1",
          "collision_radius": 0.25
        },
        "minecraft:particle_initialization": {
          "per_render_expression": "variable.size = 0.75 * math.pow(1.0-(variable.particle_age / variable.particle_lifetime), 0.08);"
        },
        "minecraft:particle_appearance_billboard": {
          "size": ["variable.size" , "variable.size" ],
          "facing_camera_mode": "lookat_xyz",
          "uv": {
            "texture_width": 1,
            "texture_height": 12,
            "uv": [ 0, "Math.floor(variable.particle_random_2 * 12)" ],
            "uv_size": [ 1, 1 ]
          }
        },
        "minecraft:particle_appearance_lighting": {}
      }
    }
  }
  