From 339944d13a55f83201b0e5eef625aa888456342d Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Sun, 5 Oct 2025 18:26:39 +0800 Subject: [PATCH] :sparkles: First time join --- .../solsynth/snConnect/listeners/SnChatListener.kt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/dev/solsynth/snConnect/listeners/SnChatListener.kt b/src/main/kotlin/dev/solsynth/snConnect/listeners/SnChatListener.kt index 1d52a4a..4db6f59 100644 --- a/src/main/kotlin/dev/solsynth/snConnect/listeners/SnChatListener.kt +++ b/src/main/kotlin/dev/solsynth/snConnect/listeners/SnChatListener.kt @@ -1,6 +1,7 @@ package dev.solsynth.snConnect.listeners import dev.solsynth.snConnect.services.SnMessageService +import org.bukkit.Bukkit import org.bukkit.entity.Player import org.bukkit.event.EventHandler import org.bukkit.event.EventPriority @@ -16,16 +17,16 @@ class SnChatListener( private val destinationChatId: String, private val messages: Map ) : Listener { - @EventHandler(priority = EventPriority.MONITOR) fun onPlayerChat(event: AsyncPlayerChatEvent) { val message = "${event.player.name}: ${event.message}" messageService.sendMessage(destinationChatId, message) } - @EventHandler(priority = EventPriority.MONITOR) + @Suppress("SENSELESS_COMPARISON") + @EventHandler() fun onPlayerJoin(event: PlayerJoinEvent) { - val firstTime = event.player.hasPlayedBefore(); + val firstTime = Bukkit.getOfflinePlayer(event.player.uniqueId) == null; val templateKey = if (!firstTime) "join" else "joinFirst"; val template = messages[templateKey] ?: if (!firstTime) "➡️ {player} joined the game." else "➡️ {player} first time joined the game." @@ -33,14 +34,14 @@ class SnChatListener( messageService.sendMessage(destinationChatId, message) } - @EventHandler(priority = EventPriority.MONITOR) + @EventHandler() fun onPlayerQuit(event: PlayerQuitEvent) { val template = messages["quit"] ?: "⬅️ {player} left the game." val message = template.replace("{player}", event.player.name) messageService.sendMessage(destinationChatId, message) } - @EventHandler(priority = EventPriority.MONITOR) + @EventHandler() fun onPlayerDeath(event: PlayerDeathEvent) { val template = messages["death"] ?: "💀 {player} {message}" val message = template.replace("{player}", event.entity.name).replace("{message}", event.deathMessage ?: "")