@EventHandler(priority = EventPriority.MONITOR) public void onPlayerJoin(PlayerJoinEvent event) { try { final Player p = event.getPlayer(); final TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(p); playerdata.setSuperadminIdVerified(null); TFM_UserList.getInstance(TotalFreedomMod.plugin).addUser(p); boolean superadmin_impostor = TFM_SuperadminList.isSuperadminImpostor(p); if (superadmin_impostor || TFM_SuperadminList.isUserSuperadmin(p)) { TFM_Util.bcastMsg(ChatColor.AQUA + p.getName() + " is " + TFM_Util.getRank(p)); if (superadmin_impostor) { p.getInventory().clear(); p.setOp(false); p.setGameMode(GameMode.SURVIVAL); TFM_Util.bcastMsg( "Warning: " + p.getName() + " has been flagged as an impostor!", ChatColor.RED); } else { if (TFM_SuperadminList.verifyIdentity( p.getName(), p.getAddress().getAddress().getHostAddress())) { playerdata.setSuperadminIdVerified(Boolean.TRUE); TFM_SuperadminList.updateLastLogin(p); } else { playerdata.setSuperadminIdVerified(Boolean.FALSE); TFM_Util.bcastMsg( "Warning: " + p.getName() + " is an admin, but is using a username not registered to one of their IPs.", ChatColor.RED); } p.setOp(true); } } if (TotalFreedomMod.adminOnlyMode) { new BukkitRunnable() { @Override public void run() { p.sendMessage(ChatColor.RED + "Server is currently closed to non-superadmins."); } }.runTaskLater(TotalFreedomMod.plugin, 20L * 3L); } } catch (Throwable ex) { } }