package net.hareworks.simplymcdb import net.kyori.adventure.text.minimessage.MiniMessage import org.bukkit.event.EventHandler import org.bukkit.event.Listener import org.bukkit.event.player.PlayerJoinEvent import org.bukkit.event.player.PlayerQuitEvent import org.jetbrains.exposed.sql.* public object EventListener : Listener { @EventHandler fun onJoin(event: PlayerJoinEvent) { if (event.player.hasPermission("simplymcdb.admin")) { when (App.instance.enabled) { State.DISABLED -> { val mm = MiniMessage.miniMessage() .deserialize( "[SMCDB:admin] simplymcdb is disabled.
Run /smcdb check to check the status." ) event.player.sendMessage(mm) } State.DISCONNECTED -> { val mm = MiniMessage.miniMessage() .deserialize( "[SMCDB:admin] simplymcdb is enabled but disconnected.
Run /smcdb check to check the status." ) event.player.sendMessage(mm) } else -> { val mm = MiniMessage.miniMessage() .deserialize("[SMCDB:admin] simplymcdb is enabled.") event.player.sendMessage(mm) } } } if (App.instance.enabled !== State.ACTIVE) return /*-----------+---------+----------+ | | played | not | +------------+---------+----------+ | registered | fetch | fetch | | not | confirm | register | +------------+---------+---------*/ if (isRegistered(event.player.uniqueId)) fetch(event.player) else if (event.player.hasPlayedBefore()) { register(event.player) } else { event.player.sendMessage( MiniMessage.miniMessage() .deserialize( "[SMCDB] Welcome, ${event.player.name}." + "SMCDB is active but you have already played before." + "Run /smcdb register to register yourself." ) ) } } @EventHandler fun onQuit(event: PlayerQuitEvent) { if (App.instance.enabled !== State.ACTIVE) return if (isRegistered(event.player.uniqueId)) update(event.player) } }