✨ Server start message, and the stop one
This commit is contained in:
@@ -82,9 +82,12 @@ class SolarNetworkConnect : JavaPlugin() {
|
||||
|
||||
messages = mapOf(
|
||||
"join" to "➡️ {player} joined the game.",
|
||||
"joinFirst" to "➡️ {player} first time joined the game.",
|
||||
"quit" to "⬅️ {player} left the game.",
|
||||
"death" to "💀 {player} {message}",
|
||||
"advancement" to "🎉 {player} unlocked advancement: {advancement}"
|
||||
"advancement" to "🎉 {player} unlocked advancement: {advancement}",
|
||||
"serverStart" to "🚀 Server started successfully",
|
||||
"serverStop" to "⏹️ Server stopped"
|
||||
) + (config.getConfigurationSection("messages")?.getValues(false) as? Map<String, String> ?: emptyMap())
|
||||
|
||||
if (!setupNetwork()) {
|
||||
@@ -109,10 +112,21 @@ class SolarNetworkConnect : JavaPlugin() {
|
||||
config.getString("sn.endpoint")
|
||||
)
|
||||
);
|
||||
|
||||
// Send server start message
|
||||
destinationChatId?.let { chatId ->
|
||||
messageService?.sendMessage(chatId, messages["serverStart"] ?: "🚀 Server started successfully")
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDisable() {
|
||||
logger.info(String.format("Disabled Version %s", description.version));
|
||||
|
||||
// Send server stop message
|
||||
destinationChatId?.let { chatId ->
|
||||
messageService?.sendMessage(chatId, messages["serverStop"] ?: "⏹️ Server stopped")
|
||||
}
|
||||
|
||||
sn?.disconnect()
|
||||
webSocketJob?.cancel()
|
||||
}
|
||||
|
@@ -3,6 +3,7 @@ package dev.solsynth.snConnect.listeners
|
||||
import dev.solsynth.snConnect.services.SnMessageService
|
||||
import org.bukkit.entity.Player
|
||||
import org.bukkit.event.EventHandler
|
||||
import org.bukkit.event.EventPriority
|
||||
import org.bukkit.event.Listener
|
||||
import org.bukkit.event.entity.PlayerDeathEvent
|
||||
import org.bukkit.event.player.AsyncPlayerChatEvent
|
||||
@@ -10,40 +11,39 @@ import org.bukkit.event.player.PlayerAdvancementDoneEvent
|
||||
import org.bukkit.event.player.PlayerJoinEvent
|
||||
import org.bukkit.event.player.PlayerQuitEvent
|
||||
|
||||
class SnChatListener(private val messageService: SnMessageService, private val destinationChatId: String, private val messages: Map<String, String>) : Listener {
|
||||
class SnChatListener(
|
||||
private val messageService: SnMessageService,
|
||||
private val destinationChatId: String,
|
||||
private val messages: Map<String, String>
|
||||
) : Listener {
|
||||
|
||||
@EventHandler
|
||||
@EventHandler(priority = EventPriority.MONITOR)
|
||||
fun onPlayerChat(event: AsyncPlayerChatEvent) {
|
||||
val message = "${event.player.name}: ${event.message}"
|
||||
messageService.sendMessage(destinationChatId, message)
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
@EventHandler(priority = EventPriority.MONITOR)
|
||||
fun onPlayerJoin(event: PlayerJoinEvent) {
|
||||
val template = messages["join"] ?: "➡️ {player} joined the game."
|
||||
val firstTime = event.player.hasPlayedBefore();
|
||||
val templateKey = if (!firstTime) "join" else "joinFirst";
|
||||
val template = messages[templateKey]
|
||||
?: if (!firstTime) "➡️ {player} joined the game." else "➡️ {player} first time joined the game."
|
||||
val message = template.replace("{player}", event.player.name)
|
||||
messageService.sendMessage(destinationChatId, message)
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
@EventHandler(priority = EventPriority.MONITOR)
|
||||
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
|
||||
@EventHandler(priority = EventPriority.MONITOR)
|
||||
fun onPlayerDeath(event: PlayerDeathEvent) {
|
||||
val template = messages["death"] ?: "💀 {player} {message}"
|
||||
val message = template.replace("{player}", event.entity.name).replace("{message}", event.deathMessage ?: "")
|
||||
messageService.sendMessage(destinationChatId, message)
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
fun onPlayerAdvancement(event: PlayerAdvancementDoneEvent) {
|
||||
val advancement = event.advancement.key.toString().substringAfter("minecraft:")
|
||||
val template = messages["advancement"] ?: "🎉 {player} unlocked advancement: {advancement}"
|
||||
val message = template.replace("{player}", event.player.name).replace("{advancement}", advancement)
|
||||
messageService.sendMessage(destinationChatId, message)
|
||||
}
|
||||
}
|
||||
|
@@ -8,6 +8,8 @@ chat:
|
||||
outgoing_room: 00000000-0000-0000-0000-00000000008b
|
||||
messages:
|
||||
join: "➡️ {player} joined the game."
|
||||
joinFirst: "➡️ {player} first time joined the game."
|
||||
quit: "⬅️ {player} left the game."
|
||||
death: "💀 {player} {message}"
|
||||
advancement: "🎉 {player} unlocked advancement: {advancement}"
|
||||
serverStart: "🚀 Server started successfully"
|
||||
serverStop: "⏹️ Server stopped"
|
||||
|
Reference in New Issue
Block a user