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; import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; public class Commandheal extends EssentialsCommand { public Commandheal() { super("heal"); } @Override public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception { if (args.length > 0 && user.isAuthorized("essentials.heal.others")) { if (!user.isAuthorized("essentials.heal.cooldown.bypass")) { user.healCooldown(); } healOtherPlayers(server, user, args[0]); return; } if (!user.isAuthorized("essentials.heal.cooldown.bypass")) { user.healCooldown(); } healPlayer(user); } @Override public void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception { if (args.length < 1) { throw new NotEnoughArgumentsException(); } healOtherPlayers(server, sender, args[0]); } private void healOtherPlayers(final Server server, final CommandSender sender, final String name) { final List players = server.matchPlayer(name); if (players.isEmpty()) { sender.sendMessage(_("playerNotFound")); return; } for (Player p : players) { if (ess.getUser(p).isHidden()) { continue; } healPlayer(p); sender.sendMessage(_("healOther", p.getDisplayName())); } } private void healPlayer(final Player p) { p.setHealth(20); p.setFoodLevel(20); p.sendMessage(_("heal")); for (PotionEffect effect : p.getActivePotionEffects()) { p.removePotionEffect(effect.getType()); } } }