{
  "format_version": "1.10.0",
  "particle_effect": {
    "description": {
      "identifier": "minecraft:mob_portal",
      "basic_render_parameters": {
        "material": "particles_add",
        "texture": "textures/particle/portal_effect"  // Usar la nueva textura
      }
    },
    "components": {
      "minecraft:emitter_rate_manual": {
        "max_particles": 1000
      },
      "minecraft:emitter_lifetime_expression": {
        "activation_expression": 1
      },
      "minecraft:emitter_shape_point": {
        "direction": [0, -1, 0]
      },
      "minecraft:particle_initialization": {
        "per_update_expression": "variable.xaccel = variable.particle_random_3 - 0.5; variable.zaccel = variable.particle_random_4 - 0.5;",
        "per_render_expression": "variable.size = (variable.particle_random_2 * 0.02 + 0.05) * (1 - Math.Pow((1-(variable.particle_age/variable.particle_lifetime)),2)); variable.color = (variable.particle_random_1 * 0.6 + 0.4); variable.color = [1.0, 1.0, 1.0, 1.0];"  // Tamaño reducido y color original
      },
      "minecraft:particle_lifetime_expression": {
        "max_lifetime": "Math.Random(2.0, 2.45)"
      },
      "minecraft:particle_initial_spin": {
        "rotation": "Math.random(-180, 180)",
        "rotation_rate": "Math.random(-9, 9)"
      },
      "minecraft:particle_initial_speed": "1",
      "minecraft:particle_motion_dynamic": {
        "linear_acceleration": ["variable.xaccel", 0.55, "variable.zaccel"]
      },
      "minecraft:particle_appearance_billboard": {
        "size": [
          "(0.1 + v.particle_random_4 * 0.05)",  // Tamaño reducido
          "(0.1 + v.particle_random_4 * 0.05)"   // Tamaño reducido
        ],
        "facing_camera_mode": "rotate_xyz",
        "uv": {
          "texture_width": 160,  // Ancho de la textura
          "texture_height": 20,   // Altura de la textura
          "uv": [
            "Math.floor(variable.particle_random_3 * 8) * 20",  // 8 áreas horizontales
            "0"  // Área vertical (siempre en 0 porque es una sola fila)
          ],
          "uv_size": [20, 20]  // Tamaño de cada área
        }
      },
      "minecraft:particle_appearance_tinting": {
        "color": [1.0, 1.0, 1.0, 1.0]  // Color original sin transparencia
      }
    }
  }
}