diff options
author | KHobbits <rob@khobbits.co.uk> | 2011-12-03 20:51:57 +0000 |
---|---|---|
committer | KHobbits <rob@khobbits.co.uk> | 2011-12-03 20:54:53 +0000 |
commit | 6d3e1b862e8513ad68e9bc5fb576c70a0791355d (patch) | |
tree | ae4d94e213795bef3fba68dd56b8648a2100f0df | |
parent | d4c2443b5f48f1c117d7bbdbec679b16bba5dca3 (diff) | |
download | Essentials-6d3e1b862e8513ad68e9bc5fb576c70a0791355d.tar Essentials-6d3e1b862e8513ad68e9bc5fb576c70a0791355d.tar.gz Essentials-6d3e1b862e8513ad68e9bc5fb576c70a0791355d.tar.lz Essentials-6d3e1b862e8513ad68e9bc5fb576c70a0791355d.tar.xz Essentials-6d3e1b862e8513ad68e9bc5fb576c70a0791355d.zip |
New command: /feed New permission: essentials.feed.others
Test #1191
-rw-r--r-- | Essentials/src/com/earth2me/essentials/commands/Commandfeed.java | 41 | ||||
-rw-r--r-- | Essentials/src/plugin.yml | 4 |
2 files changed, 30 insertions, 15 deletions
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandfeed.java b/Essentials/src/com/earth2me/essentials/commands/Commandfeed.java index ac3078309..0c1579835 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandfeed.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandfeed.java @@ -1,7 +1,10 @@ package com.earth2me.essentials.commands; +import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.User; +import java.util.List; import org.bukkit.Server; +import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -13,25 +16,37 @@ public class Commandfeed extends EssentialsCommand } @Override - protected void run(Server server, User user, String commandLabel, String[] args) throws Exception + protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception { - if (args.length > 0) + if (args.length > 0 && user.isAuthorized("essentials.feed.others")) { - Player player = ess.getServer().getPlayer(args[0]); - if (player != null) - { - player.setFoodLevel(20); - player.setSaturation(10); - } - else - { - throw new NotEnoughArgumentsException(); // TODO: Translate "Player not found" - } + feedOtherPlayers(server,user,args[0]); } else { user.setFoodLevel(20); - user.setSaturation(10); // 10 because 20 seems way overpowered + user.setSaturation(10); + user.sendMessage(_("feed")); + } + } + + private void feedOtherPlayers(final Server server, final CommandSender sender, final String name) + { + final List<Player> players = server.matchPlayer(name); + if (players.isEmpty()) + { + sender.sendMessage(_("playerNotFound")); + return; + } + for (Player player : players) + { + if (ess.getUser(player).isHidden()) + { + continue; + } + player.setFoodLevel(20); + player.setSaturation(10); + sender.sendMessage(_("feedOther", player.getDisplayName())); } } } diff --git a/Essentials/src/plugin.yml b/Essentials/src/plugin.yml index efeaf2648..cc6620613 100644 --- a/Essentials/src/plugin.yml +++ b/Essentials/src/plugin.yml @@ -99,8 +99,8 @@ commands: usage: /<command> [player] aliases: [extinguish,eext,eextinguish] feed: - description: Shove food down someone's throat. - usage: /<command> <player> + description: Satisfy the hunger. + usage: /<command> [player] aliases: [efeed] fireball: description: Throw a fireball. |