CommandFly.java 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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.Permission;
  8. import me.km.permissions.Permissions;
  9. import net.minecraft.command.ICommandSender;
  10. import net.minecraft.entity.player.EntityPlayer;
  11. public class CommandFly extends ModuleCommand
  12. {
  13. public CommandFly(Module m)
  14. {
  15. super("fly", m);
  16. super.setDescription("Lässt einen Spieler fliegen");
  17. super.setUsage("/fly [player] [on|off]");
  18. super.setPermission(Permissions.FLY);
  19. }
  20. @Override
  21. public boolean execute(ICommandSender cs, String[] arg)
  22. {
  23. EntityPlayer affectedPlayer;
  24. try
  25. {
  26. if(arg.length >= 1 && !Permission.hasPermission(cs, Permissions.FLY_OTHER))
  27. {
  28. this.getModule().send(cs, "Du darfst nur deinen eigenen Fly setzen.");
  29. return true;
  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. boolean fly = !affectedPlayer.capabilities.allowFlying;
  48. if(arg.length >= 2)
  49. {
  50. if(arg[1].equals("on"))
  51. {
  52. fly = true;
  53. }
  54. else if(arg[1].equals("off"))
  55. {
  56. fly = false;
  57. }
  58. }
  59. affectedPlayer.capabilities.allowFlying = fly;
  60. if(fly)
  61. {
  62. this.getModule().send(affectedPlayer, "Du kannst nun fliegen.");
  63. if(!cs.equals(affectedPlayer))
  64. {
  65. this.getModule().send(cs, affectedPlayer.getName() + " kann nun fliegen.");
  66. }
  67. return true;
  68. }
  69. this.getModule().send(affectedPlayer, "Du kannst nicht mehr fliegen.");
  70. if(!cs.equals(affectedPlayer))
  71. {
  72. this.getModule().send(cs, affectedPlayer.getName() + " kann nicht mehr fliegen.");
  73. }
  74. return true;
  75. }
  76. }