CommandHeal.java 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package me.km.commands;
  2. import me.km.api.Utils;
  3. import me.km.api.GlobalText;
  4. import me.km.api.Module;
  5. import me.km.api.ModuleCommand;
  6. import me.km.exception.PlayerNotFoundException;
  7. import me.km.permissions.Permissions;
  8. import net.minecraft.command.ICommandSender;
  9. import net.minecraft.entity.player.EntityPlayer;
  10. import net.minecraft.potion.PotionEffect;
  11. public class CommandHeal extends ModuleCommand
  12. {
  13. public CommandHeal(Module m)
  14. {
  15. super("heal", m);
  16. super.setDescription("Heilt einen Spieler");
  17. super.setUsage("/heal [player]");
  18. super.setPermission(Permissions.HEAL);
  19. }
  20. @Override
  21. public boolean execute(ICommandSender cs, String[] arg)
  22. {
  23. EntityPlayer affectedPlayer;
  24. Module m = this.getModule();
  25. try
  26. {
  27. affectedPlayer = Utils.getPlayerByName(arg[0]);
  28. m.send(cs, affectedPlayer.getName() + " wurde geheilt.");
  29. m.send(affectedPlayer, "Du wurdest geheilt.");
  30. }
  31. catch(PlayerNotFoundException ex)
  32. {
  33. m.send(cs, GlobalText.cantFindPlayer(arg[0]));
  34. return true;
  35. }
  36. catch(IndexOutOfBoundsException ex)
  37. {
  38. if(!(cs instanceof EntityPlayer))
  39. {
  40. m.send(cs, GlobalText.missingParameter());
  41. return true;
  42. }
  43. affectedPlayer = (EntityPlayer) cs;
  44. m.send(affectedPlayer, "Du wurdest geheilt.");
  45. }
  46. affectedPlayer.setHealth(affectedPlayer.getMaxHealth());
  47. for(PotionEffect eff : affectedPlayer.getActivePotionEffects())
  48. {
  49. affectedPlayer.removePotionEffect(eff.getPotion());
  50. }
  51. return true;
  52. }
  53. }