1

I have a problem with a java plugin. I want to create a File with name "spawns.yml" in a Folder with the name of the main class. So i have 2 Classes. The Main-Class called Tutorial:

import java.io.File;
public class Tutorial extends JavaPlugin
{
  private static Tutorial plugin;
  private File f;
  private FileConfiguration fc;
  public void onEnable()
  {
    f= YamlHandler.createFile("Spawns.yml");
    fc=YamlHandler.createYamlFile(f);
    YamlHandler.saveYamlFile(fc,f);
    plugin=this;
  }
  public static Tutorial getInstance()
  {
    return plugin;
  }
}

And the YamlHandler, where the problem is:

import java.io.File;
import java.io.IOException;

import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;

public class YamlHandler
{
    public static File createFile(String filename)
    {
        File dir=new File(Tutorial.getInstance().getDataFolder().getAbsolutePath()+File.separator+Tutorial.getInstance().toString());
        dir.mkdir();
        File f= new File(dir.getAbsolutePath() + File.separator + filename);
        if(!f.exists())
        {
            try {
                f.createNewFile();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        return f;
    }
    public static FileConfiguration createYamlFile(File f)
    {
        FileConfiguration fc= YamlConfiguration.loadConfiguration(f);

        return fc;
    }

    public static void saveYamlFile(FileConfiguration c,File f)
    {
        try {
            c.save(f);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}

The Exception says: java.lang.NullPointerException at YamlHandler.YamlHandler.createFile(YamlHandler.java:17)~[?:?]

which is this line:

File dir=new File(Tutorial.getInstance().getDataFolder().getAbsolutePath()+File.separator+Tutorial.getInstance().toString());`

Any ideas?

Scorix
  • 487
  • 6
  • 20

0 Answers0