Solved PlayerJoinEvent Error? :O

Discussion in 'Plugin Development' started by Barking_Squirrel, Dec 8, 2013.

Thread Status:
Not open for further replies.
  1. Code:
    [10:46:20 ERROR]: Could not pass event PlayerJoinEvent to SortingCORE v1.0.1
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) ~[craftbukkit.jar:git-Bukkit-1.6.4-R2.0-22-g40a262b-b2940jnks]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Bukkit-1.6.4-R2.0-22-g40a262b-b2940jnks]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-22-g40a262b-b2940jnks]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-22-g40a262b-b2940jnks]
        at net.minecraft.server.v1_7_R1.PlayerList.c(PlayerList.java:225) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-22-g40a262b-b2940jnks]
        at net.minecraft.server.v1_7_R1.PlayerList.a(PlayerList.java:116) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-22-g40a262b-b2940jnks]
        at net.minecraft.server.v1_7_R1.LoginListener.c(LoginListener.java:78) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-22-g40a262b-b2940jnks]
        at net.minecraft.server.v1_7_R1.LoginListener.a(LoginListener.java:42) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-22-g40a262b-b2940jnks]
        at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:149) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-22-g40a262b-b2940jnks]
        at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-22-g40a262b-b2940jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:651) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-22-g40a262b-b2940jnks]
        at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-22-g40a262b-b2940jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:541) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-22-g40a262b-b2940jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:453) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-22-g40a262b-b2940jnks]
        at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Bukkit-1.6.4-R2.0-22-g40a262b-b2940jnks]
    Caused by: java.lang.NullPointerException
        at me.GoobyGod.SortingCORE.TabListenerJoin.onTabJoinEvent(TabListenerJoin.java:22) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_25]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_25]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_25]
        at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_25]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) ~[craftbukkit.jar:git-Bukkit-1.6.4-R2.0-22-g40a262b-b2940jnks]
        ... 14 more
    This is what occurs when i join the server and this is the event.

    Code:java
    1. SortingCORE plugin;
    2. public TabListenerJoin(SortingCORE instance) {
    3. instance = plugin;
    4. }
    5.  
    6.  
    7. @EventHandler
    8. public void onTabJoinEvent(PlayerJoinEvent e) {
    9. Player p = e.getPlayer();
    10. if (plugin.getConfig().getStringList("Gryffindor").contains(p.getName())) {
    11. p.setPlayerListName(ChatColor.RED + p.getName());
    12. } else if (plugin.getConfig().getStringList("Slytherin").contains(p.getName())) {
    13. p.setPlayerListName(ChatColor.GREEN + p.getName());
    14. } else if (plugin.getConfig().getStringList("Ravenclaw").contains(p.getName())) {
    15. p.setPlayerListName(ChatColor.BLUE + p.getName());
    16. } else if (plugin.getConfig().getStringList("Hufflepuff").contains(p.getName())) {
    17. p.setPlayerListName(ChatColor.YELLOW + p.getName());
    18. } else {
    19. p.setPlayerListName(ChatColor.GRAY + p.getName());
    20. }
    21. }


    I really don't know what to do :/ please help :)
     
  2. Offline

    Developing

    Barking_Squirrel Please provide the main class so i can have a better look at where is the error.
     
  3. Developing

    Code:java
    1. public class SortingCORE extends JavaPlugin {
    2.  
    3. public SortingCORE plugin;
    4.  
    5. public static String sortprefix = ChatColor.AQUA + "[SortingHat] " + ChatColor.RESET;
    6.  
    7. protected List<String> gryffindor = new ArrayList<String>();
    8. protected List<String> slytherin = new ArrayList<String>();
    9. protected List<String> hufflepuff = new ArrayList<String>();
    10. protected List<String> ravenclaw = new ArrayList<String>();
    11.  
    12. public ChatColor red = ChatColor.RED;
    13. public ChatColor gold = ChatColor.GOLD;
    14. public ChatColor green = ChatColor.GREEN;
    15. public ChatColor blue = ChatColor.BLUE;
    16. public ChatColor yellow = ChatColor.YELLOW;
    17.  
    18. @Override
    19. public void onEnable() {
    20. saveConfig();
    21.  
    22. getConfig().addDefault("Gryffindor", gryffindor);
    23. getConfig().addDefault("Slytherin", slytherin);
    24. getConfig().addDefault("Hufflepuff", hufflepuff);
    25. getConfig().addDefault("Ravenclaw", ravenclaw);
    26.  
    27. getCommand("gryffindor").setExecutor(new Gryffindor(this));
    28. getCommand("slytherin").setExecutor(new Slytherin(this));
    29. getCommand("hufflepuff").setExecutor(new Hufflepuff(this));
    30. getCommand("ravenclaw").setExecutor(new Ravenclaw(this));
    31.  
    32. PluginManager pm = getServer().getPluginManager();
    33. pm.registerEvents(new ChatEvent(this), this);
    34. pm.registerEvents(new NameTagEvent(this), this);
    35. pm.registerEvents(new TabListenerJoin(this), this);
    36. }
    37.  
    38. @Override
    39. public void onDisable() {
    40. }
    41.  
    42. public void SortGryffindor(String player) {
    43. List<String> list = getConfig().getStringList("Gryffindor");
    44. if (list == null) {
    45. getConfig().set("Gryffindor", gryffindor);
    46. list = getConfig().getStringList("Gryffindor");
    47. }
    48. if (!list.contains(player)) {
    49. list.add(player);
    50. getConfig().set("Gryffindor", list);
    51. saveConfig();
    52. }
    53. }
    54.  
    55. public void SortSlytherin(String player) {
    56. List<String> list = getConfig().getStringList("Slytherin");
    57. if (list == null) {
    58. getConfig().set("Slytherin", slytherin);
    59. list = getConfig().getStringList("Slytherin");
    60. }
    61. if (!list.contains(player)) {
    62. list.add(player);
    63. getConfig().set("Slytherin", list);
    64. saveConfig();
    65. }
    66. }
    67. public void SortHufflepuff(String player) {
    68. List<String> list = getConfig().getStringList("Hufflepuff");
    69. if (list == null) {
    70. getConfig().set("Hufflepuff", hufflepuff);
    71. list = getConfig().getStringList("Hufflepuff");
    72. }
    73. if (!list.contains(player)) {
    74. list.add(player);
    75. getConfig().set("Hufflepuff", list);
    76. saveConfig();
    77. }
    78. }
    79. public void SortRavenclaw(String player) {
    80. List<String> list = getConfig().getStringList("Ravenclaw");
    81. if (list == null) {
    82. getConfig().set("Ravenclaw", ravenclaw);
    83. list = getConfig().getStringList("Ravenclaw");
    84. }
    85. if (!list.contains(player)) {
    86. list.add(player);
    87. getConfig().set("Ravenclaw", list);
    88. saveConfig();
    89. }
    90. }
    91.  
    92. public void RemoveSlytherin(String player) {
    93. List<String> list = getConfig().getStringList("Slytherin");
    94. if (list == null) {
    95. }
    96. if (list.contains(player)) {
    97. list.remove(player);
    98. getConfig().set("Slytherin", list);
    99. saveConfig();
    100.  
    101. }
    102. }
    103. public void RemoveGryffindor(String player) {
    104. List<String> list = getConfig().getStringList("Gryffindor");
    105. if (list == null) {
    106. }
    107. if (list.contains(player)) {
    108. list.remove(player);
    109. getConfig().set("Gryffindor", list);
    110. saveConfig();
    111.  
    112. }
    113. }
    114.  
    115. public void RemoveHufflepuff(String player) {
    116. List<String> list = getConfig().getStringList("Hufflepuff");
    117. if (list == null) {
    118. }
    119. if (list.contains(player)) {
    120. list.remove(player);
    121. getConfig().set("Hufflepuff", list);
    122. saveConfig();
    123.  
    124. }
    125. }
    126.  
    127. public void RemoveRavenclaw(String player) {
    128. List<String> list = getConfig().getStringList("Ravenclaw");
    129. if (list == null) {
    130. }
    131. if (list.contains(player)) {
    132. list.remove(player);
    133. getConfig().set("Ravenclaw", list);
    134. saveConfig();
    135.  
    136. }
    137. }
    138.  
    139.  
    140. }
    141.  
     
  4. Offline

    Developing

    Barking_Squirrel Could it be
    Code:java
    1. plugin = instance;

    instead of
    Code:java
    1. instance = plugin;
     
  5. Offline

    maxben34

    Barking_Squirrel You are getting a nullpointerexception on line 22 of your tablistenerjoin class. I need to know what exactly is on line 22 to attempt to figure out why it is null.
     
  6. Offline

    Developing

    Cant figure out why then.
     
  7. Offline

    sgavster

    Code:java
    1. SortingCORE plugin;

    NEEDS to be
    Code:java
    1. private final SortingCORE plugin;
     
  8. Offline

    sgavster

  9. Offline

    L33m4n123


    mind explaining why you think it NEEDS to be like that? Because it makes no sense that it NEEDS to be private and NEEDS to be final

    because private just basicly hides it for every other class except the one it is in.. and final means it cannot be altered. so it doesn't change anything with his issue
     
    Gopaintman likes this.
  10. L33m4n123 you are right, i just tried it and it doesn't change anything to my issue. Have you got any suggestions :/
     
  11. Offline

    Wolfey

    Do you mind posting the whole class, with the package and imports.
     
  12. Offline

    L33m4n123


    Mind posting the complete Event Class for the PlayerJoinEvent so I can better see what line 22 is?
     
  13. L33m4n123 Wolfey
    Code:java
    1. package me.GoobyGod.SortingCORE;
    2.  
    3. import org.bukkit.ChatColor;
    4. import org.bukkit.entity.Player;
    5. import org.bukkit.event.EventHandler;
    6. import org.bukkit.event.Listener;
    7. import org.bukkit.event.player.PlayerJoinEvent;
    8.  
    9. public class TabListenerJoin implements Listener {
    10.  
    11. private SortingCORE plugin;
    12. public TabListenerJoin(SortingCORE instance) {
    13. instance = plugin;
    14. }
    15.  
    16.  
    17. @EventHandler
    18. public void onTabJoinEvent(PlayerJoinEvent e) {
    19. Player p = e.getPlayer();
    20. if (plugin.getConfig().getStringList("Gryffindor").contains(p.getName())) {
    21. p.setPlayerListName(ChatColor.RED + p.getName());
    22. } else if (plugin.getConfig().getStringList("Slytherin").contains(p.getName())) {
    23. p.setPlayerListName(ChatColor.GREEN + p.getName());
    24. } else if (plugin.getConfig().getStringList("Ravenclaw").contains(p.getName())) {
    25. p.setPlayerListName(ChatColor.BLUE + p.getName());
    26. } else if (plugin.getConfig().getStringList("Hufflepuff").contains(p.getName())) {
    27. p.setPlayerListName(ChatColor.YELLOW + p.getName());
    28. } else {
    29. p.setPlayerListName(ChatColor.GRAY + p.getName());
    30. }
    31. }
    32.  
    33. }
    34.  
     
  14. Offline

    L33m4n123

    You obviously didn't test what he said.



    but however. It throws it at Line 22. It should be already throwing it at line 20.

    You're sure that the StringList Slytherin exists?
     
Thread Status:
Not open for further replies.

Share This Page