mirror of
https://github.com/FancyInnovations/FancyPlugins.git
synced 2025-12-06 07:43:36 +00:00
Move ConfigHelper to new config module and deprecate it
This commit is contained in:
@@ -1,16 +0,0 @@
|
||||
package de.oliver.fancylib;
|
||||
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
|
||||
public class ConfigHelper {
|
||||
|
||||
public static Object getOrDefault(FileConfiguration config, String path, Object defaultVal) {
|
||||
if (!config.contains(path)) {
|
||||
config.set(path, defaultVal);
|
||||
return defaultVal;
|
||||
}
|
||||
|
||||
return config.get(path);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
package de.oliver.fancylib.featureFlags;
|
||||
|
||||
public class FeatureFlag {
|
||||
|
||||
private final String name;
|
||||
private final String description;
|
||||
private boolean enabled;
|
||||
private final boolean forceDisabled;
|
||||
|
||||
public FeatureFlag(String name, String description, boolean forceDisabled) {
|
||||
this.name = name;
|
||||
this.description = description;
|
||||
this.forceDisabled = forceDisabled;
|
||||
this.enabled = false;
|
||||
}
|
||||
|
||||
public boolean isEnabled() {
|
||||
if(forceDisabled) return false;
|
||||
|
||||
return enabled;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public void setEnabled(boolean enabled) {
|
||||
this.enabled = enabled;
|
||||
}
|
||||
|
||||
public boolean isForceDisabled() {
|
||||
return forceDisabled;
|
||||
}
|
||||
}
|
||||
@@ -1,78 +0,0 @@
|
||||
package de.oliver.fancylib.featureFlags;
|
||||
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class FeatureFlagConfig {
|
||||
|
||||
private final Plugin plugin;
|
||||
private final File configFile;
|
||||
private final List<FeatureFlag> featureFlags;
|
||||
|
||||
public FeatureFlagConfig(Plugin plugin) {
|
||||
this.plugin = plugin;
|
||||
this.configFile = new File("plugins" + File.separator + plugin.getName() + File.separator + "featureFlags.yml");
|
||||
this.featureFlags = new ArrayList<>();
|
||||
}
|
||||
|
||||
public void load() {
|
||||
if (!configFile.exists()) {
|
||||
try {
|
||||
new File(configFile.getParent()).mkdirs();
|
||||
configFile.createNewFile();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
YamlConfiguration config = YamlConfiguration.loadConfiguration(configFile);
|
||||
|
||||
for (FeatureFlag featureFlag : featureFlags) {
|
||||
if (config.isSet("feature-flags." + featureFlag.getName())) {
|
||||
continue;
|
||||
}
|
||||
|
||||
config.set("feature-flags." + featureFlag.getName(), false);
|
||||
config.setInlineComments("feature-flags." + featureFlag.getName(), List.of(featureFlag.getDescription()));
|
||||
}
|
||||
|
||||
for (String flagName : config.getConfigurationSection("feature-flags").getKeys(false)) {
|
||||
boolean enabled = config.getBoolean("feature-flags." + flagName, false);
|
||||
FeatureFlag flag = getFeatureFlag(flagName);
|
||||
if (flag == null) {
|
||||
flag = new FeatureFlag(flagName, "", false);
|
||||
featureFlags.add(flag);
|
||||
}
|
||||
|
||||
flag.setEnabled(enabled);
|
||||
}
|
||||
|
||||
try {
|
||||
config.save(configFile);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public FeatureFlag getFeatureFlag(String name) {
|
||||
for (FeatureFlag featureFlag : featureFlags) {
|
||||
if (featureFlag.getName().equalsIgnoreCase(name.toLowerCase())) {
|
||||
return featureFlag;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public void addFeatureFlag(FeatureFlag featureFlag) {
|
||||
if (!featureFlags.contains(featureFlag)) {
|
||||
featureFlags.add(featureFlag);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user