mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-05-07 00:00:45 +00:00
Optimize PlayerLoginEvent
This commit is contained in:
parent
4672e51806
commit
9307e0cb71
1 changed files with 27 additions and 34 deletions
|
@ -340,11 +340,8 @@ public class EssentialsPlayerListener implements Listener
|
||||||
@EventHandler(priority = EventPriority.LOWEST)
|
@EventHandler(priority = EventPriority.LOWEST)
|
||||||
public void onPlayerLogin2(final PlayerLoginEvent event)
|
public void onPlayerLogin2(final PlayerLoginEvent event)
|
||||||
{
|
{
|
||||||
switch (event.getResult())
|
if (event.getResult() != Result.KICK_BANNED)
|
||||||
{
|
{
|
||||||
case KICK_BANNED:
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -355,43 +352,39 @@ public class EssentialsPlayerListener implements Listener
|
||||||
@EventHandler(priority = EventPriority.HIGH)
|
@EventHandler(priority = EventPriority.HIGH)
|
||||||
public void onPlayerLogin(final PlayerLoginEvent event)
|
public void onPlayerLogin(final PlayerLoginEvent event)
|
||||||
{
|
{
|
||||||
switch (event.getResult())
|
if (event.getResult() == Result.KICK_FULL)
|
||||||
{
|
{
|
||||||
case KICK_FULL:
|
final User user = ess.getUser(event.getPlayer());
|
||||||
case KICK_BANNED:
|
if (user.isAuthorized("essentials.joinfullserver"))
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
final User user = ess.getUser(event.getPlayer());
|
|
||||||
|
|
||||||
if (event.getResult() == Result.KICK_BANNED || user.getBase().isBanned())
|
|
||||||
{
|
|
||||||
final boolean banExpired = user.checkBanTimeout(System.currentTimeMillis());
|
|
||||||
if (!banExpired)
|
|
||||||
{
|
{
|
||||||
String banReason = user.getBanReason();
|
event.allow();
|
||||||
if (banReason == null || banReason.isEmpty() || banReason.equalsIgnoreCase("ban"))
|
|
||||||
{
|
|
||||||
banReason = event.getKickMessage();
|
|
||||||
}
|
|
||||||
if (user.getBanTimeout() > 0)
|
|
||||||
{
|
|
||||||
//TODO: TL This
|
|
||||||
banReason += "\n\n" + "Expires in " + DateUtil.formatDateDiff(user.getBanTimeout());
|
|
||||||
}
|
|
||||||
event.disallow(Result.KICK_BANNED, banReason);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (event.getResult() == Result.KICK_FULL && !user.isAuthorized("essentials.joinfullserver"))
|
|
||||||
{
|
|
||||||
event.disallow(Result.KICK_FULL, tl("serverFull"));
|
event.disallow(Result.KICK_FULL, tl("serverFull"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
event.allow();
|
|
||||||
|
if (event.getResult() == Result.KICK_BANNED || event.getPlayer().isBanned())
|
||||||
|
{
|
||||||
|
final User user = ess.getUser(event.getPlayer());
|
||||||
|
final boolean banExpired = user.checkBanTimeout(System.currentTimeMillis());
|
||||||
|
if (banExpired)
|
||||||
|
{
|
||||||
|
event.allow();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String banReason = user.getBanReason();
|
||||||
|
if (banReason == null || banReason.isEmpty() || banReason.equalsIgnoreCase("ban"))
|
||||||
|
{
|
||||||
|
banReason = event.getKickMessage();
|
||||||
|
}
|
||||||
|
if (user.getBanTimeout() > 0)
|
||||||
|
{
|
||||||
|
//TODO: TL This
|
||||||
|
banReason += "\n\n" + "Expires in " + DateUtil.formatDateDiff(user.getBanTimeout());
|
||||||
|
}
|
||||||
|
event.disallow(Result.KICK_BANNED, banReason);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||||
|
|
Loading…
Reference in a new issue