This documentation is for an unreleased version of MPF!

This is the developer documentation for MPF 0.51, which is the “dev” (next) release of MPF that is a work-in-progress. Use the “Read the Docs” link in the lower left corner to view the developer docs for the version of MPF you’re using.


class mpf.devices.achievement_group.AchievementGroup(*args, **kwargs)

Bases: mpf.core.mode_device.ModeDevice

An achievement group in a pinball machine.

It is tracked per player and can automatically restore state on the next ball.

Accessing achievement_groups in code

The device collection which contains the achievement_groups in your machine is available via self.machine.achievement_groups. For example, to access one called “foo”, you would use self.machine.achievement_groups.foo. You can also access achievement_groups in dictionary form, e.g. self.machine.achievement_groups['foo'].

You can also get devices by tag or hardware number. See the DeviceCollection documentation for details.

Methods & Attributes

Achievement_groups have the following methods & attributes available. Note that methods & attributes inherited from base classes are not included here.


Disable achievement group.


Enable achievement group.


Return enabled state.


Notify the group that one of its members has changed state.

raise_config_error(msg, error_no, *, context=None)

Raise a ConfigFileError exception.


Rotate to the left.

rotate_right(reverse=False, **kwargs)

Rotate to the right.


Select a random achievement.


Start the currently selected achievement.