New command: /feed New permission: essentials.feed.others

Test #1191
This commit is contained in:
KHobbits 2011-12-03 20:51:57 +00:00
parent d4c2443b5f
commit 6d3e1b862e
2 changed files with 30 additions and 15 deletions

View File

@ -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()));
}
}
}

View File

@ -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.