-
Notifications
You must be signed in to change notification settings - Fork 2
Accessories.json
Covers the four small config files that define gimmick accessories — Mega, Tera, Z-Power, and Dynamax. These items don't transform a Pokémon by themselves; they gate whether the matching gimmick is available at all in battle. All four files share the same trivial schema (see AccessoriesConfig.java): an item ID mapped to a single lore array.
| File | Located at |
|---|---|
mega_accessories.json |
GenesisForms/items/accessories/mega_accessories.json |
tera_accessories.json |
GenesisForms/items/accessories/tera_accessories.json |
z_accessories.json |
GenesisForms/items/accessories/z_accessories.json |
dynamax_accessories.json |
GenesisForms/items/accessories/dynamax_accessories.json |
| Field | Type | Description |
|---|---|---|
<item_id> |
object | A single accessory item, keyed by its own item ID. |
lore |
string array | Tooltip lore lines. Supports MiniMessage tags. This is the only configurable field — there is nothing else to tune per accessory. |
Note
Every entry across all four files registers the exact same underlying item class per gimmick (MegaAccessory, TeraAccessory, ZAccessory, or DynamaxAccessory — see KeyItemsGroup.java). Within a gimmick, every named variant (e.g. mega_cuff vs. key_stone) is functionally identical — they differ only in item ID and lore flavor text, matching how the mainline games reskin the same Mega item across regions (Mega Ring, Mega Bracelet, Mega Charm, Mega Cuff, Key Stone).
At the start of every battle, GenesisForms scans:
- the player's inventory, restricted to whichever slots are enabled under
Config.json'sgeneral_settings.key_item_slots(hotbar,main,mainhand,offhand,armor, or specific slot indices), and - if the Trinkets mod is installed, the player's equipped Trinkets accessory slots,
looking for any item that's an instance of MegaAccessory, TeraAccessory, ZAccessory, or DynamaxAccessory (and only if the matching gimmick is enabled in Config.json — mega_settings.enable_mega_evolution, tera_settings.enable_tera, z_power_settings.enable_z_crystals, dynamax_settings.enable_dynamax). For each one found, GenesisForms grants the player Cobblemon's own native "key item" flag — key_stone, tera_orb, z_ring, or dynamax_band respectively, via Cobblemon's GeneralPlayerData. That native flag is the actual Cobblemon mechanic that shows or hides the Mega Evolution / Terastallize / Z-Move / Dynamax button in the battle UI at all. These flags are cleared and re-evaluated at the start of every battle, so an accessory removed from a valid slot stops granting its gimmick from the next battle onward.
Note
If a player qualifies for both Tera and Dynamax in the same battle, the Dynamax key item flag is not granted — Tera takes priority. Mega and Z-Power don't have this restriction with each other or with Tera/Dynamax.
📄 Full default file
{
"mega_cuff": {
"lore": [
"<gray>This cuff contains an unknown power that somehow enables a Pokémon carrying a Mega Stone to Mega Evolve in battle."
]
},
"mega_charm": {
"lore": [
"<gray>This charm contains an unknown power that somehow enables a Pokémon carrying a Mega Stone to Mega Evolve in battle."
]
},
"mega_ring": {
"lore": [
"<gray>This ring contains an unknown power that somehow enables a Pokémon carrying a Mega Stone to Mega Evolve in battle."
]
},
"mega_bracelet": {
"lore": [
"<gray>This bracelet contains an unknown power that somehow enables a Pokémon carrying a Mega Stone to Mega Evolve in battle."
]
},
"key_stone": {
"lore": [
"<gray>A stone filled with an unexplained power.",
"<gray>It makes Pokémon that battle with a Mega Stone able to Mega Evolve."
]
}
}Five identical variants: mega_cuff, mega_charm, mega_ring, mega_bracelet, key_stone. Beyond the battle-gate role shared by all accessories, Mega accessories have one extra behavior the other three don't: they're directly usable outside of battle.
Tip
Right-clicking a Mega accessory directly onto your own Pokémon (outside of battle, and only when mega_settings.enable_mega_evolution and mega_settings.allow_mega_outside_battles are both true, and the Pokémon isn't currently in a battle) toggles Mega Evolution on the spot — Mega Evolving it if it's eligible (holding a matching Mega Stone, or configured for an itemless Mega), or reverting it back if it's already Mega Evolved. This is a convenience path separate from the in-battle gimmick-gate role described above.
📄 Full default file
{
"tera_orb": {
"lore": [
"<gray>An orb that holds within it the power to crystallize.",
"<gray>When it is charged with energy, it can be used to cause Pokémon to Terastallize."
]
}
}One item: tera_orb. It shares the same battle-gate role as the other accessories, plus its own charge mechanic:
- The Tera Orb is a damageable item (100 max damage) that acts as a "charge" gauge. It only counts toward granting the
tera_orbkey item flag while it isn't fully damaged (i.e. it still has charge left). - If
tera_settings.require_orb_rechargeistrue, Terastallizing in battle drains the orb to full damage (0 charge remaining), so it stops granting Tera availability until it's recharged. - Healing the player's party (e.g. at a healing machine/PC) fully recharges every Tera Orb the player is carrying in a valid key item slot, resetting its damage back to 0 — mirroring how the mainline games recharge the Tera Orb at a Pokémon Center.
- Right-clicking a Pokémon with the Tera Orb doesn't Terastallize it directly; it just pops up an informational toast showing that Pokémon's current Tera type.
📄 Full default file
{
"z_ring": {
"lore": [
"<gray>A mysterious ring that enables Pokémon to use Z-Power.",
"<gray>It requires both the willpower and the physical power of the Trainer wearing it."
]
},
"z_power_ring": {
"lore": [
"<gray>A mysterious ring that enables Pokémon to use Z-Power.",
"<gray>It requires both the willpower and the physical power of the Trainer wearing it."
]
}
}Two identical variants: z_ring, z_power_ring. Unlike Mega and Tera, ZAccessory adds no extra interactions at all — it exists purely as a battle-gate item. Carrying one (in a valid slot or Trinkets accessory slot) grants the z_ring Cobblemon key item flag when z_power_settings.enable_z_crystals is true, which is what actually allows the Z-Move option to appear for a Pokémon holding a matching Z-Crystal.
📄 Full default file
{
"dynamax_band": {
"lore": [
"<gray>A Wishing Star has been affixed to it.",
"<gray>It lets out a light that allows Pokémon to Dynamax."
]
}
}One item: dynamax_band. Like Z-Power accessories, it's mostly a pure battle-gate item — carrying it grants the dynamax_band key item flag (subject to the Tera-priority rule above and dynamax_settings.enable_dynamax). It has one minor extra interaction: right-clicking it onto your own Pokémon outside of battle sends you an informational chat message stating whether that Pokémon currently has its Gigantamax factor — it doesn't change anything, and Dynamax/Gigantamax itself can only happen in battle.
- How-It-Works — the accessory + held-item dual requirement explained in more depth.
-
Commands —
/genesis giveKeyItem <player> <key-item>gives any accessory by its item ID. - Mega_Evolutions.json — Mega Stone / itemless Mega configuration that Mega accessories gate.
- Z_Crystals.json — Z-Crystal configuration that Z-Power accessories gate.
- Tera_Shards.json — Tera Shard / Tera type configuration that Tera accessories gate.
-
Config.json —
mega_settings,tera_settings,z_power_settings,dynamax_settings, andgeneral_settings.key_item_slots, all referenced above.