Skip to content

Breeding Rules

Provi edited this page Aug 3, 2026 · 6 revisions

Describes the rules for breeding two Pokemon. This object is a list of Rule objects, the Rules higher in the list are given priority over later ones; the first Rule to match the parents will be selected.

Rule

Fields

Field Type Default Description
primary_parent Pokemon Predicate optional A predicate that, if present, the mother or non-Ditto parent must pass.
secondary_parent Pokemon Predicate optional A predicate that, if present, the father or Ditto parent must pass.
bypass_egg_group Boolean false Whether or not this rule should bypass egg group rules.
bypass_gender Boolean false Whether or not this rule should bypass gender rules.
offspring List of Potential Offspring The list of possible offspring to produce from this pair.

Procedure

When checking if a Rule matches the parents, Daycare+ will check if the parents have compatible egg groups and genders. If a Rule bypasses egg groups, then the egg group compatibility is ignored; similarly, if the Rule bypasses genders then the gender compatibility is ignored.

If the parents are compatible (or if compatibility is bypassed) and they match the predicates described by the Rule, then the Rule is valid for this pairing. The first valid Rule is the one that is used for breeding.

If multiple offspring are described by a Rule, then one is selected at random using their weights.

Examples

Daycare+ contains dozens of Breeding Rules to match the vanilla rules of Pokemon breeding. You can find the internal datapack here.

Developer API

Datagen is provided for Breeding Rules, see the BreedingRuleGenerator as an example. Generators from sidemods should extend the BreedingRuleProvider class and are encouraged to use the BreedingRules builders.

Clone this wiki locally