Change config system to use Bukkit's implementation, optimize code (#2)

This commit is contained in:
DoNotSpamPls
2018-03-22 21:15:47 +02:00
committed by Ryan
parent 81aa39dfc6
commit a98f3cb366
22 changed files with 133 additions and 815 deletions

View File

@@ -20,22 +20,21 @@
*/
package me.clip.placeholderapi.expansion;
import me.clip.placeholderapi.PlaceholderAPI;
import me.clip.placeholderapi.PlaceholderAPIPlugin;
import me.clip.placeholderapi.PlaceholderHook;
import me.clip.placeholderapi.expansion.cloud.CloudExpansion;
import me.clip.placeholderapi.util.FileUtil;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.event.Listener;
import java.lang.reflect.Constructor;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import me.clip.placeholderapi.PlaceholderAPI;
import me.clip.placeholderapi.PlaceholderAPIPlugin;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.event.Listener;
import me.clip.placeholderapi.PlaceholderHook;
import me.clip.placeholderapi.expansion.cloud.CloudExpansion;
import me.clip.placeholderapi.util.FileUtil;
public final class ExpansionManager {
private PlaceholderAPIPlugin plugin;
@@ -78,38 +77,33 @@ public final class ExpansionManager {
if (c instanceof Configurable) {
Map<String, Object> defaults = ((Configurable) c).getDefaults();
String pre = "expansions." + c.getIdentifier() + ".";
FileConfiguration cfg = plugin.getConfig();
if (defaults != null && !defaults.isEmpty()) {
boolean save = false;
FileConfiguration cfg = plugin.getConfig();
boolean save = false;
for (Entry<String, Object> entries : defaults.entrySet()) {
if (entries.getKey() == null || entries.getKey().isEmpty()) {
continue;
}
if (entries.getValue() == null) {
if (cfg.contains(pre + entries.getKey())) {
save = true;
cfg.set(pre + entries.getKey(), null);
}
} else {
if (!cfg.contains(pre + entries.getKey())) {
save = true;
cfg.set(pre + entries.getKey(), entries.getValue());
}
}
for (Entry<String, Object> entries : defaults.entrySet()) {
if (entries.getKey() == null || entries.getKey().isEmpty()) {
continue;
}
if (save) {
plugin.saveConfig();
plugin.reloadConfig();
if (entries.getValue() == null) {
if (cfg.contains(pre + entries.getKey())) {
save = true;
cfg.set(pre + entries.getKey(), null);
}
} else {
if (!cfg.contains(pre + entries.getKey())) {
save = true;
cfg.set(pre + entries.getKey(), entries.getValue());
}
}
}
if (save) {
plugin.saveConfig();
plugin.reloadConfig();
}
}
if (c instanceof VersionSpecific) {

View File

@@ -20,16 +20,15 @@
*/
package me.clip.placeholderapi.expansion;
import java.util.List;
import me.clip.placeholderapi.PlaceholderAPI;
import me.clip.placeholderapi.PlaceholderAPIPlugin;
import me.clip.placeholderapi.PlaceholderHook;
import org.apache.commons.lang.Validate;
import org.bukkit.Bukkit;
import org.bukkit.configuration.ConfigurationSection;
import java.util.List;
public abstract class PlaceholderExpansion extends PlaceholderHook {
/**

View File

@@ -20,10 +20,10 @@
*/
package me.clip.placeholderapi.expansion.cloud;
import java.util.concurrent.TimeUnit;
import me.clip.placeholderapi.util.TimeUtil;
import java.util.concurrent.TimeUnit;
public class CloudExpansion {

View File

@@ -20,22 +20,9 @@
*/
package me.clip.placeholderapi.expansion.cloud;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import me.clip.placeholderapi.PlaceholderAPIPlugin;
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
import me.clip.placeholderapi.util.Msg;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
@@ -43,8 +30,11 @@ import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
import me.clip.placeholderapi.util.Msg;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.util.*;
public class ExpansionCloudManager {