From 8462e43e89842d4d9b95e5b8dc1d05c363a323e8 Mon Sep 17 00:00:00 2001 From: lars Date: Sun, 6 Oct 2024 15:50:17 +0200 Subject: [PATCH] replaced replyMapping.get(sender) with variable replyList --- .../privateMessage/PrivateMessage.java | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 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 62e6883..6ab32d1 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 @@ -29,20 +29,20 @@ public class PrivateMessage extends Appliance { public void reply(Player sender, String message) { this.replyMapping.computeIfAbsent(sender, player -> new ArrayList<>()); - List tooOldConversations = this.replyMapping.get(sender).stream() + List replyList = this.replyMapping.get(sender); + + List tooOldConversations = replyList.stream() .filter(conversation -> conversation.lastSet < System.currentTimeMillis() - (conversationTimeoutMinutes*60*1000)) .toList(); - this.replyMapping.get(sender).removeAll(tooOldConversations); + replyList.removeAll(tooOldConversations); - List replyMap = this.replyMapping.get(sender); - - if(replyMap.isEmpty()) throw new ApplianceCommand.Error("Du führst aktuell keine Konversation."); + if(replyList.isEmpty()) throw new ApplianceCommand.Error("Du führst aktuell keine Konversation."); Component privatePrefix = Component.text("[Privat] ", NamedTextColor.LIGHT_PURPLE); - Conversation youngestEntry = replyMap.stream() + Conversation youngestEntry = replyList.stream() .max(Comparator.comparingLong(o -> o.lastSet)) - .orElse(replyMap.getLast()); + .orElse(replyList.getLast()); if(message.isBlank()) { Player currentTargetPlayer = Bukkit.getPlayer(youngestEntry.target()); @@ -59,15 +59,15 @@ public class PrivateMessage extends Appliance { return; } - List oldConversations = replyMap.stream() + List oldConversations = replyList.stream() .filter(conversation -> conversation.lastSet < System.currentTimeMillis() - (targetChangeTimeoutSeconds*1000)) .toList(); - if(oldConversations.contains(youngestEntry) || replyMap.size() == 1) { + if(oldConversations.contains(youngestEntry) || replyList.size() == 1) { Player target = Bukkit.getPlayer(youngestEntry.target()); if(target == null) throw new ApplianceCommand.Error("Der Spieler " + Bukkit.getOfflinePlayer(youngestEntry.target()).getName() + " ist nicht mehr verfügbar."); - this.replyMapping.get(sender).clear(); + replyList.clear(); this.sendWhisper(sender, new ResolvedPmUserArguments(target, message)); return; } @@ -88,12 +88,11 @@ public class PrivateMessage extends Appliance { Conversation youngestOldConversation = oldConversations.stream() .max(Comparator.comparingLong(o -> o.lastSet)) .orElse(oldConversations.getLast()); - this.replyMapping.get(sender).removeAll(oldConversations); - this.replyMapping.get(sender).add(youngestOldConversation); - replyMap = this.replyMapping.get(sender); + replyList.removeAll(oldConversations); + replyList.add(youngestOldConversation); } - List playerNames = replyMap.stream() + List playerNames = replyList.stream() .map(conversation -> Bukkit.getOfflinePlayer(conversation.target()).getName()) .distinct() .toList();