CommandGameMode.java 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. package me.km.commands;
  2. import me.km.KajetansMod;
  3. import me.km.api.Utils;
  4. import me.km.api.GlobalText;
  5. import me.km.api.Module;
  6. import me.km.api.ModuleCommand;
  7. import me.km.exception.PlayerNotFoundException;
  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. super.addAlias("gm");
  21. }
  22. @Override
  23. public boolean execute(ICommandSender cs, String[] arg)
  24. {
  25. if(arg.length == 0)
  26. {
  27. return false;
  28. }
  29. EntityPlayer affectedPlayer;
  30. try
  31. {
  32. if(arg.length >= 2 && !KajetansMod.perms.hasPermission(cs, Permissions.GAMEMODE_OTHER))
  33. {
  34. this.getModule().send(cs, "Du darfst nur deinen eigenen GameMode setzen.");
  35. return true;
  36. }
  37. affectedPlayer = Utils.getPlayerByName(arg[1]);
  38. }
  39. catch(PlayerNotFoundException ex)
  40. {
  41. this.getModule().send(cs, GlobalText.cantFindPlayer(arg[1]));
  42. return true;
  43. }
  44. catch(IndexOutOfBoundsException ex)
  45. {
  46. if(!(cs instanceof EntityPlayer))
  47. {
  48. this.getModule().send(cs, GlobalText.missingParameter());
  49. return true;
  50. }
  51. affectedPlayer = (EntityPlayer) cs;
  52. }
  53. String mode;
  54. switch (arg[0].toLowerCase())
  55. {
  56. case "survival":
  57. case "s":
  58. case "0":
  59. affectedPlayer.setGameType(GameType.SURVIVAL);
  60. mode = "Survival";
  61. break;
  62. case "creative":
  63. case "c":
  64. case "1":
  65. affectedPlayer.setGameType(GameType.CREATIVE);
  66. mode = "Creative";
  67. break;
  68. case "adventure":
  69. case "a":
  70. case "2":
  71. affectedPlayer.setGameType(GameType.ADVENTURE);
  72. mode = "Adventure";
  73. break;
  74. case "specator":
  75. case "w":
  76. case "3":
  77. affectedPlayer.setGameType(GameType.SPECTATOR);
  78. mode = "Spectator";
  79. break;
  80. default:
  81. affectedPlayer.setGameType(GameType.CREATIVE);
  82. mode = "Creative";
  83. break;
  84. }
  85. this.getModule().send(affectedPlayer, "Du hast nun Gamemode " + mode + ".");
  86. if(!cs.equals(affectedPlayer))
  87. {
  88. this.getModule().send(cs, affectedPlayer.getName() + " hat nun Gamemode " + mode + ".");
  89. }
  90. return true;
  91. }
  92. }