Solved Getting a bukkit player help

Discussion in 'Plugin Development' started by jthort, Feb 3, 2014.

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

    jthort

    I've done this before, I just can't remember how to do it. this is my code:
    Code:java
    1. }else if(args.length == 3){
    2. Bukkit.broadcastMessage("1");
    3. if(speak.equalsIgnoreCase("kit")){
    4. Bukkit.broadcastMessage("2");
    5. if(args[0].equalsIgnoreCase("give")){
    6. Bukkit.broadcastMessage("3");
    7.  
    8. Bukkit.broadcastMessage("4");
    9.  
    10. Player getter = Bukkit.getPlayer(args[1]);
    11. Bukkit.broadcastMessage("5");
    12. Bukkit.broadcastMessage(args[1]);
    13. if(args[1].equalsIgnoreCase("pvp")){
    14. pvpkit.add(getter.getName());
    15. getter.sendMessage(ChatColor.GOLD + "You have been given the pvp kit");
    16. pvpkit(getter);
    17. }else if(args[1].equalsIgnoreCase("archer")){
    18. archkit.add(getter.getName());
    19. getter.sendMessage(ChatColor.GOLD + "You have been given the archer kit");
    20. archerkit(getter);
    21. }else if(args[1].equalsIgnoreCase("kangaroo")){
    22. kanga.add(getter.getName());
    23. getter.sendMessage(ChatColor.GOLD + "You have been given the kangaroo kit");
    24. kangakit(getter);
    25. }else if(args[1].equalsIgnoreCase("stomper")){
    26. stomper.add(getter.getName());
    27. getter.sendMessage(ChatColor.GOLD + "You have been given the stomper kit");
    28. stomperkit(getter);
    29. }else if(args[1].equalsIgnoreCase("zues")){
    30. zues.add(getter.getName());
    31. getter.sendMessage(ChatColor.GOLD + "You have been given the zues kit");
    32. zues(getter);
    33. }else if(args[1].equalsIgnoreCase("shadow")){
    34. shadow.add(getter.getName());
    35. getter.sendMessage(ChatColor.GOLD + "You have been given the shadow kit");
    36. shadow(getter);
    37. }else if(args[1].equalsIgnoreCase("squid")){
    38. squid.add(getter.getName());
    39. getter.sendMessage(ChatColor.GOLD + "You have been given the squid kit");
    40. squid(getter);
    41. }else if(args[1].equalsIgnoreCase("viper")){
    42. viper.add(getter.getName());
    43. getter.sendMessage(ChatColor.GOLD + "You have been given the viper kit");
    44. viper(getter);
    45. }else{
    46. sender.sendMessage(ChatColor.RED + args[0] + args[1] + args[2] + args[3]);
    47. sender.sendMessage("invalid kit");
    48. }
    49.  
    50.  
    51. }
    52. }
    53. }
    54.  

    It will reach number 5, then give an error. The error is "null" on the command /kit give <player> <kit>

    Am I getting the player wrong? Should I get it from the bukkit online players?
     
  2. Offline

    EnderTroll68

    Code:java
    1. Bukkit.getServer().getPlayer(args[1]);
     
  3. Offline

    Alshain01

    jthort Is args[1] the player name or the kit name, because you seem to be using it for both.

    Both are correct, it's redundant but it's there.
     
  4. Offline

    jthort

    EnderTroll68 Thats what I thought, but it's still giving me the same error

    Alshain01 I printed out args[1] and it's the players exact name

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 6, 2016
  5. Offline

    Alshain01

    I understand, but then your checking to see if it is "pvp". Should that be args[2]?

    if(args[1].equalsIgnoreCase("pvp")){
     
    jthort likes this.
  6. Offline

    jthort

    Alshain01 Your right, it should be args[2] when checking which kit, thanks a lot. Solved
     
  7. Offline

    Alshain01

    Also (most likely your NPE) there is no args[3]. You checked that above if args.length == 3 (meaning 0 to 2)

    sender.sendMessage(ChatColor.RED + args[0] + args[1] + args[2] + args[3]);
     
    jthort likes this.
  8. Offline

    jthort

    Alshain01 Yeah that is just a left over debugging thing I used when I used a different command, i'll remove it
     
  9. Offline

    Alshain01

    Yeah, but that's what was throwing the error. Your debugging was actually working against you. args[1] was never equal to a kit name so it fell through to that line and since args[3] was null... Null Pointer Exception.
     
Thread Status:
Not open for further replies.

Share This Page