//This JSON was modified by AgentMindStorm (@agentms_). Please do not use this document without permission.
{
  "format_version": "1.10.0",
  "particle_effect": {
    "description": {
      "identifier": "minecraft:bubble_column_down_particle",
      "basic_render_parameters": {
        "material": "particles_alpha",
        "texture": "textures/particle/particles"
      }
    },
    "components": {
      "minecraft:emitter_rate_manual": {
        "max_particles": 1000
      },
      "minecraft:emitter_lifetime_expression": {
        "activation_expression": 1,
        "expiration_expression": 0
      },
      "minecraft:emitter_shape_point": {
        "direction": [0, -1, 0]
      },
      "minecraft:particle_lifetime_expression": {
        "max_lifetime": 10
      },
      "minecraft:particle_expire_if_not_in_blocks": [
        "minecraft:water",
        "minecraft:flowing_water",
        "minecraft:bubble_column"
      ],
      "minecraft:particle_initialization": {
        "per_update_expression": "variable.angle = variable.particle_random_1 * 360 + variable.particle_age * 180;",
        "per_render_expression": "variable.size = (0.05 * variable.particle_random_3+0.1)*(variable.particle_random_4*0.9+0.2);"
      },
      "minecraft:particle_initial_speed": "1",
      "minecraft:particle_motion_dynamic": {
        "linear_acceleration": ["Math.cos(variable.angle)*3", -1.3, "Math.sin(variable.angle)*3"],
        "linear_drag_coefficient": 2
      },
      "minecraft:particle_appearance_billboard": {
        "size": [ "variable.size", "variable.size" ],
        "facing_camera_mode": "rotate_xyz",
        "uv": {
          "texture_width": 128,
          "texture_height": 128,
          "uv": [ 0, 16 ],
          "uv_size": [ 8, 8 ]
        }
      },
      "minecraft:particle_appearance_lighting": {}
    }
  }
}
