package com.iBaby;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.configuration.file.YamlConfiguration;
/**
* The class which shall handle the iBaby configuration
* @author steffengy
*
*/
public class Configuration {
/**
* The max amount of iron babys per player
*/
public static int max = 1;
/**
* Whether to enable support of vault
*/
public static boolean enablePrice = false;
/**
* Price of one iron Baby
*/
public static double price = 12000;
/**
* Loads the config entrys into the class
* @param config
*/
public static void init(File configF) {
YamlConfiguration config = YamlConfiguration.loadConfiguration(configF);
if(config.contains("max"))
max = config.getInt("max");
if(config.contains("enablePrice"))
enablePrice = config.getBoolean("enablePrice");
if(config.contains("price"))
price = config.getDouble("price");
}
/**
* Resets the values to default
*/
public static void resetDefaults() {
max = 1;
enablePrice = false;
price = 12000;
}
/**
* Creates the default config
* @param configFile
*/
public static void createDefaultOne(File configFile) {
List<String> defaultConfig = new ArrayList<String>();
defaultConfig.add("# Specifies how many iron babysitters a player can have");
defaultConfig.add("max : 1");
defaultConfig.add("# Specifies whether to enable economy support and price of iron baby");
defaultConfig.add("enablePrice : false");
defaultConfig.add("# Specifies how much a iron baby will cost");
defaultConfig.add("price: 12000");
try {
FileOutputStream write = new FileOutputStream(configFile);
for(String line : defaultConfig) {
new PrintStream(write).println(line);
}
write.close();
} catch (IOException e) {
iBaby.log("Error while writing into config!");
}
}
}