GameMode Plugin

Discussion in 'Plugin Development' started by creppii, Feb 9, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    creppii

    Hey guys... I coded a plugin to set own GameMode and GameMode of others.
    When i try to execute the commands it shows a error message: An internal error occured while ....

    Here my code:
    Code:java
    1. if (cmd.getName().equalsIgnoreCase("gm")) {
    2. if (p.hasPermission("sSystem.gm")) {
    3. if (args.length == 1) {
    4. if(args[1].equals("0")) {
    5. p.setGameMode(GameMode.SURVIVAL);
    6. p.sendMessage("§6Dein GameMode wurde zu Survival geändert!");
    7. } else if(args[1].equals("1")) {
    8. p.setGameMode(GameMode.CREATIVE);
    9. p.sendMessage("§6Dein GameMode wurde zu Creative geändert!");
    10. } else if(args[1].equals("2")) {
    11. p.setGameMode(GameMode.ADVENTURE);
    12. p.sendMessage("§6Dein GameMode wurde zu Adventure geändert!");
    13. }
    14. } else if (args.length == 2) {
    15. if (p.getServer().getPlayer(args[2]) != null) {
    16. Player target = getServer().getPlayer(args[2]);
    17. if(args[1].equals("0")) {
    18. target.setGameMode(GameMode.SURVIVAL);
    19. target.sendMessage("§6Dein GameMode wurde zu Survival geändert!");
    20. p.sendMessage("§6Der GameMode von " + target.getName() + " wurde zu Survival geändert!");
    21. } else if(args[1].equals("1")) {
    22. target.setGameMode(GameMode.CREATIVE);
    23. target.sendMessage("§6Dein GameMode wurde zu Creative geändert!");
    24. p.sendMessage("§6Der GameMode von " + target.getName() + " wurde zu Creative geändert!");
    25. } else if(args[1].equals("3")) {
    26. target.setGameMode(GameMode.ADVENTURE);
    27. target.sendMessage("§6Dein GameMode wurde zu Adventure geändert!");
    28. p.sendMessage("§6Der GameMode von " + target.getName() + " wurde zu Adventure geändert!");
    29. }
    30. } else {
    31. p.sendMessage(ChatColor.RED + "Der Spieler ist nicht online!");
    32. }
    33. } else if(args.length == 0) {
    34. p.sendMessage("§3Benutze /gm <0> / <1> / <2>");
    35. } else {
    36. p.sendMessage(ChatColor.RED + "Den GameMode nur für einen Spieler umstellen!");
    37. }
    38. }
    39. else p.sendMessage(noPerm);
    40.  
    41. }
     
  2. Offline

    Harmings

    creppii
    You're going to have to give us the stacktrace(error log) so we know what line is causing the problem. Just skimming through your code I see that you are checking if it's args[1] when it should be args[0].
     
  3. Offline

    creppii

    okay now it works haha :p
    thanks for help :)

    greets Creppii

    for all who have the same Problem is here my Code:
    Code:java
    1. if (cmd.getName().equalsIgnoreCase("gm")) {
    2. if (p.hasPermission("sSystem.gm")) {
    3. if(args[0].equalsIgnoreCase("0") && (args.length == 1)) {
    4. p.setGameMode(GameMode.SURVIVAL);
    5. p.sendMessage("§6Dein GameMode wurde zu Survival geändert!");
    6. } else if(args[0].equalsIgnoreCase("1") && (args.length == 1)) {
    7. p.setGameMode(GameMode.CREATIVE);
    8. p.sendMessage("§6Dein GameMode wurde zu Creative geändert!");
    9. } else if(args[0].equalsIgnoreCase("2") && (args.length == 1)) {
    10. p.setGameMode(GameMode.ADVENTURE);
    11. p.sendMessage("§6Dein GameMode wurde zu Adventure geändert!");
    12. } else if (args.length == 2) {
    13. if (p.getServer().getPlayer(args[1]) != null) {
    14. Player target = getServer().getPlayer(args[1]);
    15. if(args[0].equalsIgnoreCase("0")) {
    16. target.setGameMode(GameMode.SURVIVAL);
    17. target.sendMessage("§6Dein GameMode wurde von " + p.getName() + " zu Survival geändert!");
    18. p.sendMessage("§6Der GameMode von " + target.getName() + " wurde zu Survival geändert!");
    19. } else if(args[0].equalsIgnoreCase("1")) {
    20. target.setGameMode(GameMode.CREATIVE);
    21. target.sendMessage("§6Dein GameMode wurde von " + p.getName() + " zu Creative geändert!");
    22. p.sendMessage("§6Der GameMode von " + target.getName() + " wurde zu Creative geändert!");
    23. } else if(args[0].equalsIgnoreCase("3")) {
    24. target.setGameMode(GameMode.ADVENTURE);
    25. target.sendMessage("§6Dein GameMode wurde von " + p.getName() + " zu Adventure geändert!");
    26. p.sendMessage("§6Der GameMode von " + target.getName() + " wurde zu Adventure geändert!");
    27. }
    28. } else {
    29. p.sendMessage(ChatColor.RED + "Der Spieler ist nicht online!");
    30. }
    31. } else if(args.length == 0) {
    32. p.sendMessage("§3Benutze /gm <0> / <1> / <2>");
    33. } else {
    34. p.sendMessage(ChatColor.RED + "Den GameMode nur für einen Spieler umstellen!");
    35. }
    36. }
    37. else p.sendMessage(noPerm);
    38.  
    39. }
     
Thread Status:
Not open for further replies.

Share This Page