First time join

This commit is contained in:
2025-10-05 18:26:39 +08:00
parent c2e7f613c7
commit 339944d13a

View File

@@ -1,6 +1,7 @@
package dev.solsynth.snConnect.listeners package dev.solsynth.snConnect.listeners
import dev.solsynth.snConnect.services.SnMessageService import dev.solsynth.snConnect.services.SnMessageService
import org.bukkit.Bukkit
import org.bukkit.entity.Player import org.bukkit.entity.Player
import org.bukkit.event.EventHandler import org.bukkit.event.EventHandler
import org.bukkit.event.EventPriority import org.bukkit.event.EventPriority
@@ -16,16 +17,16 @@ class SnChatListener(
private val destinationChatId: String, private val destinationChatId: String,
private val messages: Map<String, String> private val messages: Map<String, String>
) : Listener { ) : Listener {
@EventHandler(priority = EventPriority.MONITOR) @EventHandler(priority = EventPriority.MONITOR)
fun onPlayerChat(event: AsyncPlayerChatEvent) { fun onPlayerChat(event: AsyncPlayerChatEvent) {
val message = "${event.player.name}: ${event.message}" val message = "${event.player.name}: ${event.message}"
messageService.sendMessage(destinationChatId, message) messageService.sendMessage(destinationChatId, message)
} }
@EventHandler(priority = EventPriority.MONITOR) @Suppress("SENSELESS_COMPARISON")
@EventHandler()
fun onPlayerJoin(event: PlayerJoinEvent) { 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 templateKey = if (!firstTime) "join" else "joinFirst";
val template = messages[templateKey] val template = messages[templateKey]
?: if (!firstTime) "➡️ {player} joined the game." else "➡️ {player} first time joined the game." ?: if (!firstTime) "➡️ {player} joined the game." else "➡️ {player} first time joined the game."
@@ -33,14 +34,14 @@ class SnChatListener(
messageService.sendMessage(destinationChatId, message) messageService.sendMessage(destinationChatId, message)
} }
@EventHandler(priority = EventPriority.MONITOR) @EventHandler()
fun onPlayerQuit(event: PlayerQuitEvent) { fun onPlayerQuit(event: PlayerQuitEvent) {
val template = messages["quit"] ?: "⬅️ {player} left the game." val template = messages["quit"] ?: "⬅️ {player} left the game."
val message = template.replace("{player}", event.player.name) val message = template.replace("{player}", event.player.name)
messageService.sendMessage(destinationChatId, message) messageService.sendMessage(destinationChatId, message)
} }
@EventHandler(priority = EventPriority.MONITOR) @EventHandler()
fun onPlayerDeath(event: PlayerDeathEvent) { fun onPlayerDeath(event: PlayerDeathEvent) {
val template = messages["death"] ?: "💀 {player} {message}" val template = messages["death"] ?: "💀 {player} {message}"
val message = template.replace("{player}", event.entity.name).replace("{message}", event.deathMessage ?: "") val message = template.replace("{player}", event.entity.name).replace("{message}", event.deathMessage ?: "")