Solved Error in my plugin

Discussion in 'Plugin Development' started by Pik0, Apr 5, 2014.

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

    Pik0

    Hello guys, i was developing my minigame when i came up with some problems:

    Error:
    Code:java
    1. Error occurred while enabling FlappySteve v1.0.0 (Is it up to date?)
    2. at com.jacintomc.dev.piko.flappysteve.config.ConfigHandler.reloadArenasConfig(ConfigHandler.java:29) ~[?:?]
    3. at com.jacintomc.dev.piko.flappysteve.FlappySteve.onEnable(FlappySteve.java:53) ~[?:?]
    4. at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:250) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    5. at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:324) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    6. at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:404) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    7. at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugin(CraftServer.java:439) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    8. at org.bukkit.craftbukkit.v1_7_R1.CraftServer.enablePlugins(CraftServer.java:375) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    9. at org.bukkit.craftbukkit.v1_7_R1.CraftServer.reload(CraftServer.java:773) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    10. at org.bukkit.Bukkit.reload(Bukkit.java:279) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    11. at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:23) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    12. at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:175) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    13. at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServer.java:683) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    14. at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchServerCommand(CraftServer.java:670) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    15. at net.minecraft.server.v1_7_R1.DedicatedServer.aw(DedicatedServer.java:286) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    16. at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:251) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    17. at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    18. at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    19. at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]


    Ok and i checked ConfigHandler line 29 and Main class line 53:

    Code:java
    1. private static FileConfiguration arenasConfig = null;
    2. private static File arenasConfigFile = null;
    3.  
    4. public static void reloadArenasConfig() {
    5. if (arenasConfigFile == null) {
    6. arenasConfigFile = new File(plugin.getDataFolder(), "arenas.yml");
    7. }
    8. arenasConfig = YamlConfiguration.loadConfiguration(arenasConfigFile);
    9.  
    10. // Look for defaults in the jar
    11. InputStream defConfigStream = plugin.getResource("arenas.yml");
    12. if (defConfigStream != null) {
    13. YamlConfiguration defConfig = YamlConfiguration
    14. .loadConfiguration(defConfigStream);
    15. arenasConfig.setDefaults(defConfig);
    16. }
    17. }


    Code:java
    1. ConfigHandler.reloadArenasConfig();


    I cant find a way to fix it, if someone could help me i would appreciate
     
  2. Offline

    Heirteir

    Pik0
    can we see all the code?
     
  3. Offline

    St3venAU

    You didnt show which line is line 29
     
  4. Offline

    Pik0

    line 29
    Code:java
    1. arenasConfigFile = new File(plugin.getDataFolder(), "arenas.yml");
     
  5. Offline

    St3venAU

    I cant see the problem there. Can you post the whole ConfigHandler class and the line from your main class where you create an instance of the ConfigHandler class.
     
  6. Offline

    Pik0

    St3venAU i use static methods, so i dont need to setup instances, my ConfigHandler is:
    Code:java
    1. package com.jacintomc.dev.piko.flappysteve.config;
    2.  
    3. import java.io.File;
    4. import java.io.IOException;
    5. import java.io.InputStream;
    6. import java.util.logging.Level;
    7.  
    8. import org.bukkit.configuration.file.FileConfiguration;
    9. import org.bukkit.configuration.file.YamlConfiguration;
    10.  
    11. import com.jacintomc.dev.piko.flappysteve.FlappySteve;
    12.  
    13. public class ConfigHandler {
    14.  
    15. private static FlappySteve plugin;
    16. private static FileConfiguration arenasConfig = null;
    17. private static File arenasConfigFile = null;
    18. private static FileConfiguration languageConfig = null;
    19. private static File languageConfigFile = null;
    20. private static FileConfiguration mainConfig = null;
    21. private static File mainConfigFile = null;
    22. private static FileConfiguration statsConfig = null;
    23. private static File statsConfigFile = null;
    24.  
    25. public static ConfigHandler instance;
    26.  
    27. public static void reloadArenasConfig() {
    28. if (arenasConfigFile == null) {
    29. arenasConfigFile = new File(plugin.getDataFolder(), "arenas.yml");
    30. }
    31. arenasConfig = YamlConfiguration.loadConfiguration(arenasConfigFile);
    32.  
    33. // Look for defaults in the jar
    34. InputStream defConfigStream = plugin.getResource("arenas.yml");
    35. if (defConfigStream != null) {
    36. YamlConfiguration defConfig = YamlConfiguration
    37. .loadConfiguration(defConfigStream);
    38. arenasConfig.setDefaults(defConfig);
    39. }
    40. }
    41.  
    42. public static void reloadLangConfig() {
    43. if (languageConfigFile == null) {
    44. languageConfigFile = new File(plugin.getDataFolder(), "lang.yml");
    45. }
    46. languageConfig = YamlConfiguration
    47. .loadConfiguration(languageConfigFile);
    48.  
    49. // Look for defaults in the jar
    50. InputStream defConfigStream = plugin.getResource("lang.yml");
    51. if (defConfigStream != null) {
    52. YamlConfiguration defConfig = YamlConfiguration
    53. .loadConfiguration(defConfigStream);
    54. languageConfig.setDefaults(defConfig);
    55. }
    56. }
    57.  
    58. public static void reloadMainConfig() {
    59. if (mainConfigFile == null) {
    60. mainConfigFile = new File(plugin.getDataFolder(), "config.yml");
    61. }
    62. mainConfig = YamlConfiguration.loadConfiguration(mainConfigFile);
    63.  
    64. // Look for defaults in the jar
    65. InputStream defConfigStream = plugin.getResource("config.yml");
    66. if (defConfigStream != null) {
    67. YamlConfiguration defConfig = YamlConfiguration
    68. .loadConfiguration(defConfigStream);
    69. mainConfig.setDefaults(defConfig);
    70. }
    71. }
    72.  
    73. public static void reloadStatsConfig() {
    74. if (statsConfigFile == null) {
    75. statsConfigFile = new File(plugin.getDataFolder(), "stats.yml");
    76. }
    77. statsConfig = YamlConfiguration.loadConfiguration(statsConfigFile);
    78.  
    79. // Look for defaults in the jar
    80. InputStream defConfigStream = plugin.getResource("stats.yml");
    81. if (defConfigStream != null) {
    82. YamlConfiguration defConfig = YamlConfiguration
    83. .loadConfiguration(defConfigStream);
    84. statsConfig.setDefaults(defConfig);
    85. }
    86. }
    87.  
    88. public static FileConfiguration getArenasConfig() {
    89. if (arenasConfig == null) {
    90. reloadArenasConfig();
    91. }
    92. return arenasConfig;
    93. }
    94.  
    95. public static FileConfiguration getLangConfig() {
    96. if (languageConfig == null) {
    97. reloadArenasConfig();
    98. }
    99. return languageConfig;
    100. }
    101.  
    102. public static FileConfiguration getMainConfig() {
    103. if (mainConfig == null) {
    104. reloadArenasConfig();
    105. }
    106. return mainConfig;
    107. }
    108.  
    109. public static FileConfiguration getStatsConfig() {
    110. if (statsConfig == null) {
    111. reloadArenasConfig();
    112. }
    113. return statsConfig;
    114. }
    115.  
    116. public static void saveArenasConfig() {
    117. if (arenasConfig == null || arenasConfigFile == null) {
    118. return;
    119. }
    120. try {
    121. getArenasConfig().save(arenasConfigFile);
    122. } catch (IOException ex) {
    123. plugin.getLogger().log(Level.SEVERE,
    124. "Could not save config to " + arenasConfigFile, ex);
    125. }
    126. }
    127.  
    128. public static void saveLangConfig() {
    129. if (languageConfig == null || languageConfigFile == null) {
    130. return;
    131. }
    132. try {
    133. getArenasConfig().save(languageConfigFile);
    134. } catch (IOException ex) {
    135. plugin.getLogger().log(Level.SEVERE,
    136. "Could not save config to " + languageConfigFile, ex);
    137. }
    138. }
    139.  
    140. public static void saveMainConfig() {
    141. if (mainConfig == null || mainConfigFile == null) {
    142. return;
    143. }
    144. try {
    145. getArenasConfig().save(mainConfigFile);
    146. } catch (IOException ex) {
    147. plugin.getLogger().log(Level.SEVERE,
    148. "Could not save config to " + mainConfigFile, ex);
    149. }
    150. }
    151.  
    152. public static void saveStatsConfig() {
    153. if (statsConfig == null || statsConfigFile == null) {
    154. return;
    155. }
    156. try {
    157. getArenasConfig().save(statsConfigFile);
    158. } catch (IOException ex) {
    159. plugin.getLogger().log(Level.SEVERE,
    160. "Could not save config to " + statsConfigFile, ex);
    161. }
    162. }
    163.  
    164. }
    165.  
     
  7. Offline

    St3venAU

    You are getting the error because plugin is null. You declare it, but never set it as anything.
     
  8. Offline

    Wolfey

    St3venAU You didn't need the whole code to find out that the plugin variable was null, that was the only possible variable that could be null.
     
  9. Offline

    Pik0

    St3venAU Wolfey
    so i must do
    Code:java
    1. private FlappySteve plugin;
    2.  
    3. public ConfigHandler(FlappySteve p){
    4. this.plugin = plugin;
    5. }


    and initialize it on the main plugin?

    Code:java
    1. private ConfigHandler ch;
    2.  
    3. public void onEnable(){
    4. ch = new ConfigHandler(this);
    5. }


    like this?
     
  10. Offline

    Wolfey

  11. Offline

    Pik0

Thread Status:
Not open for further replies.

Share This Page