Could not pass event PlayerJoinEvent

Discussion in 'Plugin Development' started by DevManABCD, Apr 19, 2014.

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

    DevManABCD

    When player join to game i get this console error:

    Code:
    [14:40:59 ERROR]: Could not pass event PlayerJoinEvent to mVCore v0.1
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~inecraft_server.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~inecraft_server.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:486) inecraft_server.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:471) inecraft_server.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at net.minecraft.server.v1_7_R1.PlayerList.c(PlayerList.java:225) inecraft_server.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at net.minecraft.server.v1_7_R1.PlayerList.a(PlayerList.java:116) inecraft_server.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at net.minecraft.server.v1_7_R1.LoginListener.c(LoginListener.java:78) inecraft_server.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at net.minecraft.server.v1_7_R1.LoginListener.a(LoginListener.java:42) inecraft_server.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:149) inecraft_server.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) inecraft_server.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) inecraft_server.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) inecraft_server.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) inecraft_server.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) inecraft_server.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) inecraft_server.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    Caused by: java.lang.NullPointerException
            at pl.legroup.diverse.listeners.UserJoinLeaveListener.onPlayerJoin(UserJoinLeaveListener.java:39) ~[?:?]
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_40]
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_40]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_40]
            at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_40]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:318) ~inecraft_server.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            ... 14 more

    mY CODE:

    Code:java
    1. package pl.legroup.diverse.listeners;
    2.  
    3. import java.text.SimpleDateFormat;
    4. import java.util.Date;
    5.  
    6. import org.bukkit.Bukkit;
    7. import org.bukkit.ChatColor;
    8. import org.bukkit.Server;
    9. import org.bukkit.entity.Player;
    10. import org.bukkit.event.EventHandler;
    11. import org.bukkit.event.EventPriority;
    12. import org.bukkit.event.Listener;
    13. import org.bukkit.event.player.PlayerJoinEvent;
    14. import org.bukkit.event.player.PlayerKickEvent;
    15. import org.bukkit.event.player.PlayerLoginEvent;
    16. import org.bukkit.event.player.PlayerQuitEvent;
    17. import org.bukkit.plugin.PluginManager;
    18.  
    19. import pl.legroup.diverse.CorePlugin;
    20. import pl.legroup.diverse.MySQL.*;
    21.  
    22. public class UserJoinLeaveListener
    23. implements Listener
    24. {
    25. CorePlugin plugin;
    26.  
    27. public UserJoinLeaveListener(CorePlugin plugin)
    28. {
    29. this.plugin = plugin;
    30. this.plugin.getServer().getPluginManager().registerEvents(this, this.plugin);
    31. }
    32.  
    33. @EventHandler
    34. public void onPlayerJoin(PlayerJoinEvent event)
    35. {
    36. Player player = event.getPlayer();
    37. DataUser user = this.plugin.data.getUserData(player);
    38. String line = (this.plugin.configManager.JoinMotd);
    39. line = line.replaceAll("&", "§");
    40. player.sendMessage(line);
    41.  
    42.  
    43. if (user == null)
    44. {
    45. user = this.plugin.data.createUser();
    46. user.setNick(player.getName());
    47. System.out.println("Laduje nowego uzytkownika");
    48. this.plugin.exportPlayerData(user, player);
    49. user.insert();
    50. }
    51. else
    52. {
    53. this.plugin.importPlayerData(user, player);
    54. }
    55. }
    56.  
    57. @EventHandler
    58. public void onPlayerLeave(PlayerQuitEvent event)
    59. {
    60. leftGame(event.getPlayer());
    61. }
    62.  
    63. @EventHandler(priority=EventPriority.MONITOR, ignoreCancelled=true)
    64. public void onPlayerKick(PlayerKickEvent event)
    65. {
    66. leftGame(event.getPlayer());
    67. }
    68.  
    69. void leftGame(Player player)
    70. {
    71. DataUser user = this.plugin.data.getUserData(player);
    72. if (user != null)
    73. {
    74. this.plugin.exportPlayerData(user, player);
    75. user.update();
    76.  
    77. }
    78. }
    79. @EventHandler(priority=EventPriority.HIGHEST, ignoreCancelled=true)
    80. public void onPlayerLogin(PlayerLoginEvent event)
    81. {
    82. DataUser user = this.plugin.data.getUserData(event.getPlayer());
    83. DataBan ban = this.plugin.data.getBanData(event.getPlayer());
    84. if ((user != null) && (ban != null) &&
    85. (!event.getPlayer().hasPermission("tools.ban.bypass"))) {
    86. if (ban.getTime().longValue() > 0L)
    87. {
    88. if (ban.getTime().longValue() <= System.currentTimeMillis())
    89. {
    90. ban.delete();
    91. }
    92. else
    93. {
    94. Date date = new Date(ban.getTime().longValue());
    95. SimpleDateFormat dt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    96. String timeShow = dt.format(date);
    97. event.disallow(PlayerLoginEvent.Result.KICK_BANNED, ChatColor.RED + "Zostales zbanowany do: " + ChatColor.GOLD + timeShow + ChatColor.RED + ". Powod: " + ban.getReason());
    98. }
    99. }
    100. else {
    101. event.disallow(PlayerLoginEvent.Result.KICK_BANNED, ChatColor.RED + "Zostales zbanowany. Powod: " + ChatColor.GOLD + ban.getReason());
    102. }
    103. }
    104. }
    105. }
    106.  
    107.  
    108.  
     
  2. Offline

    sipsi133

    DevManABCD Try replacing

    Code:java
    1. line = line.replaceAll("&", "§");

    with:
    Code:java
    1. line.replaceAll("&", "§");
     
  3. Offline

    DevManABCD

    sipsi133 Still doesn't work, same errors.
     
  4. Offline

    TGRHavoc

    DevManABCD I think sipsi133 meant replace this:
    Code:java
    1. line = line.replaceAll("&", "§");

    with this:
    Code:java
    1. line = line.replaceAll('&', '§');
     
  5. Offline

    TomFromCollege

    It's a NullPointer, the issue is that the String "line" is unset (null),
    This line:
    Code:java
    1. String line = (this.plugin.configManager.JoinMotd);

    isn't retrieving the object, make sure that it is set.
     
  6. Offline

    DevManABCD

    Its set and working, sending me a message.
     
  7. Offline

    TomFromCollege

    Ensure that configManager is set then, you should think about changing the way you access all of your data. It appears you've set everything to public which is horrendous in terms of logic and validation.

    Inside your JavaPlugin class, you should implement getters and setters of object.
     
Thread Status:
Not open for further replies.

Share This Page