In order for Pokémon to be able to breed, the environment around the ranch block they are inside has to be satisfactory for them. This is determined by the presence, quality, and quantity of certain blocks that are appropriate for the breeding Pokémon's type(s).
Each kind of block that is considered satisfactory for a type has a certain value from 1 to 4, while unsuitable blocks do not contribute to satisfaction and have values of 0. For each of the Pokémon's types, the satisfaction is the sum of the values of all of the blocks within the ranch block's range. Depending on the amount of satisfaction, a breeding strength value for the type is calculated, between 0 and 2. For single-type Pokémon, the breeding strength for their single type is used. For dual-type Pokémon, the breeding strength values of each of their types are averaged to obtain a final value (rounded down to the nearest multiple of 0.5).
The breeding strength value is then translated into how fast the Pokémon will breed (or if it will breed at all) with the following table.
||Duration of breeding process
||Duration per breeding stage
||"Pokémon 1 has a crush on Pokémon 2, but doesn't feel comfortable in this environment!"
||"Pokemon 1 likes Pokémon 2 a tiny bit more every day!"
||2 hours, 30 minutes
||"Pokémon 1 is more attracted to Pokémon 2 every day!"
||1 hour, 15 minutes
||"Pokémon 1's love for Pokémon 2 grows rapidly every day!"
||"Pokémon 1 falls madly in love with Pokémon 2 every single day!"
If an environment is modified during the breeding process and the satisfaction value rises above or drops below one of the thresholds listed above, the breeding speed will change accordingly. If the environment becomes unsuitable because of this, the Pokémon will start losing attraction at a rate of one stage every 30 minutes. The breeding process will continue even if the chunk is unloaded.
A ranch block has a 9×9 area around it by default and has a maximum range (with several ranch upgrades) of 15×15. The block that the ranch block is on and any blocks directly above the ranch block are not included, meaning that a ranch block will take into account between 80 and 224 blocks when determining satisfactions depending on its range. On each coordinate, the highest block that is at most 3 blocks higher than the ranch block is used to calculate satisfaction.
- "useBreedingEnvironment": If this is set to false, the entire breeding environment mechanic is disabled and Pokémon will always breed at breeding strength 1 ("Pokémon 1 is more attracted to Pokémon 2 every day!").
- "breedingTicks": This number determines how long it takes for a Pokémon to advance a stage at breeding strength 1. It is influenced by multipliers that derive from different breeding strengths.