mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-02-18 22:49:45 +00:00
[trunk] Geoip: New permission essentials.geoip.show, that allow the player to see the location of other players.
git-svn-id: https://svn.java.net/svn/essentials~svn/trunk@1299 e251c2fe-e539-e718-e476-b85c1f46cddb
This commit is contained in:
parent
200d79bcec
commit
03fd6249fc
2 changed files with 20 additions and 5 deletions
|
@ -30,16 +30,24 @@ public class Commandwhois extends EssentialsCommand
|
||||||
{
|
{
|
||||||
User u = User.get(p);
|
User u = User.get(p);
|
||||||
String dn = ChatColor.stripColor(u.getNick());
|
String dn = ChatColor.stripColor(u.getNick());
|
||||||
if (!whois.equalsIgnoreCase(dn) && !whois.equalsIgnoreCase(dn.substring(prefixLength)) && !whois.equalsIgnoreCase(u.getName())) continue;
|
if (!whois.equalsIgnoreCase(dn) && !whois.equalsIgnoreCase(dn.substring(prefixLength)) && !whois.equalsIgnoreCase(u.getName()))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
sender.sendMessage("");
|
sender.sendMessage("");
|
||||||
sender.sendMessage(u.getDisplayName() + " is " + u.getName());
|
sender.sendMessage(u.getDisplayName() + " is " + u.getName());
|
||||||
sender.sendMessage(ChatColor.BLUE + " - Health: " + u.getHealth() + "/20");
|
sender.sendMessage(ChatColor.BLUE + " - Health: " + u.getHealth() + "/20");
|
||||||
sender.sendMessage(ChatColor.BLUE + " - Location: (" + u.getLocation().getWorld().getName() + ", " + u.getLocation().getBlockX() + ", " + u.getLocation().getBlockY() + ", " + u.getLocation().getBlockZ() + ")");
|
sender.sendMessage(ChatColor.BLUE + " - Location: (" + u.getLocation().getWorld().getName() + ", " + u.getLocation().getBlockX() + ", " + u.getLocation().getBlockY() + ", " + u.getLocation().getBlockZ() + ")");
|
||||||
if (!parent.getConfiguration().getBoolean("disable-eco", false)) sender.sendMessage(ChatColor.BLUE + " - Money: $" + u.getMoney());
|
if (!parent.getConfiguration().getBoolean("disable-eco", false))
|
||||||
|
{
|
||||||
|
sender.sendMessage(ChatColor.BLUE + " - Money: $" + u.getMoney());
|
||||||
|
}
|
||||||
sender.sendMessage(ChatColor.BLUE + " - Status: " + (parent.away.contains(u) ? "§cAway§f" : "Available"));
|
sender.sendMessage(ChatColor.BLUE + " - Status: " + (parent.away.contains(u) ? "§cAway§f" : "Available"));
|
||||||
sender.sendMessage(ChatColor.BLUE + " - IP Address: " + u.getAddress().getAddress().toString());
|
sender.sendMessage(ChatColor.BLUE + " - IP Address: " + u.getAddress().getAddress().toString());
|
||||||
Object location = u.getMetadata().get("location");
|
Object location = u.getMetadata().get("location");
|
||||||
if (location != null && location instanceof String) {
|
if (location != null && location instanceof String
|
||||||
|
&& (sender instanceof Player ? User.get(sender).isAuthorized("essentials.geoip.show") : true))
|
||||||
|
{
|
||||||
sender.sendMessage(ChatColor.BLUE + " - Location: " + location.toString());
|
sender.sendMessage(ChatColor.BLUE + " - Location: " + location.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,7 @@ import java.net.URLConnection;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
import java.util.zip.GZIPInputStream;
|
import java.util.zip.GZIPInputStream;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.player.PlayerJoinEvent;
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
import org.bukkit.event.player.PlayerListener;
|
import org.bukkit.event.player.PlayerListener;
|
||||||
|
|
||||||
|
@ -72,11 +73,17 @@ public class EssentialsGeoIPPlayerListener extends PlayerListener implements ICo
|
||||||
}
|
}
|
||||||
if (config.getBoolean("show-on-whois", true))
|
if (config.getBoolean("show-on-whois", true))
|
||||||
{
|
{
|
||||||
User.get(event.getPlayer()).setMetadata("location", sb.toString());
|
u.setMetadata("location", sb.toString());
|
||||||
}
|
}
|
||||||
if (config.getBoolean("show-on-login", true))
|
if (config.getBoolean("show-on-login", true))
|
||||||
{
|
{
|
||||||
event.getPlayer().getServer().broadcastMessage("Player " + event.getPlayer().getDisplayName() + " comes from " + sb.toString());
|
for (Player player : event.getPlayer().getServer().getOnlinePlayers())
|
||||||
|
{
|
||||||
|
User user = User.get(player);
|
||||||
|
if (user.isAuthorized("essentials.geoip.show")) {
|
||||||
|
user.sendMessage("Player " + u.getDisplayName() + " comes from " + sb.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue