@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
@Permission("crazylogin.warnsession")
@Localized({ "CRAZYLOGIN.KICKED.SESSION.DUPLICATE", "CRAZYLOGIN.SESSION.DUPLICATEWARN $Name$ $IP$" })
public void PlayerLoginSessionCheck(final AsyncPlayerPreLoginEvent event) {
if (plugin.isForceSingleSessionEnabled()) {
final Player player = Bukkit.getPlayerExact(event.getName());
if (player != null) {
if (plugin.isForceSingleSessionSameIPBypassEnabled()) {
final LoginPlayerData data = plugin.getPlayerData(player);
if (data != null) {
if (event.getAddress().getHostAddress().equals(data.getLatestIP())) {
return;
}
}
}
event.setLoginResult(AsyncPlayerPreLoginEvent.Result.KICK_OTHER);
event.setKickMessage(plugin.getLocale().getLocaleMessage(player, "KICKED.SESSION.DUPLICATE"));
plugin.broadcastLocaleMessage(true, "crazylogin.warnsession", true, "SESSION.DUPLICATEWARN", player.getName(), event.getAddress().getHostAddress());
plugin.sendLocaleMessage("SESSION.DUPLICATEWARN", player, event.getAddress().getHostAddress(), player.getName());
plugin.getCrazyLogger().log("AccessDenied", "Denied access for player " + player.getName() + " @ " + event.getAddress().getHostAddress() + " because of a player with this name being already online");
return;
}
}
}
PlayerListener.java 文件源码
java
阅读 53
收藏 0
点赞 0
评论 0
项目:CrazyLogin
作者:
评论列表
文章目录