1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-08-22 06:12:56 +02:00

Do not keep hard references to User objects

This commit is contained in:
snowleo
2013-05-03 01:15:02 +02:00
parent bdde309ab5
commit ff0efdd9dc

View File

@@ -11,7 +11,7 @@ import org.bukkit.entity.Player;
public class EssentialsTimer implements Runnable public class EssentialsTimer implements Runnable
{ {
private final transient IEssentials ess; private final transient IEssentials ess;
private final transient Set<User> onlineUsers = new HashSet<User>(); private final transient Set<String> onlineUsers = new HashSet<String>();
private transient long lastPoll = System.nanoTime(); private transient long lastPoll = System.nanoTime();
private final LinkedList<Double> history = new LinkedList<Double>(); private final LinkedList<Double> history = new LinkedList<Double>();
private int skip1 = 0; private int skip1 = 0;
@@ -64,7 +64,7 @@ public class EssentialsTimer implements Runnable
try try
{ {
final User user = ess.getUser(player); final User user = ess.getUser(player);
onlineUsers.add(user); onlineUsers.add(user.getName());
user.setLastOnlineActivity(currentTime); user.setLastOnlineActivity(currentTime);
user.checkActivity(); user.checkActivity();
} }
@@ -75,7 +75,7 @@ public class EssentialsTimer implements Runnable
} }
count = 0; count = 0;
final Iterator<User> iterator = onlineUsers.iterator(); final Iterator<String> iterator = onlineUsers.iterator();
while (iterator.hasNext()) while (iterator.hasNext())
{ {
count++; count++;
@@ -92,7 +92,7 @@ public class EssentialsTimer implements Runnable
break; break;
} }
} }
final User user = iterator.next(); final User user = ess.getUser(iterator.next());
if (user.getLastOnlineActivity() < currentTime && user.getLastOnlineActivity() > user.getLastLogout()) if (user.getLastOnlineActivity() < currentTime && user.getLastOnlineActivity() > user.getLastLogout())
{ {
user.setLastLogout(user.getLastOnlineActivity()); user.setLastLogout(user.getLastOnlineActivity());