/** Saves the defaults and missing values. */ public void save() { if (!this.folder.exists()) { this.folder.mkdirs(); } if (!this.file.exists()) { try { this.file.createNewFile(); } catch (Exception e) { e.printStackTrace(); } } this.config = YamlConfiguration.loadConfiguration(this.file); for (Entry<String, Object> en : this.defaults.entrySet()) { if (!this.config.contains(en.getKey())) { ConfigUtils.setObject(this.config, en.getKey(), en.getValue()); } } try { this.config.save(this.file); } catch (Exception e) { e.printStackTrace(); } }
/** * Gets a permission from the config. * * @param path * @return permission */ public Permission getPermission(String path) { return ConfigUtils.getPermission(this.config.getConfigurationSection(path)); }
/** * Gets a random value from the config. * * @param path * @return randomValue */ public RandomValue getRandom(String path) { return ConfigUtils.getRandom(this.config.getConfigurationSection(path)); }