Remove player from cache on quit.

This commit is contained in:
DNx5 2016-02-26 13:10:49 +07:00
parent 8bf6817a5f
commit b4aebb685c
2 changed files with 9 additions and 0 deletions

View File

@ -60,6 +60,10 @@ public class CacheDataSource implements DataSource {
});
}
public LoadingCache<String, Optional<PlayerAuth>> getCachedAuths() {
return cachedAuths;
}
@Override
public synchronized boolean isAuthAvailable(String user) {
return getAuth(user) != null;

View File

@ -5,6 +5,7 @@ import fr.xephi.authme.cache.auth.PlayerAuth;
import fr.xephi.authme.cache.auth.PlayerCache;
import fr.xephi.authme.cache.limbo.LimboCache;
import fr.xephi.authme.cache.limbo.LimboPlayer;
import fr.xephi.authme.datasource.CacheDataSource;
import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.util.StringUtils;
@ -88,6 +89,10 @@ public class AsynchronousQuit {
if (plugin.isEnabled()) {
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new ProcessSyncronousPlayerQuit(plugin, player, isOp, needToChange));
}
// remove player from cache
if (database instanceof CacheDataSource) {
((CacheDataSource) database).getCachedAuths().invalidate(name);
}
}
private void postLogout() {