Repository navigation
Choose A Registry
Use this page when you know what you want to change but do not yet know the registry name. A registry is the named collection of game records that a mod can change. After choosing one, use the generated Registry reference for the exact required fields.
Where code goes: put registry calls in your mod entry file, usually
main.lua. Content is combined during startup, before the live game begins;
see Lifecycle. Status: the calls on this page are
small, paste-ready patches when the named id already exists. New records need
the required fields shown in the generated reference.
First choose the operation:
| You want to | Operation |
|---|---|
| Change part of an existing record | patch |
| Add a record with a new id | register |
| Replace a whole existing record | override |
| Make a record unavailable | remove |
patch is the usual first choice. It keeps fields you do not mention. See
Content registries for list, deep, and compose merge
rules before changing a list or map_scripts entry.
| You want to make | Start with | You may also need |
|---|---|---|
| Change a Pokémon's stats, type, moves, sprite path, or evolution | pokemon |
moves, icons, cries
|
| Change an existing move or add a move effect | moves |
move_effects, battle_anims
|
| Change an item, Poké Ball, or item behavior | items |
item_effects, balls
|
| Change a trainer's party or reward | trainers |
ai_classes, music
|
| Change dialogue or an engine message | text |
strings, text_pointers
|
| Add or change a map, its layout, or encounters | maps |
tilesets, encounters, sprites
|
| Add map dialogue, a cutscene, or a script | map_scripts |
Script commands, text
|
| Change startup location, badge data, or overworld tables | field |
constants |
| Add a screen, menu asset, or interface text | screens |
strings, The mod object
|
| Add music, a sound effect, a cry, palette, or font |
music, sfx, cries
|
palettes, font
|
| Add a script command, status, growth curve, or evolution method |
commands, statuses
|
growth_rates, evolution_methods
|
| Change a rule that is computed while the game runs | Events and Hooks | Hook reference |
The generated reference is exact but compact. Read its type descriptions this way:
| Notation | Meaning |
|---|---|
string, number, boolean
|
ordinary Lua text, numeric, or true/false value |
function |
code the engine calls later; find its documented arguments and return value before writing it |
{ field, otherField? } |
a record: a Lua table with named fields; ? marks an optional field |
list of T |
an ordered Lua table whose entries have type T
|
map of K -> V |
a Lua table that maps each key shaped like K to a value shaped like V
|
A | B |
either listed shape is accepted |
moves id, items id, and similar |
the internal id of a record in that named registry, not its displayed name |
For example, this patch changes one field on the existing move whose internal
id is BLIZZARD:
mod.content.moves:patch("BLIZZARD", { accuracy = 70 })Most registry names work across generations, but their record fields or target tables can differ. Use the main schema for Red, Blue, and Yellow; use the On Gold (Gen 2) subsection when targeting Gold; read both when supporting both. Some registries are explicitly Gen 2 only or have no Gold home, and the generated reference says so at the relevant entry.
Player link setup is separate from registry authoring: configure it in the
launcher with a vanilla cart or sealed custom cart. A sealed cart is the
supported route for its pinned mods; freely enabled loose mods, including
cosmetic mods, are not a supported link setup. The generated link_fields
entry is low-level cart-protocol material, not a way to approve loose mods.
- Read Content registries before choosing between
patch,override, and list wrappers. - Use Reference: Registries when you need the exact field names and required values.
- Use Tutorial 00 for a first visible change, or Troubleshooting if your mod does not load.
Home · Start Playing · Glossary · Troubleshooting · Repository · Community
Game data is imported locally from a supported ROM supplied by the player. Shared mods contain original work or transform recipes, never extracted game content. Check each guide's target game before using its examples.
Start here
Playing
Tutorials
- Choose a tutorial
- 01 Sprite and Text Tweak
- 02 Balance Patch
- 03 New Species
- 04 New Item and Ball
- 05 New Move
- 06 NPC and Dialogue
- 07 New Map
- 08 Quest
- 09 Custom Music
- 10 New Mechanic
- 11 Custom UI Screen
- 12 Mini Total Conversion
Creative guides
Concepts
Recipes and reference
Author and developer tools