ChestShop-3/com/Acrobot/ChestShop/Config/ConfigObject.java
Acrobot e87f5f4f11 - Added a warning if spawn-radius isn't set to 0
- Deleted a few outdated plugins from built-in Register
- System.out -> System.err for errors
- Blocked buying if you're holding a sign in your hand (allows, for example, for sign editors to work)
- Updated Heroes package
- Fixed WG integration (no longer throws errors, but uses ugly workaround)
- Fixed a small bug in Register plugin loading message
- Removed version checking for OddItem, WorldGuard and LWC
2012-03-06 19:41:14 +01:00

89 lines
2.6 KiB
Java

package com.Acrobot.ChestShop.Config;
import com.Acrobot.ChestShop.ChestShop;
import com.Acrobot.ChestShop.Utils.uLongName;
import org.bukkit.configuration.Configuration;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File;
import java.io.FileWriter;
/**
* @author Acrobot
*/
public class ConfigObject {
private final File configFile = new File(ChestShop.folder, "config.yml");
private final File langFile = new File(ChestShop.folder, "local.yml");
private final YamlConfiguration config = YamlConfiguration.loadConfiguration(configFile);
private final YamlConfiguration language = YamlConfiguration.loadConfiguration(langFile);
public ConfigObject() {
if (!ChestShop.folder.exists()) ChestShop.folder.mkdir();
reloadConfig();
load(config, configFile);
reloadLanguage();
load(language, langFile);
uLongName.configFile = new File(ChestShop.folder, "longName.storage");
uLongName.config = YamlConfiguration.loadConfiguration(uLongName.configFile);
}
private void reloadConfig() {
for (Property def : Property.values()) {
if (config.get(def.name()) == null) {
writeToFile('\n' + def.name() + ": " + def.getValue() + "\n#" + def.getComment(), configFile);
}
}
}
private void reloadLanguage() {
for (Language def : Language.values()) {
if (language.get(def.name()) == null) {
writeToFile('\n' + def.name() + ": \"" + def.toString() + '\"', langFile);
}
}
}
private static void writeToFile(String string, File file) {
try {
FileWriter fw = new FileWriter(file, true);
fw.write(string);
fw.close();
} catch (Exception e) {
System.err.println("Couldn't write to file - " + file.getName());
}
}
public Configuration getLanguageConfig() {
return language;
}
public Object getProperty(String property) {
return config.get(property);
}
public static void load(FileConfiguration config, File file) {
try {
config.load(file);
} catch (Exception ex) {
ex.printStackTrace();
}
}
public static void save(FileConfiguration config, File file) {
try {
config.save(file);
} catch (Exception ex) {
ex.printStackTrace();
}
}
public static void reloadConfig(FileConfiguration config, File file) {
save(config, file);
load(config, file);
}
}