Listen for an event as long as this plugin is Enabled. The predicate is optional. It can be nice for quick events, but it also default to true to allow for customization. You can also set ignoreCancelled and priority When this is detected, if the predicate is matched, the action is run
inline fun <T : Event> KotlinPlugin.listenForEvent(ignoreCancelled: Boolean, priority: EventPriority, crossinline predicate: (T) -> Boolean, crossinline action: (T) -> Unit)