summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2013-02-11 23:11:37 +0000
committerKHobbits <rob@khobbits.co.uk>2013-02-11 23:11:37 +0000
commitc298fb93329466b4430982a7fd7858ddbb66ae5e (patch)
tree1a0be522ec55c9850ca71a68c836112e15d192c0
parenta1f1319990423f0c098fce5b841af3b1ad125335 (diff)
downloadEssentials-c298fb93329466b4430982a7fd7858ddbb66ae5e.tar
Essentials-c298fb93329466b4430982a7fd7858ddbb66ae5e.tar.gz
Essentials-c298fb93329466b4430982a7fd7858ddbb66ae5e.tar.lz
Essentials-c298fb93329466b4430982a7fd7858ddbb66ae5e.tar.xz
Essentials-c298fb93329466b4430982a7fd7858ddbb66ae5e.zip
Attempt to optimize Essentials login event.
-rw-r--r--Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java47
-rw-r--r--Essentials/src/com/earth2me/essentials/Jails.java4
2 files changed, 28 insertions, 23 deletions
diff --git a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java
index a331b6378..fa8a39472 100644
--- a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java
+++ b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java
@@ -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,30 +294,25 @@ public class EssentialsPlayerListener implements Listener
}
final User user = ess.getUser(event.getPlayer());
- if (user.isNPC())
- {
- 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))
+ if (event.getResult() == Result.KICK_BANNED || user.isBanned())
{
- String banReason = user.getBanReason();
- if (banReason == null || banReason.isEmpty() || banReason.equalsIgnoreCase("ban"))
- {
- banReason = _("defaultBanReason");
- }
- if (user.getBanTimeout() > 0)
+ final boolean banExpired = user.checkBanTimeout(System.currentTimeMillis());
+ if (!banExpired)
{
- //TODO: TL This
- banReason += "\n\n" + "Expires in " + Util.formatDateDiff(user.getBanTimeout());
+ String banReason = user.getBanReason();
+ if (banReason == null || banReason.isEmpty() || banReason.equalsIgnoreCase("ban"))
+ {
+ banReason = _("defaultBanReason");
+ }
+ if (user.getBanTimeout() > 0)
+ {
+ //TODO: TL This
+ banReason += "\n\n" + "Expires in " + Util.formatDateDiff(user.getBanTimeout());
+ }
+ event.disallow(Result.KICK_BANNED, banReason);
+ return;
}
- event.disallow(Result.KICK_BANNED, banReason);
- return;
}
if (event.getResult() == Result.KICK_FULL && !user.isAuthorized("essentials.joinfullserver"))
diff --git a/Essentials/src/com/earth2me/essentials/Jails.java b/Essentials/src/com/earth2me/essentials/Jails.java
index 740ae0bff..4cffb125b 100644
--- a/Essentials/src/com/earth2me/essentials/Jails.java
+++ b/Essentials/src/com/earth2me/essentials/Jails.java
@@ -67,7 +67,7 @@ public class Jails extends AsyncStorageObjectHolder<com.earth2me.essentials.sett
{
checkRegister();
}
-
+
public void resetListener()
{
enabled = false;
@@ -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;