diff options
author | KHobbits <rob@khobbits.co.uk> | 2012-06-10 19:11:45 +0100 |
---|---|---|
committer | KHobbits <rob@khobbits.co.uk> | 2012-06-10 19:11:45 +0100 |
commit | c958bc78dd937da1229cb8f2bcda1c3373e32ff4 (patch) | |
tree | 18bcf0555133bb31dddcd17455e82a540338ddb4 | |
parent | 24ec242ecf8cce3a4f418b2645ceb09af86d0ba4 (diff) | |
download | Essentials-c958bc78dd937da1229cb8f2bcda1c3373e32ff4.tar Essentials-c958bc78dd937da1229cb8f2bcda1c3373e32ff4.tar.gz Essentials-c958bc78dd937da1229cb8f2bcda1c3373e32ff4.tar.lz Essentials-c958bc78dd937da1229cb8f2bcda1c3373e32ff4.tar.xz Essentials-c958bc78dd937da1229cb8f2bcda1c3373e32ff4.zip |
Allow syntax: /fly <player> <on/off>
-rw-r--r-- | Essentials/src/com/earth2me/essentials/commands/Commandfly.java | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandfly.java b/Essentials/src/com/earth2me/essentials/commands/Commandfly.java index 22e3c4eea..deb2da781 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandfly.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandfly.java @@ -24,7 +24,7 @@ public class Commandfly extends EssentialsCommand throw new NotEnoughArgumentsException(); } - flyOtherPlayers(server, sender, args[0]); + flyOtherPlayers(server, sender, args); } @Override @@ -32,7 +32,7 @@ public class Commandfly extends EssentialsCommand { if (args.length > 0 && args[0].trim().length() > 2 && user.isAuthorized("essentials.fly.others")) { - flyOtherPlayers(server, user, args[0]); + flyOtherPlayers(server, user, args); return; } user.setAllowFlight(!user.getAllowFlight()); @@ -43,16 +43,32 @@ public class Commandfly extends EssentialsCommand user.sendMessage(_("flyMode", _(user.getAllowFlight() ? "enabled" : "disabled"), user.getDisplayName())); } - private void flyOtherPlayers(final Server server, final CommandSender sender, final String name) + private void flyOtherPlayers(final Server server, final CommandSender sender, final String[] args) { - for (Player matchPlayer : server.matchPlayer(name)) + for (Player matchPlayer : server.matchPlayer(args[0])) { final User player = ess.getUser(matchPlayer); if (player.isHidden()) { continue; + } + + if (args.length > 1) + { + if (args[1].contains("on") || args[1].contains("ena") || args[1].equalsIgnoreCase("1")) + { + player.setAllowFlight(!player.getAllowFlight()); + } + else + { + player.setAllowFlight(false); + } + } + else + { + player.setAllowFlight(!player.getAllowFlight()); } - player.setAllowFlight(!player.getAllowFlight()); + if (!player.getAllowFlight()) { player.setFlying(false); |