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?