TF-EssentialsX/Essentials/src/com/earth2me/essentials/commands/Commandseen.java

68 lines
2 KiB
Java
Raw Normal View History

package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.Util;
import org.bukkit.Location;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
public class Commandseen extends EssentialsCommand
{
public Commandseen()
{
super("seen");
}
@Override
2011-12-01 13:42:39 +00:00
protected void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
seen(server, sender, args, true, true);
}
2012-03-21 23:54:57 +00:00
@Override
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
{
seen(server, user, args, user.isAuthorized("essentials.seen.banreason"), user.isAuthorized("essentials.seen.extra"));
}
2012-03-21 23:54:57 +00:00
protected void seen(final Server server, final CommandSender sender, final String[] args, final boolean showBan, final boolean extra) throws Exception
{
if (args.length < 1)
{
throw new NotEnoughArgumentsException();
}
try
{
User player = getPlayer(server, args, 0);
2012-03-21 23:54:57 +00:00
player.setDisplayNick();
sender.sendMessage(_("seenOnline", player.getDisplayName(), Util.formatDateDiff(player.getLastLogin())));
if (extra)
{
sender.sendMessage(_("whoisIPAddress", player.getAddress().getAddress().toString()));
}
}
catch (NoSuchFieldException e)
{
User player = ess.getOfflineUser(args[0]);
if (player == null)
{
throw new Exception(_("playerNotFound"));
}
2012-03-21 23:54:57 +00:00
player.setDisplayNick();
2012-04-03 15:12:49 +00:00
sender.sendMessage(_("seenOffline", player.getName(), Util.formatDateDiff(player.getLastLogout())));
if (player.isBanned())
2011-12-07 11:00:01 +00:00
{
sender.sendMessage(_("whoisBanned", showBan ? player.getBanReason() : _("true")));
}
if (extra)
{
sender.sendMessage(_("whoisIPAddress", player.getLastLoginAddress()));
final Location loc = player.getLastLocation();
sender.sendMessage(_("whoisLocation", loc.getWorld().getName(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()));
2011-12-07 11:00:01 +00:00
}
}
}
}