From 471cd8e610562ae4fe8a1a5d29cdcc52b945e8f3 Mon Sep 17 00:00:00 2001
From: lars <larslukasneuhaus@gmx.de>
Date: Wed, 2 Oct 2024 22:27:16 +0200
Subject: [PATCH] finished logic for reply command

---
 .../privateMessage/PrivateMessage.java        | 34 +++++++++----------
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/src/main/java/eu/mhsl/craftattack/spawn/appliances/privateMessage/PrivateMessage.java b/src/main/java/eu/mhsl/craftattack/spawn/appliances/privateMessage/PrivateMessage.java
index b732f87..f497fec 100644
--- a/src/main/java/eu/mhsl/craftattack/spawn/appliances/privateMessage/PrivateMessage.java
+++ b/src/main/java/eu/mhsl/craftattack/spawn/appliances/privateMessage/PrivateMessage.java
@@ -8,6 +8,7 @@ import eu.mhsl.craftattack.spawn.appliances.privateMessage.commands.PrivateMessa
 import eu.mhsl.craftattack.spawn.appliances.privateMessage.commands.PrivateReplyCommand;
 import net.kyori.adventure.text.Component;
 import net.kyori.adventure.text.event.ClickEvent;
+import net.kyori.adventure.text.event.HoverEvent;
 import net.kyori.adventure.text.format.NamedTextColor;
 import org.bukkit.Bukkit;
 import org.bukkit.entity.Player;
@@ -51,8 +52,10 @@ public class PrivateMessage extends Appliance {
                     return Bukkit.getOfflinePlayer(conversation.target()).getName();
                 }
             })
+            .distinct()
             .toList();
 
+        sender.sendMessage("");
         sender.sendMessage(
             Component.text()
                 .append(Component.text("Das Ziel für /r hat sich bei dir in den letzten "))
@@ -60,8 +63,8 @@ public class PrivateMessage extends Appliance {
                 .append(Component.text(" Sekunden geändert. Wer soll deine Nachricht bekommen? "))
         );
 
-        
-        Component newTextComponent = Component.text("");
+
+        final Component[] finalComponent = {Component.text("")};
 
         String firstTargetName;
         if(Bukkit.getPlayer(youngestEntry.target()) == null) {
@@ -70,24 +73,21 @@ public class PrivateMessage extends Appliance {
             firstTargetName = Objects.requireNonNull(Bukkit.getPlayer(youngestEntry.target())).getName();
         }
 
-        if(firstTargetName != null) {
-            Component nameComponent = Component.text("");
-            nameComponent.append(Component.text(firstTargetName, NamedTextColor.LIGHT_PURPLE));
-
-            newTextComponent
-                    .append(nameComponent.clickEvent(ClickEvent.runCommand("/msg " + firstTargetName + " " + message)));
-            newTextComponent.append(Component.text(" "));
+        if(firstTargetName != null && !playerNames.contains(firstTargetName)) {
+            finalComponent[0] = finalComponent[0].append(Component.text(firstTargetName, NamedTextColor.GOLD)
+                .clickEvent(ClickEvent.runCommand("/msg " + firstTargetName + " " + message))
+                .hoverEvent(HoverEvent.showText(Component.text("Klicke, um diesem Spieler zu schreiben.").color(NamedTextColor.GOLD))))
+                .append(Component.text("  "));
         }
 
+        playerNames.forEach(playerName -> finalComponent[0] = finalComponent[0].append(Component.text(playerName, NamedTextColor.GOLD)
+            .clickEvent(ClickEvent.runCommand("/msg " + playerName + " " + message))
+            .hoverEvent(HoverEvent.showText(Component.text("Klicke, um diesem Spieler zu schreiben.").color(NamedTextColor.GOLD))))
+            .append(Component.text("  ")));
 
-        playerNames.forEach(playerName -> {
-            Component nameComponent = Component.text(playerName, NamedTextColor.LIGHT_PURPLE);
-            newTextComponent
-                    .append(nameComponent.clickEvent(ClickEvent.runCommand("/msg " + playerName + " " + message)));
-            newTextComponent.append(Component.text(" "));
-        });
-
-        sender.sendMessage(newTextComponent);
+        sender.sendMessage("");
+        sender.sendMessage(finalComponent[0]);
+        sender.sendMessage("");
 
     }