Could you convert ban boolean into integer that represents seconds and make that -1 = definitive, 0 = kick and >= 1 = ban time? And also make that warn false do nothing and warn true inform the player only (don't kick/ban).

I'm trying to develop a plugin using your hook to create level.
Warn player about violation.

  1. Kick player.
  2. Ban for 10 minutes.
  3. Ban for 60 minutes.
  4. Ban for 24 hours.
  5. Definitive ban.
For now, I can really do that because ban + warn false will kick the player (from what I understand in your doc) and warn true will inform the player that means my plugin will create a doublon. I could make warn true and don't create a warning for me but that means I can't customize the message.