package me.asofold.bpl.simplyvanish.config.compatlayer;
import java.io.File;
import java.util.Map;
import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.MemoryConfiguration;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
public class NewConfig extends AbstractNewConfig{
public NewConfig(File file) {
super(file);
}
@Override
public void load(){
config = new MemoryConfiguration();
setOptions(config);
FileConfiguration cfg = YamlConfiguration.loadConfiguration(file);
setOptions(cfg);
addAll(cfg, config);
}
@Override
public boolean save(){
YamlConfiguration cfg = new YamlConfiguration();
setOptions(cfg);
addAll(config, cfg);
try{
cfg.save(file);
return true;
} catch (Throwable t){
return false;
}
}
@Override
public Map<String, Object> getValuesDeep() {
return config.getValues(true);
}
@Override
public void clear() {
setFile(file);
}
@Override
public String getYAMLString() {
final YamlConfiguration temp = new YamlConfiguration();
addAll(config, temp);
return temp.saveToString();
}
@Override
public boolean fromYamlString(String input) {
final YamlConfiguration temp = new YamlConfiguration();
try {
clear();
temp.loadFromString(input);
addAll(temp, config);
return true;
} catch (InvalidConfigurationException e) {
e.printStackTrace();
return false;
}
}
}