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 | f3eaa5bf12b7733c6de6c8605a2854f677af6184 (patch) | |
tree | 74916b621816101ca4ee13067058b18eac73305f | |
parent | e3e7bfa8c8f8689af46a9583c29454edc083cc55 (diff) | |
download | Essentials-f3eaa5bf12b7733c6de6c8605a2854f677af6184.tar Essentials-f3eaa5bf12b7733c6de6c8605a2854f677af6184.tar.gz Essentials-f3eaa5bf12b7733c6de6c8605a2854f677af6184.tar.lz Essentials-f3eaa5bf12b7733c6de6c8605a2854f677af6184.tar.xz Essentials-f3eaa5bf12b7733c6de6c8605a2854f677af6184.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); |