mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-04-26 00:19:43 +00:00
Give user chance to get display name set before displaying geoip.
This commit is contained in:
parent
acf4d0bcf5
commit
e502a7e6fd
1 changed files with 19 additions and 7 deletions
|
@ -40,16 +40,28 @@ public class EssentialsGeoIPPlayerListener implements Listener, IConf
|
||||||
config.setTemplateName("/config.yml", EssentialsGeoIP.class);
|
config.setTemplateName("/config.yml", EssentialsGeoIP.class);
|
||||||
reloadConfig();
|
reloadConfig();
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.MONITOR)
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
public void onPlayerJoin(PlayerJoinEvent event)
|
public void onPlayerJoin(final PlayerJoinEvent event)
|
||||||
{
|
{
|
||||||
User u = ess.getUser(event.getPlayer());
|
ess.scheduleAsyncDelayedTask(new Runnable()
|
||||||
if (u.isAuthorized("essentials.geoip.hide") || event.getPlayer().getAddress() == null)
|
{
|
||||||
|
@Override
|
||||||
|
public void run()
|
||||||
|
{
|
||||||
|
delayedJoin(event.getPlayer());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void delayedJoin(Player player)
|
||||||
|
{
|
||||||
|
User u = ess.getUser(player);
|
||||||
|
if (u.isAuthorized("essentials.geoip.hide") || player.getAddress() == null)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
InetAddress address = event.getPlayer().getAddress().getAddress();
|
InetAddress address = player.getAddress().getAddress();
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
if (config.getBoolean("database.show-cities", false))
|
if (config.getBoolean("database.show-cities", false))
|
||||||
{
|
{
|
||||||
|
@ -79,9 +91,9 @@ public class EssentialsGeoIPPlayerListener implements Listener, IConf
|
||||||
}
|
}
|
||||||
if (config.getBoolean("show-on-login", true) && !u.isHidden())
|
if (config.getBoolean("show-on-login", true) && !u.isHidden())
|
||||||
{
|
{
|
||||||
for (Player player : event.getPlayer().getServer().getOnlinePlayers())
|
for (Player onlinePlayer : player.getServer().getOnlinePlayers())
|
||||||
{
|
{
|
||||||
User user = ess.getUser(player);
|
User user = ess.getUser(onlinePlayer);
|
||||||
if (user.isAuthorized("essentials.geoip.show"))
|
if (user.isAuthorized("essentials.geoip.show"))
|
||||||
{
|
{
|
||||||
user.sendMessage(_("geoipJoinFormat", u.getDisplayName(), sb.toString()));
|
user.sendMessage(_("geoipJoinFormat", u.getDisplayName(), sb.toString()));
|
||||||
|
|
Loading…
Reference in a new issue