From f886759b0f70cae9fc0256bbb7bb18419fa23739 Mon Sep 17 00:00:00 2001 From: Martin Date: Mon, 17 Jul 2023 23:03:08 +0200 Subject: [PATCH] add death, join and leave messages --- .../listeners/PlayerChatListener.java | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src/main/java/eu/mhsl/craftattack/spawn/chatMessages/listeners/PlayerChatListener.java b/src/main/java/eu/mhsl/craftattack/spawn/chatMessages/listeners/PlayerChatListener.java index fc4217b..cd92b40 100644 --- a/src/main/java/eu/mhsl/craftattack/spawn/chatMessages/listeners/PlayerChatListener.java +++ b/src/main/java/eu/mhsl/craftattack/spawn/chatMessages/listeners/PlayerChatListener.java @@ -2,21 +2,50 @@ package eu.mhsl.craftattack.spawn.chatMessages.listeners; import io.papermc.paper.event.player.AsyncChatEvent; import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.event.ClickEvent; import net.kyori.adventure.text.format.TextColor; import org.bukkit.Color; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; +import org.bukkit.event.entity.PlayerDeathEvent; +import org.bukkit.event.player.PlayerJoinEvent; +import org.bukkit.event.player.PlayerQuitEvent; +import java.util.Objects; public class PlayerChatListener implements Listener { @EventHandler public void onPlayerChatEvent(AsyncChatEvent event) { event.renderer( (source, sourceDisplayName, message, viewer) -> Component.text("") - .append(sourceDisplayName.color(getPlayerColor(source))) + .append(sourceDisplayName.color(getPlayerColor(source)).clickEvent(ClickEvent.clickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/report " + source.getName()))) .append(Component.text(" > ").color(TextColor.color(Color.GRAY.asRGB()))) .append(message).color(TextColor.color(Color.SILVER.asRGB()))); } + + @EventHandler + public void onPlayerJoin(PlayerJoinEvent event) { + event.joinMessage( + Component.text("") + .append(Component.text("↑ ").color(TextColor.color(Color.GREEN.asRGB()))) + .append(Component.text(event.getPlayer().getName()).color(getPlayerColor(event.getPlayer()))) + ); + } + + @EventHandler + public void onPlayerLeave(PlayerQuitEvent event) { + event.quitMessage( + Component.text("") + .append(Component.text("↓ ").color(TextColor.fromCSSHexString("#8C0012"))) + .append(Component.text(event.getPlayer().getName()).color(getPlayerColor(event.getPlayer()))) + ); + } + + @EventHandler + public void onDeath(PlayerDeathEvent event) { + event.deathMessage(Component.text("☠ ").append(Objects.requireNonNull(event.deathMessage()).color(TextColor.color(Color.SILVER.asRGB())))); + } + private TextColor getPlayerColor(Player player) { if (player.hasPermission("chatcolor")) return TextColor.color(Color.AQUA.asRGB()); return TextColor.color(Color.WHITE.asRGB());