Use correct getPlayer method to not match offline users.

This commit is contained in:
KHobbits 2013-03-20 01:04:35 +00:00
parent 889157371c
commit 353423efec
28 changed files with 52 additions and 50 deletions

View File

@ -17,7 +17,7 @@ public class Commandafk extends EssentialsCommand
{
if (args.length > 0 && user.isAuthorized("essentials.afk.others"))
{
User afkUser = getPlayer(server, args, 0);
User afkUser = getPlayer(server, user, args, 0);
toggleAfk(afkUser);
}
else

View File

@ -21,7 +21,7 @@ public class Commandbalance extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
sender.sendMessage(_("balance", Util.displayCurrency(getPlayer(server, args, 0, true).getMoney(), ess)));
sender.sendMessage(_("balance", Util.displayCurrency(getPlayer(server, args, 0, true, true).getMoney(), ess)));
}
@Override
@ -32,7 +32,7 @@ public class Commandbalance extends EssentialsCommand
|| !(user.isAuthorized("essentials.balance.others")
|| user.isAuthorized("essentials.balance.other"))
? user
: getPlayer(server, args, 0, true)).getMoney();
: getPlayer(server, args, 0, true, true)).getMoney();
user.sendMessage(_("balance", Util.displayCurrency(bal, ess)));
}
}

View File

