From 0118346aaff4e3aa1d7b66f9a94546649a5f7ddd Mon Sep 17 00:00:00 2001 From: GJ Date: Wed, 27 Mar 2013 15:34:34 -0400 Subject: [PATCH] ACTUALLY fix our CME. --- .../nossr50/runnables/party/PartyAutoKickTask.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/runnables/party/PartyAutoKickTask.java b/src/main/java/com/gmail/nossr50/runnables/party/PartyAutoKickTask.java index ae30c9bc3..8a64940b9 100644 --- a/src/main/java/com/gmail/nossr50/runnables/party/PartyAutoKickTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/party/PartyAutoKickTask.java @@ -1,7 +1,9 @@ package com.gmail.nossr50.runnables.party; import java.util.ArrayList; +import java.util.HashMap; import java.util.Iterator; +import java.util.Map.Entry; import org.bukkit.OfflinePlayer; import org.bukkit.scheduler.BukkitRunnable; @@ -17,6 +19,8 @@ public class PartyAutoKickTask extends BukkitRunnable { } private void updatePartyMembers() { + HashMap toRemove = new HashMap(); + long currentTime = System.currentTimeMillis(); long kickTime = 24L * 60L * 60L * 1000L * Config.getInstance().getAutoPartyKickTime(); @@ -24,11 +28,14 @@ public class PartyAutoKickTask extends BukkitRunnable { Party party = partyIterator.next(); for (OfflinePlayer member : new ArrayList(party.getMembers())) { - if (currentTime - member.getLastPlayed() > kickTime) { - PartyManager.removeFromParty(member, party); + toRemove.put(member, party); } } } + + for (Entry entry : toRemove.entrySet()) { + PartyManager.removeFromParty(entry.getKey(), entry.getValue()); + } } }