summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2011-12-03 20:51:57 +0000
committerKHobbits <rob@khobbits.co.uk>2011-12-03 20:54:53 +0000
commitf049fecea32cbc4e024422d5d3f61deedf503f15 (patch)
tree40e8aca6caef101b1ff1d430834d18ed869bbfe8
parent621c68bf6e0d2f3ca6145d2c4401ed4174cb5243 (diff)
downloadEssentials-f049fecea32cbc4e024422d5d3f61deedf503f15.tar
Essentials-f049fecea32cbc4e024422d5d3f61deedf503f15.tar.gz
Essentials-f049fecea32cbc4e024422d5d3f61deedf503f15.tar.lz
Essentials-f049fecea32cbc4e024422d5d3f61deedf503f15.tar.xz
Essentials-f049fecea32cbc4e024422d5d3f61deedf503f15.zip
New command: /feed New permission: essentials.feed.others
Test #1191
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandfeed.java41
-rw-r--r--Essentials/src/plugin.yml4
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.