Okay. I figured out that you were counting based on the visible rows of sprites. For the game's purposes (in case someone needs to refer back to this for lookup), those are rows 28, 47 and 50 (top pixels 1792, 3008 and 3200).
The first (28) is indeed used for cutting of grass, where a series of colors are hardcoded depending on the type of grass.
The second (47) is used:
- when the Pickaxe breaks stones and nodes without special animations, hardcoded to be gray;
- when items are added to the Wood Chipper, harcoded to be brown;
- in the
maruBeaker
specific temporary sprite, hardcoded to be light blue; and
- in the
dropEgg
specific temporary sprite, hardcoded to be white.
The third (50) is used:
- when Community Center bundles are completed, with the color chosen from a hardcoded list based on the numbers in field 3 of the
Data/Bundles
asset;
- when a bush is destroyed by an Axe, with a color hardcoded based on the current season (green, forest green, "Indian red" and cyan); and
- when a crop is destroyed that is either dead or at the seedling stage, with a different color hardcoded for each.
In sum, unfortunately, all of these would require some very tricky C# patching to the base game code to recolor, with the minor exception of the CC bundles being able to switch colors within a limited palette. (I needed some practice searching for these, thus the long list instead of just that summary.)