develop-chatReply #5

Merged
Pupsi merged 11 commits from develop-chatReply into master 2024-10-06 13:52:59 +00:00
Showing only changes of commit 471cd8e610 - Show all commits

View File

@ -8,6 +8,7 @@ import eu.mhsl.craftattack.spawn.appliances.privateMessage.commands.PrivateMessa
import eu.mhsl.craftattack.spawn.appliances.privateMessage.commands.PrivateReplyCommand; import eu.mhsl.craftattack.spawn.appliances.privateMessage.commands.PrivateReplyCommand;
import net.kyori.adventure.text.Component; import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.event.ClickEvent; import net.kyori.adventure.text.event.ClickEvent;
import net.kyori.adventure.text.event.HoverEvent;
import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@ -51,8 +52,10 @@ public class PrivateMessage extends Appliance {
return Bukkit.getOfflinePlayer(conversation.target()).getName(); return Bukkit.getOfflinePlayer(conversation.target()).getName();
} }
}) })
.distinct()
.toList(); .toList();
sender.sendMessage("");
sender.sendMessage( sender.sendMessage(
Component.text() Component.text()
.append(Component.text("Das Ziel für /r hat sich bei dir in den letzten ")) .append(Component.text("Das Ziel für /r hat sich bei dir in den letzten "))
@ -61,7 +64,7 @@ public class PrivateMessage extends Appliance {
); );
Component newTextComponent = Component.text(""); final Component[] finalComponent = {Component.text("")};
String firstTargetName; String firstTargetName;
if(Bukkit.getPlayer(youngestEntry.target()) == null) { if(Bukkit.getPlayer(youngestEntry.target()) == null) {
@ -70,24 +73,21 @@ public class PrivateMessage extends Appliance {
firstTargetName = Objects.requireNonNull(Bukkit.getPlayer(youngestEntry.target())).getName(); firstTargetName = Objects.requireNonNull(Bukkit.getPlayer(youngestEntry.target())).getName();
} }
if(firstTargetName != null) { if(firstTargetName != null && !playerNames.contains(firstTargetName)) {
Component nameComponent = Component.text(""); finalComponent[0] = finalComponent[0].append(Component.text(firstTargetName, NamedTextColor.GOLD)
nameComponent.append(Component.text(firstTargetName, NamedTextColor.LIGHT_PURPLE)); .clickEvent(ClickEvent.runCommand("/msg " + firstTargetName + " " + message))
.hoverEvent(HoverEvent.showText(Component.text("Klicke, um diesem Spieler zu schreiben.").color(NamedTextColor.GOLD))))
newTextComponent .append(Component.text(" "));
Pupsi marked this conversation as resolved
Review

gibt es einen Grund warum die Variable hier außerhalb allokiert wird aber nur innerhalb des if statements genutzt wird?

gibt es einen Grund warum die Variable hier außerhalb allokiert wird aber nur innerhalb des if statements genutzt wird?
.append(nameComponent.clickEvent(ClickEvent.runCommand("/msg " + firstTargetName + " " + message)));
newTextComponent.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 -> { sender.sendMessage("");
Component nameComponent = Component.text(playerName, NamedTextColor.LIGHT_PURPLE); sender.sendMessage(finalComponent[0]);
newTextComponent sender.sendMessage("");
.append(nameComponent.clickEvent(ClickEvent.runCommand("/msg " + playerName + " " + message)));
newTextComponent.append(Component.text(" "));
});
sender.sendMessage(newTextComponent);
} }