mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-08-04 03:25:50 +00:00
rework /seen to be a little stricter on argument matching.
This commit is contained in:
parent
5125a137f4
commit
ffea359661
2 changed files with 44 additions and 22 deletions
|
@ -43,38 +43,45 @@ public class Commandseen extends EssentialsCommand
|
||||||
{
|
{
|
||||||
throw new NotEnoughArgumentsException();
|
throw new NotEnoughArgumentsException();
|
||||||
}
|
}
|
||||||
try
|
User player = ess.getOfflineUser(args[0]);
|
||||||
|
if (player == null)
|
||||||
{
|
{
|
||||||
User user = getPlayer(server, sender, args, 0);
|
if (ipLookup && FormatUtil.validIP(args[0]))
|
||||||
seenOnline(server, sender, user, showBan, extra);
|
|
||||||
}
|
|
||||||
catch (NoSuchFieldException e)
|
|
||||||
{
|
|
||||||
User player = ess.getOfflineUser(args[0]);
|
|
||||||
if (player == null)
|
|
||||||
{
|
{
|
||||||
if (ipLookup && FormatUtil.validIP(args[0]))
|
seenIP(server, sender, args[0]);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if (ess.getServer().getBanList(BanList.Type.IP).isBanned(args[0]))
|
||||||
|
{
|
||||||
|
sender.sendMessage(tl("isIpBanned", args[0]));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if (BanLookup.isBanned(ess, args[0]))
|
||||||
|
{
|
||||||
|
sender.sendMessage(tl("whoisBanned", showBan ? BanLookup.getBanEntry(ess, args[0]).getReason() : tl("true")));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
seenIP(server, sender, args[0]);
|
player = getPlayer(server, sender, args, 0);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
else if (ess.getServer().getBanList(BanList.Type.IP).isBanned(args[0]))
|
catch (NoSuchFieldException e)
|
||||||
{
|
|
||||||
sender.sendMessage(tl("isIpBanned", args[0]));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
else if (BanLookup.isBanned(ess, args[0]))
|
|
||||||
{
|
|
||||||
sender.sendMessage(tl("whoisBanned", showBan ? BanLookup.getBanEntry(ess, args[0]).getReason() : tl("true")));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
throw new PlayerNotFoundException();
|
throw new PlayerNotFoundException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if (player.getBase().isOnline() && canInteractWith(sender, player))
|
||||||
|
{
|
||||||
|
seenOnline(server, sender, player, showBan, extra);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
seenOffline(server, sender, player, showBan, extra);
|
seenOffline(server, sender, player, showBan, extra);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void seenOnline(final Server server, final CommandSource sender, final User user, final boolean showBan, final boolean extra) throws Exception
|
private void seenOnline(final Server server, final CommandSource sender, final User user, final boolean showBan, final boolean extra) throws Exception
|
||||||
|
|
|
@ -211,6 +211,21 @@ public abstract class EssentialsCommand implements IEssentialsCommand
|
||||||
return bldr.toString();
|
return bldr.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boolean canInteractWith(CommandSource interactor, User interactee)
|
||||||
|
{
|
||||||
|
if (interactor == null)
|
||||||
|
{
|
||||||
|
return !interactee.isHidden();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (interactor.isPlayer())
|
||||||
|
{
|
||||||
|
return canInteractWith(ess.getUser(interactor.getPlayer()), interactee);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true; // console
|
||||||
|
}
|
||||||
|
|
||||||
private static boolean canInteractWith(User interactor, User interactee)
|
private static boolean canInteractWith(User interactor, User interactee)
|
||||||
{
|
{
|
||||||
if (interactor == null)
|
if (interactor == null)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue