//This JSON was modified by Rainvay_ZCYF (@ZouChenyunfei). Please do not use this document without permission.
{
  "format_version": "1.10.0",
  "particle_effect": {
    "description": {
      "identifier": "minecraft:vibration_signal",
      "basic_render_parameters": {
        "material": "particles_alpha",
        "texture": "textures/particle/vibration_signal"
      }
    },
    "components": {
      "minecraft:emitter_rate_instant": {
         "num_particles": 1
      },
      "minecraft:emitter_lifetime_once": {
        "active_time": 0.25
      },
      "minecraft:emitter_shape_point": {
        "direction": [
          "variable.direction.x",
          "variable.direction.y",
          "variable.direction.z"
        ],
        "offset": ["(variable.particle_random_1-0.5)*0.3", "(variable.particle_random_2-0.5)*0.3", "(variable.particle_random_3-0.5)*0.3"]
      },
      "minecraft:particle_initial_speed": "0.9*variable.particle_initial_speed",
      "minecraft:particle_lifetime_expression": {
        "max_lifetime": "variable.max_lifetime"
      },
      "minecraft:particle_motion_dynamic": {
        "linear_acceleration": [ 0, 0, 0 ]
      },
    "minecraft:particle_motion_parametric": {
      "rotation": "(variable.particle_random_4-0.5)*20"
      },
    "minecraft:particle_appearance_billboard": {
        "size": [ 0.3, 0.3 ],
        "facing_camera_mode": "direction_y",
        "uv": {
          "texture_width": 18,
          "texture_height": 126,
          "flipbook": {
            "base_UV": [ 0, 0 ],
            "size_UV": [ 18, 18 ],
            "step_UV": [ 0, 18 ],
            "frames_per_second": 5,
            "max_frame": 5,
            "stretch_to_lifetime": false,
            "loop": true
          }
        }
      }
    }
  }
}