CommandAFK.java 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package me.km.afk;
  2. import me.km.KajetansMod;
  3. import me.km.api.GlobalText;
  4. import me.km.api.Module;
  5. import me.km.api.ModuleCommand;
  6. import me.km.api.Utils;
  7. import me.km.exception.PlayerNotFoundException;
  8. import me.km.permissions.Permission;
  9. import me.km.permissions.Permissions;
  10. import net.minecraft.command.ICommandSender;
  11. import net.minecraft.entity.player.EntityPlayer;
  12. public class CommandAFK extends ModuleCommand
  13. {
  14. public CommandAFK(Module m)
  15. {
  16. super("afk", m);
  17. super.setDescription("Schaltet den AFK-Zustand ein / aus");
  18. super.setUsage("/afk [player]");
  19. super.setPermission(Permissions.AFK);
  20. }
  21. @Override
  22. public boolean execute(ICommandSender cs, String[] arg)
  23. {
  24. EntityPlayer affectedPlayer;
  25. try
  26. {
  27. if(!Permission.hasPermission(cs, Permissions.AFK))
  28. {
  29. throw new IndexOutOfBoundsException();
  30. }
  31. affectedPlayer = Utils.getPlayerByName(arg[0]);
  32. }
  33. catch(PlayerNotFoundException ex)
  34. {
  35. this.getModule().send(cs, GlobalText.cantFindPlayer(arg[0]));
  36. return true;
  37. }
  38. catch(IndexOutOfBoundsException ex)
  39. {
  40. if(!(cs instanceof EntityPlayer))
  41. {
  42. this.getModule().send(cs, GlobalText.missingParameter());
  43. return true;
  44. }
  45. affectedPlayer = (EntityPlayer) cs;
  46. }
  47. AfkListener man = KajetansMod.afkManager.getEvent(AfkListener.class);
  48. if(man.isAfk(affectedPlayer))
  49. {
  50. man.setAfk(affectedPlayer, false);
  51. this.getModule().send(affectedPlayer, "Du bist nicht mehr AFK.");
  52. if(!cs.equals(affectedPlayer))
  53. {
  54. this.getModule().send(cs, affectedPlayer.getName() + " ist nicht mehr AFK.");
  55. }
  56. return true;
  57. }
  58. man.setAfk(affectedPlayer, true);
  59. this.getModule().send(affectedPlayer, "Du bist nun AFK.");
  60. if(!cs.equals(affectedPlayer))
  61. {
  62. this.getModule().send(cs, affectedPlayer.getName() + " ist nun AFK.");
  63. }
  64. return true;
  65. }
  66. }