Fix and performances improvements

This commit is contained in:
Xephi59
2015-06-30 00:47:25 +02:00
parent 761b1feadb
commit f4f1f76e25
11 changed files with 82 additions and 71 deletions
@@ -1,7 +1,6 @@
package fr.xephi.authme.task;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitScheduler;
import org.bukkit.scheduler.BukkitTask;
import fr.xephi.authme.AuthMe;
@@ -33,11 +32,11 @@ public class MessageTask implements Runnable {
for (String ms : msg) {
player.sendMessage(ms);
}
BukkitScheduler sched = plugin.getServer().getScheduler();
BukkitTask late = sched.runTaskLater(plugin, this, interval * 20);
BukkitTask late = plugin.getServer().getScheduler().runTaskLaterAsynchronously(plugin, this, interval * 20);
if (LimboCache.getInstance().hasLimboPlayer(name)) {
LimboCache.getInstance().getLimboPlayer(name).setMessageTaskId(late);
}
return;
}
}
}
@@ -1,5 +1,6 @@
package fr.xephi.authme.task;
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.entity.Player;
@@ -34,7 +35,7 @@ public class TimeoutTask implements Runnable {
if (PlayerCache.getInstance().isAuthenticated(name))
return;
for (Player player : plugin.getServer().getOnlinePlayers()) {
for (final Player player : plugin.getServer().getOnlinePlayers()) {
if (player.getName().toLowerCase().equals(name)) {
if (LimboCache.getInstance().hasLimboPlayer(name)) {
LimboPlayer inv = LimboCache.getInstance().getLimboPlayer(name);
@@ -44,14 +45,27 @@ public class TimeoutTask implements Runnable {
playerCache.removeCache(player);
}
}
GameMode gm = AuthMePlayerListener.gameMode.get(name);
if (gm != null)
{
player.setGameMode(gm);
ConsoleLogger.info("Set " + player.getName() + " to gamemode: " + gm.name());
final GameMode gm = AuthMePlayerListener.gameMode.get(name);
if (gm != null) {
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
@Override
public void run() {
player.setGameMode(gm);
}
});
ConsoleLogger.info("Set " + player.getName() + " to gamemode: " + gm.name());
}
player.kickPlayer(m.send("timeout")[0]);
break;
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
@Override
public void run() {
if (player.isOnline())
player.kickPlayer(m.send("timeout")[0]);
}
});
return;
}
}
}