All source projects
MrUltimateLibrary Source
Standalone source project / 68 files
MrUltimateLibrary is the backbone of all my plugins; it offers features that facilitate plugin creation, maintenance, and updates.
java
MrUltimateLibrary/src/main/java/eu/mrneznamy/mrultimatelibrary/config/MrLibConfigReader.java
JAVA · Read-only source
package eu.mrneznamy.mrultimatelibrary.config;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.FileConfiguration;
import java.util.List;
/**
* Utility to read configuration values from both new flat format and old nested format.
*/
public class MrLibConfigReader {
private final String pluginName;
private final FileConfiguration config;
public MrLibConfigReader(String pluginName, FileConfiguration config) {
this.pluginName = pluginName;
this.config = config;
}
public String getString(String path) {
return getString(path, null);
}
public String getString(String path, String def) {
if (config.contains(path) && !config.isConfigurationSection(path)) return config.getString(path, def);
String[] roots = {pluginName + ".", pluginName + ".config.", pluginName + ".Config."};
for (String root : roots) {
if (config.contains(root + path)) return config.getString(root + path, def);
}
return def;
}
public int getInt(String path, int def) {
if (config.contains(path) && !config.isConfigurationSection(path)) return config.getInt(path, def);
String[] roots = {pluginName + ".", pluginName + ".config.", pluginName + ".Config."};
for (String root : roots) {
if (config.contains(root + path)) return config.getInt(root + path, def);
}
return def;
}
public boolean getBoolean(String path, boolean def) {
if (config.contains(path) && !config.isConfigurationSection(path)) return config.getBoolean(path, def);
String[] roots = {pluginName + ".", pluginName + ".config.", pluginName + ".Config."};
for (String root : roots) {
if (config.contains(root + path)) return config.getBoolean(root + path, def);
}
return def;
}
public double getDouble(String path, double def) {
if (config.contains(path) && !config.isConfigurationSection(path)) return config.getDouble(path, def);
String[] roots = {pluginName + ".", pluginName + ".config.", pluginName + ".Config."};
for (String root : roots) {
if (config.contains(root + path)) return config.getDouble(root + path, def);
}
return def;
}
public List<String> getStringList(String path) {
if (config.contains(path) && !config.isConfigurationSection(path)) return config.getStringList(path);
String[] roots = {pluginName + ".", pluginName + ".config.", pluginName + ".Config."};
for (String root : roots) {
if (config.contains(root + path)) return config.getStringList(root + path);
}
return config.getStringList(path);
}
public ConfigurationSection getConfigurationSection(String path) {
if (path == null || path.isEmpty()) {
if (config.isConfigurationSection(pluginName)) return config.getConfigurationSection(pluginName);
String[] roots = {pluginName + ".config", pluginName + ".Config"};
for (String root : roots) {
if (config.isConfigurationSection(root)) return config.getConfigurationSection(root);
}
return config;
}
if (config.isConfigurationSection(path)) return config.getConfigurationSection(path);
String[] roots = {pluginName + ".", pluginName + ".config.", pluginName + ".Config."};
for (String root : roots) {
if (config.isConfigurationSection(root + path)) return config.getConfigurationSection(root + path);
}
return null;
}
public ConfigurationSection getSection(String path) {
return getConfigurationSection(path);
}
public boolean contains(String path) {
if (config.contains(path)) return true;
String[] roots = {pluginName + ".", pluginName + ".config.", pluginName + ".Config."};
for (String root : roots) {
if (config.contains(root + path)) return true;
}
return false;
}
}
115 linesGNU GENERAL PUBLIC LICENSE · Version 3, 29 June 2007 · UTF-8 · Read only