Elements that produce colors through absorption and emittance of wavelengths are usually transition metals. They can cause a mineral to always be a certain color if they are part of the chemistry of the mineral. However, if there is just a trace of these elements, they still can strongly influence the color of the mineral. Even tiny amounts of these elements can deeply color minerals. It is erroneously thought that certain elements cause only certain colors and there is some truth to that.
Copper usually produces green and blue colors.
Iron is known for the red and yellow colors that it typically produces. However, almost any element can be responsible for any color. These minerals, although still subject to the effects of trace elements, always have the same basic color. Most minerals, however, are usually white or colorless in a pure state. Many impurities can color these minerals and make their color variable.