Skip to content
Unariginal edited this page Sep 4, 2026 · 2 revisions

Events

events.json controls the particle animations, glow colors, feature overrides, and scale effects that play when a Pokémon changes form. Located at GenesisForms/events.json.

Warning

1.2.7 breaking change: every animation entry now needs a "type" field, and two fields were renamed: identifierparticle_resource, form_delay_secondsform_change_delay_seconds. Old-style entries without a type will fail to load — see Animations below for the new format. The shipped Mega Evolution animation has already been converted for you.

📄 Full default file
{
  "mega_evolution": {
    "animations": {
      "global": {
        "type": "snowstorm_entity",
        "form_change_delay_seconds": 4.9,
        "particle_resource": "cobblemon:mega_evolution",
        "x_offset": 0,
        "y_offset": 0,
        "z_offset": 0,
        "locators": ["root"]
      }
    },
    "glow": {},
    "features": {},
    "scale": {}
  },
  "terastallization": {
    "animations": {},
    "glow": {
      "global": "white",
      "bug": "green",
      "dark": "black",
      "ghost": "dark_purple",
      "grass": "dark_green",
      "ground": "gold",
      "poison": "dark_purple",
      "rock": "yellow",
      "steel": "gray",
      "ice": "aqua",
      "fire": "red",
      "dragon": "dark_blue",
      "fighting": "gold",
      "flying": "aqua",
      "fairy": "light_purple",
      "psychic": "light_purple",
      "normal": "white",
      "electric": "yellow",
      "water": "blue",
      "stellar": "white"
    },
    "features": {},
    "scale": {}
  },
  "z_power": {
    "animations": {},
    "glow": {},
    "features": {},
    "scale": {}
  },
  "dynamax": {
    "animations": {},
    "glow": {},
    "features": {},
    "scale": {
      "global": {
        "scale": 4.0,
        "scaling_ticks": 60
      }
    }
  },
  "form_changes": {
    "key_items": { "animations": {}, "glow": {}, "features": {}, "scale": {} },
    "held_items": { "animations": {}, "glow": {}, "features": {}, "scale": {} },
    "fusions": { "animations": {}, "glow": {}, "features": {}, "scale": {} },
    "possessions": { "animations": {}, "glow": {}, "features": {}, "scale": {} },
    "battle_forms": { "animations": {}, "glow": {}, "features": {}, "scale": {} }
  }
}

Structure

The file is split into sections, one per system:

  • mega_evolution, terastallization, z_power, dynamax — the four core gimmicks
  • form_changes — key items, held items, fusions, possessions, and battle forms (added in 1.2.7 — see form_changes below)

Each section contains up to four sub-sections — "animations", "glow", "features", and "scale" — documented individually below. The key of each entry within those sub-sections points to which variant of that gimmick you'd like to modify, with "global" being the default that applies when there's no more specific match. Mega Evolution and Dynamax only really use "global". Terastallization keys are Tera Types ("fire", "water", etc.), and Z-Power keys are Z-Crystal item IDs.

Animations

"type" is one of three particle systems:

vanilla

Spawns a normal Minecraft particle. Use this when you don't need a custom particle resource.

"global": {
  "type": "vanilla",
  "particle_resource": "minecraft:totem_of_undying",
  "form_change_delay_seconds": 0.5,
  "x_offset": 0,
  "y_offset": 1,
  "z_offset": 0,
  "count": 20,
  "delta_x": 0.5,
  "delta_y": 0.5,
  "delta_z": 0.5,
  "speed": 0.1
}

snowstorm

