{
  "format_version": "1.10.0",
  "particle_effect": {
    "description": {
      "identifier": "minecraft:splash_spell_emitter",
      "basic_render_parameters": {
        "material": "particles_blend",
        "texture": "textures/particle/particles"
      }
    },
    "components": {
      "minecraft:emitter_rate_instant": {
        "num_particles": 100
      },

      "minecraft:emitter_lifetime_once": {},

      "minecraft:emitter_shape_point": {
        "offset": [ "variable.is_vertical = Math.Random(0.0, 1.0) > 0.7; variable.splash_power = Math.random(0.0, 1.0) * variable.splash_range; variable.color_brightness = 0.75 + Math.random(0.0, 1.0) * 0.25; return 0.0;", 0, 0 ],
        "direction": [
          "(variable.is_vertical > 0 ? 0.15 : 1.0) * Math.random(-1,1)",
          "(variable.is_vertical > 0 ? 1.0 : 0.0) * Math.random(0,1)",
          "(variable.is_vertical > 0 ? 0.15 : 1.0) * Math.random(-1,1)"
        ]
      },
      "minecraft:particle_initial_speed": "(variable.is_vertical > 0 ? Math.random(1.75, 3.75) : Math.random(1.5, 5.5))",

      "minecraft:particle_lifetime_expression": {
        "max_lifetime": "Math.random(0.7, 1.5)"
      },

      "minecraft:particle_motion_dynamic": {
        "linear_acceleration": [
          "(variable.particle_random_1 * 2 - 1) * variable.splash_power * (variable.is_vertical > 0 ? 0.2 : 0.5) * 2.5",
          "(-0.1 * variable.splash_power + 1) * (variable.is_vertical > 0 ? 0.9 : 1.3) * 2.5",
          "(variable.particle_random_2 * 2 - 1) * variable.splash_power * (variable.is_vertical > 0 ? 0.2 : 0.5) * 2.5"
        ],
        "linear_drag_coefficient": 2.5
      },

      "minecraft:particle_motion_collision": {
        "enabled": 1,
        "expire_on_contact": true,
        "collision_drag": 1.0,
        "coefficient_of_restitution": 1.0,
        "collision_radius": 0.01
      },

      "minecraft:particle_appearance_billboard": {
        "size": [ 0.125, 0.125 ],
        "facing_camera_mode": "lookat_xyz",

        "uv": {
          "texture_width": 128,
          "texture_height": 128,

          "flipbook": {
            "base_UV": [ 64, 64 ],
            "size_UV": [ 8, 8 ],
            "step_UV": [ -8, 0 ],
            "frames_per_second": 4,
            "max_frame": 8,
            "stretch_to_lifetime": true,
            "loop": false
          }
        }
      },
      "minecraft:particle_appearance_tinting": {
        "color": [ "variable.color.r * variable.color_brightness", "variable.color.g * variable.color_brightness", "variable.color.b * variable.color_brightness", "variable.color.a" ]
      },
      "minecraft:particle_appearance_lighting": {}
    }
  }
}
