Plan a feeding chain, watch cumulative contest stats, and keep sheen capacity visible while you edit.
Implemented Gen III rules, including Nature: Recipe files use the versioned gen3-pokeblock-chain JSON format, storing nature, starting stats, berry names, row order, and RPM. sum berry flavors; subtract each flavor's weakening flavor
(Spicy−Dry, Dry−Sweet, Sweet−Bitter, Bitter−Sour, Sour−Spicy); subtract one extra point
from every flavor for each negative result; clamp negatives to zero; multiply by
floor((1 + RPM/333) × 100) / 100; round each flavor half-up.
Pokéblock feel is floor(total smoothness / berry count) − berry count. For a non-neutral Nature, if the liked flavor is stronger than the disliked flavor, the liked gain is multiplied by 1.1 and rounded to the nearest integer. If the disliked flavor is stronger, that gain is multiplied by 0.9 and rounded to the nearest integer. Equal strengths receive no modifier. Adjusted gains are shown in each recipe; changed values retain the raw value in parentheses.
Duplicate berries produce a black block with three random strength-2 flavors, so its exact condition result is intentionally marked random.