Spawns a Bedrock/Cobblemon-style particle effect at a fixed point in the world (offset from the Pokémon's position). It does not follow the Pokémon if it moves.

"global": {
  "type": "snowstorm",
  "particle_resource": "cobblemon:some_effect",
  "form_change_delay_seconds": 1.0,
  "x_offset": 0,
  "y_offset": 0,
  "z_offset": 0
}

snowstorm_entity

Spawns a Bedrock/Cobblemon-style particle effect attached to the Pokémon's model, so it follows the Pokémon around. "locators" is a list of model bone names to attach to — ["root"] covers most cases. This is what the default Mega Evolution animation uses:

"global": {
  "type": "snowstorm_entity",
  "particle_resource": "cobblemon:mega_evolution",
  "form_change_delay_seconds": 4.9,
  "x_offset": 0,
  "y_offset": 0,
  "z_offset": 0,
  "locators": ["root"]
}
Field Applies to Description
type all "vanilla", "snowstorm", or "snowstorm_entity".
particle_resource all The particle to spawn — a vanilla particle ID for vanilla, or a Cobblemon/Bedrock particle resource identifier for the other two. (Renamed from identifier.)
form_change_delay_seconds all Delay before the actual form change (feature/species/model swap) happens, so the effect has time to play first. (Renamed from form_delay_seconds.)
x_offset / y_offset / z_offset all Position offset from the Pokémon.
locators snowstorm_entity only Model bone name(s) to attach the effect to.
count, delta_x, delta_y, delta_z, speed vanilla only Standard Minecraft particle-spawning parameters.

Glow

A set of JSON strings mapping a key to a glow color. Colors are limited to whatever exists in Minecraft's scoreboard team color system.

"glow": {
  "global": "white",
  "fire": "red",
  "water": "blue"
}

Note

Glow is implemented with a scoreboard team per glowing Pokémon (named glow_<eventId>_<pokemonUUID>). If you're coming from a pre-1.2.7 server, run /genesis clearGlowTeams once — see Commands — to clean up leftover teams from a bug fixed in that release.

Features

A set of JSON objects, each with a "feature_name", "feature_value" to apply, and "default_value" to fall back to afterward (e.g. "null" or "normal").

"features": {
  "bug": {
    "feature_name": "skin",
    "feature_value": "tera_bug",
    "default_value": "null"
  }
}

Scale

A set of JSON objects with a target "scale" and "scaling_ticks" (how many ticks it takes to reach that scale). Scale reverts to 1 when the gimmick ends.

"scale": {
  "global": {
    "scale": 4.0,
    "scaling_ticks": 60
  }
}

form_changes (added in 1.2.7)

Previously, animations/glow/features/scale only worked for the four core gimmicks above. As of 1.2.7, the same four sub-sections are also available under form_changes, for:

  • key_items — form-cycling key items (e.g. Zygarde Cube forms)
  • held_items — held-item-triggered forms (e.g. Ogerpon's masks, Zacian/Zamazenta's Rusted Sword/Shield)
  • fusions
  • possessions (e.g. Rotom's appliance forms)
  • battle_forms — weather/battle-driven forms (Castform, Cherrim, Aegislash stance, etc.), including reverting to the default form outside of battle

Each works exactly the same as the sections above — same animations/glow/features/scale structure, same type options for animations. All of these are empty (opt-in) by default — see the full file above.

The key you use under each form_changes sub-section is an event ID built from the Pokémon and the form it's changing to/from, lowercased:

Sub-section Event ID pattern Example
key_items <species>_<feature value> zygarde_complete
held_items <species>_<feature value> ogerpon_grass_mask
possessions <species>_<default feature value> rotom_light
fusions <core species>_<fuel species> kyurem_reshiram
battle_forms <species>_<form name>, or <species>_default_form when reverting, or zygarde_percent_cells for Zygarde's HP-threshold change castform_rainy, castform_default_form

Tip

These examples show the pattern, not guaranteed exact strings for every Pokémon — the precise feature value or form name has to match what Cobblemon/the mod actually uses internally. For example, to give Ogerpon's grass-mask form a particle burst, you'd add an entry keyed ogerpon_grass_mask under form_changes.held_items.animations; if you're unsure of the exact event ID for a form you want to hook, check the relevant item/handler page (see Held_Form_Items.json, Possession_Items.json, Key_Form_Items.json, Fusion_Items.json, Battle_Forms.json) for how that entry builds its event ID.

See Also

Config Files

─ items/accessories/Accessories.json

─ items/bag_items/Max_Items.json

─ items/bag_items/Tera_Shards.json

─ items/held_items/Held_Battle_Items.json

─ items/held_items/Held_Form_Items.json

─ items/held_items/Z_Crystals.json

─ items/key_items/Fusion_Items.json

─ items/key_items/Key_Form_Items.json

─ items/key_items/Possession_Items.json

Clone this wiki locally