Custom YML Files

Discussion in 'Plugin Help/Development/Requests' started by AsnoMigo, Jun 25, 2015.

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

    AsnoMigo

    Currently i am having a problem with only 1 line of code, at first i thought it was the variable my now my thoughts have turned to a defect in the method. Below is the class files that need to be looked at and the stacktace.

    Main.java:
    Code:
        public BlacklistConfig blacklistConfig;
       
        public Main(BlacklistConfig blacklistConfig) {
            this.blacklistConfig = blacklistConfig;
        }
       
        public Main() {
           
        }
       
        public void onEnable() {
            registerCommands();
            blacklistConfig.loadBlacklist();
        }
       
        public void onDisable() {
            blacklistConfig.saveBlacklist();
        }
    BlacklistConfig.java:
    Code:
        public Main plugin;
       
        public BlacklistConfig(Main plugin) {
            this.plugin = plugin;
        }
       
        public BlacklistConfig() {
           
        }
       
        public File blacklistConfig = new File(plugin.getDataFolder() + "Blacklist.yml");
        public FileConfiguration blacklistConfiguration = YamlConfiguration.loadConfiguration(blacklistConfig);
       
        public void saveBlacklist() {
            try {
                blacklistConfiguration.save(blacklistConfig);
            } catch (IOException e) {
                e.printStackTrace();
            } 
        }
       
        public void loadBlacklist() {
            if(!(blacklistConfig.exists())) {
                //Code was deleted here.
            }
           
            if(blacklistConfig.exists()) {
                try {
                    blacklistConfiguration.load(blacklistConfig);
                } catch(IOException e) {
                    e.printStackTrace();
                } catch (InvalidConfigurationException e) {
                    e.printStackTrace();
                }
            }
        }
    Stacktrace:
    Code:
    java.lang.NullPointerException
        at me.asnomigo.plugin.Main.onEnable(Main.java:19) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[craftbukkit_server.jar:git-Bukkit-e8c6403]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332) [craftbukkit_server.jar:git-Bukkit-e8c6403]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:404) [craftbukkit_server.jar:git-Bukkit-e8c6403]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:341) [craftbukkit_server.jar:git-Bukkit-e8c6403]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:313) [craftbukkit_server.jar:git-Bukkit-e8c6403]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.reload(CraftServer.java:721) [craftbukkit_server.jar:git-Bukkit-e8c6403]
        at org.bukkit.Bukkit.reload(Bukkit.java:543) [craftbukkit_server.jar:git-Bukkit-e8c6403]
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:25) [craftbukkit_server.jar:git-Bukkit-e8c6403]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:140) [craftbukkit_server.jar:git-Bukkit-e8c6403]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:621) [craftbukkit_server.jar:git-Bukkit-e8c6403]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchServerCommand(CraftServer.java:607) [craftbukkit_server.jar:git-Bukkit-e8c6403]
        at net.minecraft.server.v1_8_R3.DedicatedServer.aO(DedicatedServer.java:371) [craftbukkit_server.jar:git-Bukkit-e8c6403]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:336) [craftbukkit_server.jar:git-Bukkit-e8c6403]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:632) [craftbukkit_server.jar:git-Bukkit-e8c6403]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:540) [craftbukkit_server.jar:git-Bukkit-e8c6403]
        at java.lang.Thread.run(Unknown Source) [?:1.7.0_79]
     
  2. Moved to the universe of Alternate Bukkit's. And cats. But not dogs.
     
    AsnoMigo likes this.
  3. Offline

    Boomer

    You have two Main() constructors - one without, and one with arguments.
    Argument-based constructors dont work well in the JavaPlugin main class.

    Do the this.x = x stuff in your onEnable

    In your code, the Main() no argument constructor is called, the blacklistconfig object is never set, then during the onenable, bam goes the NPE as soon as it tries to dereference blacklistConfig.
    Assuming the error is on what would be line 13 or 17 in your snip - you didn't indicate where the error dump pointed to.
     
Thread Status:
Not open for further replies.

Share This Page