@ -29,7 +29,7 @@ public class Commandban extends EssentialsCommand
User user;
try
{
user = getPlayer(server, args, 0, true);
user = getPlayer(server, args, 0, true, true);
}
catch (NoSuchFieldException e)
{

View File

@ -39,7 +39,7 @@ public class Commanddelhome extends EssentialsCommand
if (expandedArg.length > 1 && (user == null || user.isAuthorized("essentials.delhome.others")))
{
user = getPlayer(server, expandedArg, 0, true);
user = getPlayer(server, expandedArg, 0, true, true);
name = expandedArg[1];
}
else if (user == null)

View File

@ -118,7 +118,7 @@ public class Commandeco extends EssentialsCommand
}
else
{
final User player = getPlayer(server, args, 1, true);
final User player = getPlayer(server, args, 1, true, true);
switch (cmd)
{
case GIVE:

View File

@ -16,7 +16,7 @@ public class Commandenderchest extends EssentialsCommand
{
if (args.length > 0 && user.isAuthorized("essentials.enderchest.others"))
{
final User invUser = getPlayer(server, args, 0);
final User invUser = getPlayer(server, user, args, 0);
user.openInventory(invUser.getEnderChest());
user.setEnderSee(true);
}

View File

@ -90,7 +90,7 @@ public class Commandessentials extends EssentialsCommand
{
throw new Exception("/<command> reset <player>");
}
final User user = getPlayer(server, args, 1, true);
final User user = getPlayer(server, args, 1, true, true);
user.reset();
sender.sendMessage("Reset Essentials userdata for player: " + user.getDisplayName());
}

View File

@ -19,7 +19,7 @@ public class Commandgetpos extends EssentialsCommand
{
if (args.length > 0 && user.isAuthorized("essentials.getpos.others"))
{
final User otherUser = getPlayer(server, args, 0);
final User otherUser = getPlayer(server, args, 0, true, false);
if (!otherUser.isHidden() || user.isAuthorized("essentials.list.hidden"))
{
outputPosition(user, otherUser.getLocation(), user.getLocation());
@ -37,7 +37,7 @@ public class Commandgetpos extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
final User user = getPlayer(server, args, 0);
final User user = getPlayer(server, args, 0, true, false);
outputPosition(sender, user.getLocation(), null);
}

View File

@ -34,7 +34,7 @@ public class Commandhome extends EssentialsCommand
}
else
{
player = getPlayer(server, nameParts, 0, true);
player = getPlayer(server, nameParts, 0, true, true);
if (nameParts.length > 1)
{
homeName = nameParts[1];

View File

@ -22,7 +22,7 @@ public class Commandignore extends EssentialsCommand
User player;
try
{
player = getPlayer(server, args, 0);
player = getPlayer(server, args, 0, true, true);
}
catch (NoSuchFieldException ex)
{

View File

@ -22,7 +22,7 @@ public class Commandinvsee extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
final User invUser = getPlayer(server, args, 0);
final User invUser = getPlayer(server, user, args, 0);
Inventory inv;
if (args.length > 1 && user.isAuthorized("essentials.invsee.equip"))

View File

@ -25,7 +25,7 @@ public class Commandkick extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
final User target = getPlayer(server, args, 0);
final User target = getPlayer(server, args, 0, true, false);
if (sender instanceof Player)
{
User user = ess.getUser(sender);

View File

@ -30,7 +30,7 @@ public class Commandkit extends EssentialsCommand
}
else if (args.length > 1 && user.isAuthorized("essentials.kit.others"))
{
final User userTo = getPlayer(server, args, 1, true);
final User userTo = getPlayer(server, user, args, 1);
final String kitName = Util.sanitizeString(args[0].toLowerCase(Locale.ENGLISH)).trim();
giveKit(userTo, user, kitName);
}
@ -52,7 +52,7 @@ public class Commandkit extends EssentialsCommand
}
else
{
final User userTo = getPlayer(server, args, 1, true);
final User userTo = getPlayer(server, args, 1, true, false);
final String kitName = args[0].toLowerCase(Locale.ENGLISH);
final Map<String, Object> kit = ess.getSettings().getKit(kitName);

View File

@ -23,7 +23,7 @@ public class Commandmute extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
final User player = getPlayer(server, args, 0, true);
final User player = getPlayer(server, args, 0, true, true);
if (sender instanceof Player && !player.isMuted() && player.isAuthorized("essentials.mute.exempt"))
{
throw new Exception(_("muteExempt"));

View File

@ -32,7 +32,7 @@ public class Commandnear extends EssentialsCommand
{
try
{
otherUser = getPlayer(server, args, 0);
otherUser = getPlayer(server, user, args, 0);
}
catch (Exception ex)
{
@ -66,7 +66,7 @@ public class Commandnear extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
final User otherUser = getPlayer(server, args, 0);
final User otherUser = getPlayer(server, args, 0, true, false);
long radius = 200;
if (args.length > 1)
{

View File

@ -33,7 +33,7 @@ public class Commandnick extends EssentialsCommand
{
throw new Exception(_("nickOthersPermission"));
}
setNickname(server, getPlayer(server, args, 0), formatNickname(user, args[1]));
setNickname(server, getPlayer(server, user, args, 0), formatNickname(user, args[1]));
user.sendMessage(_("nickChanged"));
return;
}
@ -57,7 +57,7 @@ public class Commandnick extends EssentialsCommand
}
else
{
setNickname(server, getPlayer(server, args, 0), formatNickname(null, args[1]));
setNickname(server, getPlayer(server, args, 0, true, false), formatNickname(null, args[1]));
}
sender.sendMessage(_("nickChanged"));
}

View File

@ -35,7 +35,7 @@ public class Commandspawnmob extends EssentialsCommand
if (args.length >= 3)
{
final User target = getPlayer(ess.getServer(), args, 2);
final User target = getPlayer(ess.getServer(), user, args, 2);
SpawnMob.spawnmob(ess, server, user, target, mobData, mobCount);
return;
}
@ -55,7 +55,7 @@ public class Commandspawnmob extends EssentialsCommand
String[] mobData = SpawnMob.mobData(args[0]);
int mobCount = Integer.parseInt(args[1]);
final User target = getPlayer(ess.getServer(), args, 2);
final User target = getPlayer(ess.getServer(), args, 2, true, false);
SpawnMob.spawnmob(ess, server, sender, target, mobData, mobCount);
}
}

View File

@ -27,7 +27,7 @@ public class Commandsudo extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
final User user = getPlayer(server, args, 0, false);
final User user = getPlayer(server, args, 0);
if(args[1].toLowerCase(Locale.ENGLISH).startsWith("c:"))
{
if (user.isAuthorized("essentials.sudo.exempt") && sender instanceof Player)

View File

@ -24,7 +24,7 @@ public class Commandtempban extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
final User user = getPlayer(server, args, 0, true);
final User user = getPlayer(server, args, 0, true, true);
if (!user.isOnline())
{
if (sender instanceof Player

View File

@ -23,7 +23,7 @@ public class Commandtogglejail extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
final User player = getPlayer(server, args, 0, true);
final User player = getPlayer(server, args, 0, true, true);
if (args.length >= 2 && !player.isJailed())
{

View File

@ -22,8 +22,8 @@ public class Commandtpo extends EssentialsCommand
throw new NotEnoughArgumentsException();
case 1:
final User player = getPlayer(server, args, 0, true);
if (!player.isOnline() || (player.isHidden() && !user.isAuthorized("essentials.teleport.hidden")))
final User player = getPlayer(server, args, 0, true, false);
if (player.isHidden() && !user.isAuthorized("essentials.teleport.hidden"))
{
throw new NoSuchFieldException(_("playerNotFound"));
}
@ -42,11 +42,10 @@ public class Commandtpo extends EssentialsCommand
throw new Exception(_("noPerm", "essentials.tp.others"));
}
user.sendMessage(_("teleporting"));
final User target = getPlayer(server, args, 0, true);
final User toPlayer = getPlayer(server, args, 1, true);
final User target = getPlayer(server, args, 0, true, false);
final User toPlayer = getPlayer(server, args, 1, true, false);
if (!target.isOnline() || !toPlayer.isOnline()
|| ((target.isHidden() || toPlayer.isHidden()) && !user.isAuthorized("essentials.teleport.hidden")))
if ((target.isHidden() || toPlayer.isHidden()) && !user.isAuthorized("essentials.teleport.hidden"))
{
throw new NoSuchFieldException(_("playerNotFound"));
}

View File

@ -22,13 +22,7 @@ public class Commandtpohere extends EssentialsCommand
}
//Just basically the old tphere command
final User player = getPlayer(server, args, 0, true);
// Check if user is offline
if (!player.isOnline())
{
throw new NoSuchFieldException(_("playerNotFound"));
}
final User player = getPlayer(server, args, 0, true, false);
if (user.getWorld() != player.getWorld() && ess.getSettings().isWorldTeleportPermissions()
&& !user.isAuthorized("essentials.worlds." + user.getWorld().getName()))

View File

@ -55,7 +55,7 @@ public class Commandtppos extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
User user = getPlayer(server, args, 0);
User user = getPlayer(server, args, 0, true, false);
final double x = args[1].startsWith("~") ? user.getLocation().getX() + Integer.parseInt(args[1].substring(1)) : Integer.parseInt(args[1]);
final double y = args[2].startsWith("~") ? user.getLocation().getY() + Integer.parseInt(args[2].substring(1)) : Integer.parseInt(args[2]);
final double z = args[3].startsWith("~") ? user.getLocation().getZ() + Integer.parseInt(args[3].substring(1)) : Integer.parseInt(args[3]);

View File

@ -27,7 +27,7 @@ public class Commandunban extends EssentialsCommand
String name;
try
{
final User user = getPlayer(server, args, 0, true);
final User user = getPlayer(server, args, 0, true, true);
name = user.getName();
user.setBanned(false);
user.setBanTimeout(0);

View File

@ -31,7 +31,7 @@ public class Commandunbanip extends EssentialsCommand
}
else
{
final User user = getPlayer(server, args, 0, true);
final User user = getPlayer(server, args, 0, true, true);
ipAddress = user.getLastLoginAddress();
if (ipAddress.isEmpty())
{

View File

@ -28,7 +28,7 @@ public class Commandunlimited extends EssentialsCommand
if (args.length > 1 && user.isAuthorized("essentials.unlimited.others"))
{
target = getPlayer(server, args, 1);
target = getPlayer(server, user, args, 1);
}
if (args[0].equalsIgnoreCase("list"))

View File

@ -41,7 +41,7 @@ public class Commandwarp extends EssentialsCommand
User otherUser = null;
if (args.length == 2 && (user.isAuthorized("essentials.warp.otherplayers") || user.isAuthorized("essentials.warp.others")))
{
otherUser = getPlayer(server, args, 1);
otherUser = getPlayer(server, args, 1, user.isAuthorized("essentials.teleport.hidden"), false);
warpUser(user, otherUser, args[0]);
throw new NoChargeException();
}
@ -58,7 +58,7 @@ public class Commandwarp extends EssentialsCommand
warpList(sender, args);
throw new NoChargeException();
}
User otherUser = getPlayer(server, args, 1);
User otherUser = getPlayer(server, args, 1, true, false);
otherUser.getTeleport().warp(args[0], null, TeleportCause.COMMAND);
throw new NoChargeException();

View File

@ -45,10 +45,15 @@ public abstract class EssentialsCommand implements IEssentialsCommand
protected User getPlayer(final Server server, final String[] args, final int pos) throws NoSuchFieldException, NotEnoughArgumentsException
{
return getPlayer(server, args, pos, false);
return getPlayer(server, args, pos, false, false);
}
protected User getPlayer(final Server server, final User user, final String[] args, final int pos) throws NoSuchFieldException, NotEnoughArgumentsException
{
return getPlayer(server, args, pos, user.isAuthorized("essentials.vanish.interact"), false);
}
protected User getPlayer(final Server server, final String[] args, final int pos, final boolean getOffline) throws NoSuchFieldException, NotEnoughArgumentsException
protected User getPlayer(final Server server, final String[] args, final int pos, boolean getHidden, final boolean getOffline) throws NoSuchFieldException, NotEnoughArgumentsException
{
if (args.length <= pos)
{
@ -61,7 +66,11 @@ public abstract class EssentialsCommand implements IEssentialsCommand
final User user = ess.getUser(args[pos]);
if (user != null)
{
if (!getOffline && (!user.isOnline() || user.isHidden()))
if (!getOffline && !user.isOnline())
{
throw new PlayerNotFoundException();
}
if (!getHidden && user.isHidden())
{
throw new PlayerNotFoundException();
}
@ -74,13 +83,13 @@ public abstract class EssentialsCommand implements IEssentialsCommand
for (Player player : matches)
{
final User userMatch = ess.getUser(player);
if (userMatch.getDisplayName().startsWith(args[pos]) && (getOffline || !userMatch.isHidden()))
if (userMatch.getDisplayName().startsWith(args[pos]) && (getHidden || !userMatch.isHidden()))
{
return userMatch;
}
}
final User userMatch = ess.getUser(matches.get(0));
if (getOffline || !userMatch.isHidden())
if (getHidden || !userMatch.isHidden())
{
return userMatch;
}