CommandGameMode.java 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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. import net.minecraft.world.GameType;
  12. public class CommandGameMode extends ModuleCommand
  13. {
  14. public CommandGameMode(Module m)
  15. {
  16. super("gamemode", m);
  17. super.setDescription("Ändert den GameMode eines Spielers");
  18. super.setUsage("/gamemode <mode> [player]");
  19. super.setPermission(Permissions.GAMEMODE);
  20. }
  21. @Override
  22. public boolean execute(ICommandSender cs, String[] arg)
  23. {
  24. if(arg.length == 0)
  25. {
  26. return false;
  27. }
  28. EntityPlayer affectedPlayer;
  29. try
  30. {
  31. if(arg.length >= 2 && !Permission.hasPermission(cs, Permissions.GAMEMODE_OTHER))
  32. {
  33. this.getModule().send(cs, "Du darfst nur deinen eigenen GameMode setzen.");
  34. return true;
  35. }
  36. affectedPlayer = Utils.getPlayerByName(arg[1]);
  37. }
  38. catch(PlayerNotFoundException ex)
  39. {
  40. this.getModule().send(cs, GlobalText.cantFindPlayer(arg[1]));
  41. return true;
  42. }
  43. catch(IndexOutOfBoundsException ex)
  44. {
  45. if(!(cs instanceof EntityPlayer))
  46. {
  47. this.getModule().send(cs, GlobalText.missingParameter());
  48. return true;
  49. }
  50. affectedPlayer = (EntityPlayer) cs;
  51. }
  52. String mode;
  53. switch (arg[0].toLowerCase())
  54. {
  55. case "survival":
  56. case "s":
  57. case "0":
  58. affectedPlayer.setGameType(GameType.SURVIVAL);
  59. mode = "Survival";
  60. break;
  61. case "creative":
  62. case "c":
  63. case "1":
  64. affectedPlayer.setGameType(GameType.CREATIVE);
  65. mode = "Creative";
  66. break;
  67. case "adventure":
  68. case "a":
  69. case "2":
  70. affectedPlayer.setGameType(GameType.ADVENTURE);
  71. mode = "Adventure";
  72. break;
  73. case "specator":
  74. case "w":
  75. case "3":
  76. affectedPlayer.setGameType(GameType.SPECTATOR);
  77. mode = "Spectator";
  78. break;
  79. default:
  80. affectedPlayer.setGameType(GameType.CREATIVE);
  81. mode = "Creative";
  82. break;
  83. }
  84. this.getModule().send(affectedPlayer, "Du hast nun Gamemode " + mode + ".");
  85. if(!cs.equals(affectedPlayer))
  86. {
  87. this.getModule().send(cs, affectedPlayer.getName() + " hat nun Gamemode " + mode + ".");
  88. }
  89. return true;
  90. }
  91. }