package net.ess3.signs; import java.io.File; import java.util.*; import net.ess3.api.IEssentials; import net.ess3.storage.AsyncStorageObjectHolder; import org.bukkit.plugin.Plugin; public class SignsConfigHolder extends AsyncStorageObjectHolder { private final Plugin plugin; private Set enabledSigns = new HashSet(); private boolean signsEnabled = false; public SignsConfigHolder(final IEssentials ess, final Plugin plugin) { super(ess, SignConfig.class, new File(plugin.getDataFolder(), "signs.yml")); this.plugin = plugin; onReload(); final Map signs = getData().getSigns(); for (Map.Entry entry : signs.entrySet()) { if (entry.getKey().trim().toUpperCase(Locale.ENGLISH).equals("COLOR") || entry.getKey().trim().toUpperCase(Locale.ENGLISH).equals("COLOUR")) { signsEnabled = true; continue; } final Signs sign = Signs.valueOf(entry.getKey().toUpperCase(Locale.ENGLISH)); if (sign != null && entry.getValue()) { enabledSigns.add(sign.getSign()); signsEnabled = true; } } final Map signs2 = new HashMap(); for (Signs sign : Signs.values()) { signs2.put(sign.toString(), enabledSigns.contains(sign.getSign())); } getData().setSigns(signs2); queueSave(); } public Set getEnabledSigns() { return enabledSigns; } public boolean areSignsDisabled() { return !signsEnabled; } }