The only way for you to figure it out is by paying attention to whether the class is abstract. The exception it throws when attempting to register a listener for that event doesn't even reference PlayerBucketEvent. It references fucking PlayerEvent. (2/2)