You probably know about Cobbreeding, it’s a pretty neat mod. I’ve been trying to find how best to use Cobblemon’s logic concerning custom properties when building a Pokémon from another Pokémon. I do this primarily in Spawn Chaining; without it, if you chain a Galarian Ponyta, you’d get a regular Ponyta spawning. I finally took a look at Cobbreeding’s way of doing this (it does it to figure out what should be passed down from parent to egg), and this system was born.

I took their way of conditionally extracting properties from a Pokémon instance, and exploded it into something data-driven. Now, your mod can determine which properties should be extracted when cloning a Pokémon into a PokemonProperties in which circumstances.

Take a look at Spawn Chaining’s Custom Property Whitelist data for an implementation example. I ran out of braincells at the end of writing this, so maybe an example of “hey, Spawn Chaining cares about region bias and regions and did it this way” will help.