public class ConfigFactory { private File file; private FileConfiguration config; public ConfigFactory(String fileName) { createCustomConfig(fileName); } public void createCustomConfig(String fileName) { file = new File(Kingdoms.getInstance().getDataFolder(), fileName); if (!file.exists()) { file.getParentFile().mkdirs(); saveConfiguration(); } config = new YamlConfiguration(); try { config.load(file); } catch (IOException | InvalidConfigurationException exception) { exception.printStackTrace(); } } public void saveConfiguration() { try { config.save(file); } catch (IOException exception) { exception.printStackTrace(); } } public void reloadConfiguration() { try { config.load(file); } catch (IOException | InvalidConfigurationException exception) { exception.printStackTrace(); } } public FileConfiguration getConfig() { return config; } public File getFile() { return file; } }