Solved getConfig(); wont work in eventhandler

Discussion in 'Plugin Development' started by kaif21, May 3, 2014.

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

    kaif21

    i cannot get getconfig to work in eventhandler(eventhandler class)
    My Code Main Class(its called SleepNotify)

    Code:java
    1.  
    2. package me.bukkit.kaif21;
    3.  
    4.  
    5.  
    6. import org.bukkit.plugin.PluginManager;
    7. import org.bukkit.plugin.java.JavaPlugin;
    8.  
    9. public class SleepNotify extends JavaPlugin {
    10.  
    11. public static SleepNotify plugin;
    12. public final PlayerListener bl = new PlayerListener(this);
    13.  
    14. @Override
    15. public void onEnable() {
    16. getConfig().options().copyDefaults(true);
    17. this.saveDefaultConfig();
    18. PluginManager pm = getServer().getPluginManager();
    19. pm.registerEvents(this.bl, this);
    20. }
    21.  
    22. @Override
    23. public void onDisable() {
    24.  
    25. }
    26.  
    27.  
    28.  
    29. }
    30.  

    ---------------------------------------------------------------------------------------------------------
    Code:java
    1.  
    2. PlayerListener class
    3. package me.bukkit.kaif21;
    4.  
    5.  
    6.  
    7. import org.bukkit.Bukkit;
    8. import org.bukkit.ChatColor;
    9. import org.bukkit.World;
    10. import org.bukkit.entity.Player;
    11. import org.bukkit.event.EventHandler;
    12. import org.bukkit.event.Listener;
    13. import org.bukkit.event.player.PlayerBedEnterEvent;
    14. import org.bukkit.event.player.PlayerBedLeaveEvent;
    15.  
    16.  
    17.  
    18.  
    19. public class PlayerListener implements Listener{
    20.  
    21. public PlayerListener(SleepNotify plugin) {
    22.  
    23.  
    24. }
    25.  
    26. @EventHandler
    27. public void onbedenter(PlayerBedEnterEvent ev) {
    28. Player player = ev.getPlayer();
    29. Bukkit.broadcastMessage(ChatColor.GREEN + "[SleepNotify]" + ChatColor.DARK_BLUE + (player.getName()+ " is sleeping"));
    30. }
    31.  
    32. @EventHandler
    33. public void onbedleave(PlayerBedLeaveEvent e) {
    34. Player player = e.getPlayer();
    35. for(World world : e.getPlayer().getServer().getWorlds()){
    36. if (world.getTime() == 0){
    37. Bukkit.broadcastMessage(ChatColor.GREEN + "[SleepNotify]" + ChatColor.AQUA + SleepNotify.plugin.getConfig().getString("MOTD"));
    38. world.setTime(1);
    39. break;
    40. }else Bukkit.broadcastMessage(ChatColor.GREEN + "[SleepNotify]" + ChatColor.DARK_BLUE + (player.getName()+ " Woke Up"));
    41.  
    42. break;
    43.  
    44. }
    45.  
    46. }
    47. }
    48.  


    Error Code
    Code:java
    1.  
    2. 04/05/2014 1:09:59 AM org.bukkit.event.EventException
    3. 04/05/2014 1:09:59 AMat org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    4. 04/05/2014 1:09:59 AMat org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    5. 04/05/2014 1:09:59 AMat org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:486) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    6. 04/05/2014 1:09:59 AMat org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:471) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    7. 04/05/2014 1:10:00 AMat net.minecraft.server.v1_7_R1.EntityHuman.a(EntityHuman.java:1149) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    8. 04/05/2014 1:10:00 AMat net.minecraft.server.v1_7_R1.EntityPlayer.a(EntityPlayer.java:526) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    9. 04/05/2014 1:10:00 AMat net.minecraft.server.v1_7_R1.WorldServer.d(WorldServer.java:249) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    10. 04/05/2014 1:10:00 AMat net.minecraft.server.v1_7_R1.WorldServer.doTick(WorldServer.java:180) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    11. 04/05/2014 1:10:00 AMat net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:629) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    12. 04/05/2014 1:10:00 AMat net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    13. 04/05/2014 1:10:00 AMat net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    14. 04/05/2014 1:10:00 AMat net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:451) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    15. 04/05/2014 1:10:00 AMat net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    16. 04/05/2014 1:10:00 AM Caused by: java.lang.NullPointerException
    17. 04/05/2014 1:10:00 AMat me.bukkit.kaif21.PlayerListener.onbedleave(PlayerListener.java:35) ~[?:?]
    18. 04/05/2014 1:10:00 AMat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_51]
    19. 04/05/2014 1:10:00 AMat sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_51]
    20. 04/05/2014 1:10:00 AMat sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_51]
    21. 04/05/2014 1:10:00 AMat java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_51]
    22. 04/05/2014 1:10:00 AMat org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:318) ~[craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    23. 04/05/2014 1:10:00 AM... 12 more
    24.  
     
  2. Offline

    NathanG_

    For future reference, please wrap your code within syntax tags, ex: [ syntax=java ][ /syntax ] (Remove spaces).
     
  3. Offline

    Tehmaker

    Well, your constructor is setup incorrectly......
     
  4. Offline

    ZodiacTheories

    kaif21

    Like NathanG_ said, please you the code format. I think the getConfig(); method belongs to the onEnable() or extends JavaPlugin, not sure which one. I know for sure that you need one of them.
     
  5. Offline

    Arfie99

    I see you have made an "instance" field in your plugin class, and you are calling the getConfig() on that field from your listener. However, you have never set the field anywhere, so it is still null (uninitialized). That is why you are getting a NullPointerException.
    Add the following line to your onEnable() method:
    Code:java
    1. plugin = this;


    EDIT: Oh by the way, there is no need for a constructor asking for a plugin instance in the listener. Where you need the plugin instance, you can just call SleepNotify.plugin
     
  6. Offline

    kaif21

    THNX Artie99 IT WORKED YAY!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    @Arfie99
     
  7. Offline

    mibac138

    Please change state to solved. (Thread Tools button - above your question (first post))
     
  8. Offline

    kaif21

Thread Status:
Not open for further replies.

Share This Page