mirror of
https://github.com/GayPizzaSpecifications/foundation.git
synced 2025-08-03 13:31:32 +00:00
Bifrost: Add simple player death notifications.
This commit is contained in:
@ -13,16 +13,18 @@ import net.dv8tion.jda.api.entities.TextChannel
|
|||||||
import net.dv8tion.jda.api.events.GenericEvent
|
import net.dv8tion.jda.api.events.GenericEvent
|
||||||
import net.dv8tion.jda.api.events.ReadyEvent
|
import net.dv8tion.jda.api.events.ReadyEvent
|
||||||
import net.dv8tion.jda.api.events.message.MessageReceivedEvent
|
import net.dv8tion.jda.api.events.message.MessageReceivedEvent
|
||||||
import net.dv8tion.jda.api.hooks.EventListener as DiscordEventListener
|
|
||||||
import net.kyori.adventure.text.Component
|
import net.kyori.adventure.text.Component
|
||||||
import net.kyori.adventure.text.TextComponent
|
import net.kyori.adventure.text.TextComponent
|
||||||
import org.bukkit.event.EventHandler
|
import org.bukkit.event.EventHandler
|
||||||
import org.bukkit.event.Listener as BukkitEventListener
|
import org.bukkit.event.EventPriority
|
||||||
|
import org.bukkit.event.entity.PlayerDeathEvent
|
||||||
import org.bukkit.event.player.PlayerJoinEvent
|
import org.bukkit.event.player.PlayerJoinEvent
|
||||||
import org.bukkit.event.player.PlayerQuitEvent
|
import org.bukkit.event.player.PlayerQuitEvent
|
||||||
import org.bukkit.plugin.java.JavaPlugin
|
import org.bukkit.plugin.java.JavaPlugin
|
||||||
import java.awt.Color
|
import java.awt.Color
|
||||||
import kotlin.io.path.inputStream
|
import kotlin.io.path.inputStream
|
||||||
|
import net.dv8tion.jda.api.hooks.EventListener as DiscordEventListener
|
||||||
|
import org.bukkit.event.Listener as BukkitEventListener
|
||||||
|
|
||||||
class FoundationBifrostPlugin : JavaPlugin(), DiscordEventListener, BukkitEventListener {
|
class FoundationBifrostPlugin : JavaPlugin(), DiscordEventListener, BukkitEventListener {
|
||||||
private lateinit var config: BifrostConfig
|
private lateinit var config: BifrostConfig
|
||||||
@ -102,7 +104,7 @@ class FoundationBifrostPlugin : JavaPlugin(), DiscordEventListener, BukkitEventL
|
|||||||
setEmbeds(EmbedBuilder().apply(f).build())
|
setEmbeds(EmbedBuilder().apply(f).build())
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
private fun onPlayerJoin(e: PlayerJoinEvent) {
|
private fun onPlayerJoin(e: PlayerJoinEvent) {
|
||||||
if (!config.channel.sendPlayerJoin) return
|
if (!config.channel.sendPlayerJoin) return
|
||||||
val channel = getChannel() ?: return
|
val channel = getChannel() ?: return
|
||||||
@ -115,7 +117,7 @@ class FoundationBifrostPlugin : JavaPlugin(), DiscordEventListener, BukkitEventL
|
|||||||
}).queue()
|
}).queue()
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
private fun onPlayerQuit(e: PlayerQuitEvent) {
|
private fun onPlayerQuit(e: PlayerQuitEvent) {
|
||||||
if (!config.channel.sendPlayerQuit) return
|
if (!config.channel.sendPlayerQuit) return
|
||||||
val channel = getChannel() ?: return
|
val channel = getChannel() ?: return
|
||||||
@ -128,7 +130,7 @@ class FoundationBifrostPlugin : JavaPlugin(), DiscordEventListener, BukkitEventL
|
|||||||
}).queue()
|
}).queue()
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
private fun onPlayerChat(e: AsyncChatEvent) {
|
private fun onPlayerChat(e: AsyncChatEvent) {
|
||||||
if (!config.channel.bridge) return
|
if (!config.channel.bridge) return
|
||||||
val channel = getChannel() ?: return
|
val channel = getChannel() ?: return
|
||||||
@ -141,6 +143,19 @@ class FoundationBifrostPlugin : JavaPlugin(), DiscordEventListener, BukkitEventL
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
|
private fun onPlayerDeath(e: PlayerDeathEvent) {
|
||||||
|
if (!config.channel.sendPlayerDeath) return
|
||||||
|
val channel = getChannel() ?: return
|
||||||
|
|
||||||
|
channel.sendMessage(message {
|
||||||
|
embed {
|
||||||
|
setAuthor("${e.player.name} died")
|
||||||
|
setColor(Color.RED)
|
||||||
|
}
|
||||||
|
}).queue()
|
||||||
|
}
|
||||||
|
|
||||||
private fun onDiscordReady() {
|
private fun onDiscordReady() {
|
||||||
if (!config.channel.sendStart) return
|
if (!config.channel.sendStart) return
|
||||||
val channel = getChannel() ?: return
|
val channel = getChannel() ?: return
|
||||||
|
@ -21,4 +21,5 @@ data class BifrostChannel(
|
|||||||
val sendShutdown: Boolean = true,
|
val sendShutdown: Boolean = true,
|
||||||
val sendPlayerJoin: Boolean = true,
|
val sendPlayerJoin: Boolean = true,
|
||||||
val sendPlayerQuit: Boolean = true,
|
val sendPlayerQuit: Boolean = true,
|
||||||
|
val sendPlayerDeath: Boolean = true
|
||||||
)
|
)
|
||||||
|
Reference in New Issue
Block a user