[Permission] essentials.vanish.interact - Players with this permission will be able to interact with hidden players.

This commit is contained in:
KHobbits 2013-03-20 01:00:50 +00:00
parent 896e14670f
commit 889157371c
12 changed files with 40 additions and 29 deletions

View File

@ -117,12 +117,13 @@ public class Commandexp extends EssentialsCommand
private void showMatch(final Server server, final CommandSender sender, final String match) throws NotEnoughArgumentsException
{
boolean skipHidden = sender instanceof Player && !ess.getUser(sender).isAuthorized("essentials.vanish.interact");
boolean foundUser = false;
final List<Player> matchedPlayers = server.matchPlayer(match);
for (Player matchPlayer : matchedPlayers)
{
final User player = ess.getUser(matchPlayer);
if (player.isHidden())
if (skipHidden && player.isHidden())
{
continue;
}

View File

@ -41,12 +41,13 @@ public class Commandext extends EssentialsCommand
private void extinguishPlayers(final Server server, final CommandSender sender, final String name) throws Exception
{
boolean skipHidden = sender instanceof Player && !ess.getUser(sender).isAuthorized("essentials.vanish.interact");
boolean foundUser = false;
final List<Player> matchedPlayers = server.matchPlayer(name);
for (Player matchPlayer : matchedPlayers)
{
final User player = ess.getUser(matchPlayer);
if (player.isHidden())
if (skipHidden && player.isHidden())
{
continue;
}

View File

@ -32,12 +32,13 @@ public class Commandfeed extends EssentialsCommand
private void feedOtherPlayers(final Server server, final CommandSender sender, final String name) throws NotEnoughArgumentsException
{
boolean skipHidden = sender instanceof Player && !ess.getUser(sender).isAuthorized("essentials.vanish.interact");
boolean foundUser = false;
final List<Player> matchedPlayers = server.matchPlayer(name);
for (Player matchPlayer : matchedPlayers)
{
final User player = ess.getUser(matchPlayer);
if (player.isHidden())
if (skipHidden && player.isHidden())
{
continue;
}

View File

@ -63,12 +63,13 @@ public class Commandfly extends EssentialsCommand
private void flyOtherPlayers(final Server server, final CommandSender sender, final String[] args) throws NotEnoughArgumentsException
{
boolean skipHidden = sender instanceof Player && !ess.getUser(sender).isAuthorized("essentials.vanish.interact");
boolean foundUser = false;
final List<Player> matchedPlayers = server.matchPlayer(args[0]);
for (Player matchPlayer : matchedPlayers)
{
final User player = ess.getUser(matchPlayer);
if (player.isHidden())
if (skipHidden && player.isHidden())
{
continue;
}

View File

@ -85,12 +85,13 @@ public class Commandgamemode extends EssentialsCommand
throw new NotEnoughArgumentsException("You need to specify a valid player/mode.");
}
boolean skipHidden = sender instanceof Player && !ess.getUser(sender).isAuthorized("essentials.vanish.interact");
boolean foundUser = false;
final List<Player> matchedPlayers = server.matchPlayer(name);
for (Player matchPlayer : matchedPlayers)
{
final User player = ess.getUser(matchPlayer);
if (player.isHidden())
if (skipHidden && player.isHidden())
{
continue;
}

View File

@ -50,12 +50,13 @@ public class Commandgod extends EssentialsCommand
private void godOtherPlayers(final Server server, final CommandSender sender, final String[] args) throws NotEnoughArgumentsException
{
boolean skipHidden = sender instanceof Player && !ess.getUser(sender).isAuthorized("essentials.vanish.interact");
boolean foundUser = false;
final List<Player> matchedPlayers = server.matchPlayer(args[0]);
for (Player matchPlayer : matchedPlayers)
{
final User player = ess.getUser(matchPlayer);
if (player.isHidden())
if (skipHidden && player.isHidden())
{
continue;
}

View File

@ -50,13 +50,13 @@ public class Commandheal extends EssentialsCommand
private void healOtherPlayers(final Server server, final CommandSender sender, final String name) throws Exception
{
boolean skipHidden = sender instanceof Player && !ess.getUser(sender).isAuthorized("essentials.vanish.interact");
boolean foundUser = false;
final List<Player> matchedPlayers = server.matchPlayer(name);
for (Player matchPlayer : matchedPlayers)
{
final User player = ess.getUser(matchPlayer);
if (player.isHidden())
if (skipHidden && player.isHidden())
{
continue;
}

View File

@ -29,7 +29,7 @@ public class Commandkick extends EssentialsCommand
if (sender instanceof Player)
{
User user = ess.getUser(sender);
if (target.isHidden() && !user.isAuthorized("essentials.list.hidden"))
if (target.isHidden() && !user.isAuthorized("essentials.vanish.interact"))
{
throw new PlayerNotFoundException();
}

View File

@ -17,7 +17,7 @@ public class Commandmsg extends EssentialsCommand
{
super("msg");
}
@Override
public void run(Server server, CommandSender sender, String commandLabel, String[] args) throws Exception
{
@ -25,7 +25,7 @@ public class Commandmsg extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
String message = getFinalArg(args, 1);
if (sender instanceof Player)
{
@ -40,12 +40,12 @@ public class Commandmsg extends EssentialsCommand
{
message = Util.replaceFormat(message);
}
final String translatedMe = _("me");
final IReplyTo replyTo = sender instanceof Player ? ess.getUser((Player)sender) : Console.getConsoleReplyTo();
final String senderName = sender instanceof Player ? ((Player)sender).getDisplayName() : Console.NAME;
if (args[0].equalsIgnoreCase(Console.NAME))
{
sender.sendMessage(_("msgFormat", translatedMe, Console.NAME, message));
@ -55,36 +55,38 @@ public class Commandmsg extends EssentialsCommand
Console.getConsoleReplyTo().setReplyTo(sender);
return;
}
boolean skipHidden = sender instanceof Player && !ess.getUser(sender).isAuthorized("essentials.vanish.interact");
boolean foundUser = false;
final List<Player> matchedPlayers = server.matchPlayer(args[0]);
final List<Player> matchedPlayers = server.matchPlayer(args[0]);
for (Player matchPlayer : matchedPlayers)
{
{
final User matchedUser = ess.getUser(matchPlayer);
if (sender instanceof Player && matchedUser.isHidden())
if (skipHidden && matchedUser.isHidden())
{
continue;
}
}
foundUser = true;
if (matchedUser.isAfk())
{
sender.sendMessage(_("userAFK", matchPlayer.getDisplayName()));
}
}
sender.sendMessage(_("msgFormat", translatedMe, matchPlayer.getDisplayName(), message));
sender.sendMessage(_("msgFormat", translatedMe, matchPlayer.getDisplayName(), message));
if (sender instanceof Player && matchedUser.isIgnoredPlayer(ess.getUser(sender)))
{
continue;
}
matchPlayer.sendMessage(_("msgFormat", senderName, translatedMe, message));
replyTo.setReplyTo(matchedUser);
ess.getUser(matchPlayer).setReplyTo(sender);
}
if (!foundUser) {
if (!foundUser)
{
throw new Exception(_("playerNotFound"));
}
}

View File

@ -31,12 +31,13 @@ public class Commandpay extends EssentialsCommand
double amount = Double.parseDouble(args[1].replaceAll("[^0-9\\.]", ""));
boolean skipHidden = !user.isAuthorized("essentials.vanish.interact");
boolean foundUser = false;
final List<Player> matchedPlayers = server.matchPlayer(args[0]);
for (Player matchPlayer : matchedPlayers)
{
User player = ess.getUser(matchPlayer);
if (player.isHidden())
if (skipHidden && player.isHidden())
{
continue;
}

View File

@ -68,12 +68,13 @@ public class Commandspeed extends EssentialsCommand
private void speedOtherPlayers(final Server server, final CommandSender sender, final boolean isFly, final boolean isBypass, final float speed, final String name) throws NotEnoughArgumentsException
{
boolean skipHidden = sender instanceof Player && !ess.getUser(sender).isAuthorized("essentials.vanish.interact");
boolean foundUser = false;
final List<Player> matchedPlayers = server.matchPlayer(name);
for (Player matchPlayer : matchedPlayers)
{
final User player = ess.getUser(matchPlayer);
if (player.isHidden())
if (skipHidden && player.isHidden())
{
continue;
}

View File

@ -40,12 +40,13 @@ public class Commandtptoggle extends EssentialsCommand
private void toggleOtherPlayers(final Server server, final CommandSender sender, final String[] args) throws NotEnoughArgumentsException
{
boolean skipHidden = sender instanceof Player && !ess.getUser(sender).isAuthorized("essentials.teleport.hidden");
boolean foundUser = false;
final List<Player> matchedPlayers = server.matchPlayer(args[0]);
for (Player matchPlayer : matchedPlayers)
{
final User player = ess.getUser(matchPlayer);
if (player.isHidden())
if (skipHidden && player.isHidden())
{
continue;
}