{
    "format_version": "1.10.0",
    "particle_effect": {
      "description": {
        "identifier": "minecraft:ink_emitter",
        "basic_render_parameters": {
          "material": "particles_alpha",
          "texture": "textures/particle/particles"
        }
      },
      "components": {
        "minecraft:emitter_rate_instant": {
          "num_particles": "variable.particlecount"
        },
        "minecraft:emitter_lifetime_expression": {
          "activation_expression": "(variable.emitter_age > 0.45 ? 1.0 : 0.0)",
          "expiration_expression": "(variable.emitter_age > 10.0 ? 1.0 : 0.0)"
        },
        "minecraft:emitter_shape_point": {
          "direction": [
            "variable.direction_vector.x + Math.random(0, 1) * variable.aabb_dimension.x * 2 - variable.aabb_dimension.x",
            "variable.direction_vector.y + 0.5 + Math.random(0, 1) * variable.aabb_dimension.y",
            "variable.direction_vector.z + Math.random(0, 1) * variable.aabb_dimension.x * 2 - variable.aabb_dimension.x"
          ]
        },
        "minecraft:particle_initial_speed": "(1.0 + Math.random(0, 1) + Math.random(0, 1))",
        "minecraft:particle_lifetime_expression": {
          "max_lifetime": "(variable.particlesize * 4) / (Math.random(0.2, 1))"
        },
        "minecraft:particle_motion_dynamic": {
          "linear_acceleration": [ 0.0, "variable.is_outside_water * (-3)", 0.0 ],
          "linear_drag_coefficient": 1.5
        },
        "minecraft:particle_motion_collision": {
          "collision_drag": 4.0,
          "coefficient_of_restitution": 0.0,
          "collision_radius": 0.1
        },
        "minecraft:particle_appearance_billboard": {
          "size": [ "variable.particlesize", "variable.particlesize" ],
          "facing_camera_mode": "rotate_xyz",
          "uv": {
            "texture_width": 128,
            "texture_height": 128,
            "flipbook": {
              "base_UV": [ 56, 0 ],
              "size_UV": [ 8, 8 ],
              "step_UV": [ -8, 0 ],
              "frames_per_second": 8,
              "max_frame": 8,
              "stretch_to_lifetime": true,
              "loop": false
            }
          }
        },
        "minecraft:particle_appearance_tinting": {
          "color": [ "variable.color.r + Math.random(0, 0.05)", "variable.color.g + Math.random(0, 0.05)", "variable.color.b + Math.random(0, 0.05)", 1.0 ]
        }
      }
    }
  }
  