override fun onStart() {
bindListener(Listener(EntityDamageEvent::class) { it.isCancelled = true })
}
uhh the Listener has a register() and an unregister() method, starting the method will cause all bound listeners to be registered until the end of the game, calling Phase#cancel() will cause the listeners to be unregistered.
i'll probably add a parameter so its
bindListener("some identifier", Listener(EntityDamageEvent::class) { it.isCancelled = true })
instead. so i can disable them later by identifier like
unbindListener("some identifier"). that cool?