1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-08-23 06:45:04 +02:00

Attempt to optimize Essentials login event.

This commit is contained in:
KHobbits
2013-02-11 23:11:37 +00:00
parent 370297de10
commit 61e2d9eece
2 changed files with 28 additions and 23 deletions

View File

@@ -166,9 +166,17 @@ public class EssentialsPlayerListener implements Listener
{
return;
}
ess.getBackup().onPlayerJoin();
final User user = ess.getUser(player);
user.setLastLogin(System.currentTimeMillis());
if (user.isNPC())
{
user.setNPC(false);
}
final long currentTime = System.currentTimeMillis();
user.checkMuteTimeout(currentTime);
user.updateActivity(false);
ess.scheduleSyncDelayedTask(new Runnable()
@@ -176,6 +184,7 @@ public class EssentialsPlayerListener implements Listener
@Override
public void run()
{
user.setLastLogin(currentTime);
user.setDisplayNick();
updateCompass(user);
@@ -277,7 +286,6 @@ public class EssentialsPlayerListener implements Listener
{
switch (event.getResult())
{
case ALLOWED:
case KICK_FULL:
case KICK_BANNED:
break;
@@ -286,17 +294,11 @@ public class EssentialsPlayerListener implements Listener
}
final User user = ess.getUser(event.getPlayer());
if (user.isNPC())
if (event.getResult() == Result.KICK_BANNED || user.isBanned())
{
user.setNPC(false);
}
final long currentTime = System.currentTimeMillis();
final boolean banExpired = user.checkBanTimeout(currentTime);
user.checkMuteTimeout(currentTime);
user.checkJailTimeout(currentTime);
if (!banExpired && (user.isBanned() || event.getResult() == Result.KICK_BANNED))
final boolean banExpired = user.checkBanTimeout(System.currentTimeMillis());
if (!banExpired)
{
String banReason = user.getBanReason();
if (banReason == null || banReason.isEmpty() || banReason.equalsIgnoreCase("ban"))
@@ -311,6 +313,7 @@ public class EssentialsPlayerListener implements Listener
event.disallow(Result.KICK_BANNED, banReason);
return;
}
}
if (event.getResult() == Result.KICK_FULL && !user.isAuthorized("essentials.joinfullserver"))
{

View File

@@ -310,6 +310,8 @@ public class Jails extends AsyncStorageObjectHolder<com.earth2me.essentials.sett
public void onPlayerJoin(final PlayerJoinEvent event)
{
final User user = ess.getUser(event.getPlayer());
final long currentTime = System.currentTimeMillis();
user.checkJailTimeout(currentTime);
if (!user.isJailed() || user.getJail() == null || user.getJail().isEmpty())
{
return;