Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MainSettings extends YamlUtil {
- private static final MainSettings instance = new MainSettings();
- protected final Map<String, settingsData> settingsValues = new HashMap<>();
- @Override
- public void reload() {
- if (customConfigFile == null) {
- customConfigFile = new File(ChestStorage.getInstance().getDataFolder(), "settings.yml");
- customConfig = YamlConfiguration.loadConfiguration(customConfigFile);
- }
- if (!this.customConfigFile.exists()) {
- this.customConfigFile.getParentFile().mkdirs();
- ChestStorage.getInstance().saveResource("settings.yml", false);
- }
- try {
- this.customConfig = new YamlConfiguration();
- this.customConfig.load(this.customConfigFile);
- getSettingsYaml();
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
- @Override
- public FileConfiguration load() {
- if (customConfig == null) reload();
- return customConfig;
- }
- @Override
- protected void save() {
- if (customConfig == null || customConfigFile == null) {
- return;
- }
- try {
- load().save(customConfigFile);
- } catch (IOException ex) {
- ex.printStackTrace();
- }
- }
- public static MainSettings getInstance() {
- return instance;
- }
- protected void getSettingsYaml() {
- ConfigurationSection hopperLimitBlocksToCheck = customConfig.getConfigurationSection("HopperLimit.BlocksToCheck");
- ConfigurationSection HologramsContainers = customConfig.getConfigurationSection("Holograms");
- Map<String, Integer> listOfBlocksToCheck = new HashMap<>();
- Map<String, List<String>> containerList = new HashMap<>();
- System.out.println("testings");
- boolean generateFiles = customConfig.getBoolean("Files.Generate_Files");
- boolean hopperLimitEnable = customConfig.getBoolean("HopperLimit.Enable");
- int hopperLimitRadius = customConfig.getInt("HopperLimit.Radius");
- int hopperLimitRadiusHight = customConfig.getInt("HopperLimit.RadiusHight");
- for (String hopperkey : hopperLimitBlocksToCheck.getKeys(false)) {
- int hopperLimitAmountBlocksToCheck = customConfig.getInt("HopperLimit.BlocksToCheck." + hopperkey);
- listOfBlocksToCheck.put(hopperkey, hopperLimitAmountBlocksToCheck);
- System.out.println("HopperLimitBlocksToCheck" + hopperLimitAmountBlocksToCheck + " keys" + hopperkey);
- }
- int spawnHolograms = customConfig.getInt("Holograms.Spawn_Holograms");
- for (String containers : HologramsContainers.getKeys(false)) {
- List<String> hologramLore = customConfig.getStringList("Holograms." + containers);
- containerList.put(containers, hologramLore);
- }
- settingsValues.put("Settings", settingsData.of(generateFiles, listOfBlocksToCheck, hopperLimitEnable, hopperLimitRadiusHight, hopperLimitRadius, spawnHolograms, containerList));
- System.out.println(settingsValues.values());
- }
- static class settingsData {
- boolean generateFiles;
- boolean hopperLimitEnable;
- int hopperLimitRadius;
- int hopperLimitRadiusHight;
- Map<String, Integer> listOfBlocksToCheck;
- int spawnHolograms;
- Map<String, List<String>> containerList;
- public settingsData() {
- }
- public settingsData(boolean generateFiles, boolean hopperLimitEnable, int hopperLimitRadius, int hopperLimitRadiusHight, Map<String, Integer> listOfBlocksToCheck, int spawnHolograms, Map<String, List<String>> containerList) {
- this.generateFiles = generateFiles;
- this.hopperLimitEnable = hopperLimitEnable;
- this.hopperLimitRadius = hopperLimitRadius;
- this.hopperLimitRadiusHight = hopperLimitRadiusHight;
- this.listOfBlocksToCheck = listOfBlocksToCheck;
- this.spawnHolograms = spawnHolograms;
- this.containerList = containerList;
- }
- public SerializedMap serialize() {
- final SerializedMap map = new SerializedMap();
- map.put("GenerateFiles", this.generateFiles);
- map.put("HopperLimitEnable", this.hopperLimitEnable);
- map.put("HopperLimitRadius", this.hopperLimitRadius);
- map.put("HopperLimitRadiusHight", this.hopperLimitRadiusHight);
- map.put("HopperLimitAmountBlocksToCheck", this.listOfBlocksToCheck);
- map.put("spawnHolograms", this.spawnHolograms);
- map.put("containerList", this.containerList);
- return map;
- }
- public static settingsData of(boolean generateFiles, Map<String, Integer> listOfBlocksToCheck, boolean hopperLimitEnable, int hopperLimitRadius, int hopperLimitRadiusHight, int spawnHolograms, Map<String, List<String>> containerList) {
- final settingsData data = new settingsData();
- data.generateFiles = generateFiles;
- data.listOfBlocksToCheck = listOfBlocksToCheck;
- data.hopperLimitEnable = hopperLimitEnable;
- data.hopperLimitRadius = hopperLimitRadius;
- data.hopperLimitRadiusHight = hopperLimitRadiusHight;
- data.spawnHolograms = spawnHolograms;
- data.containerList = containerList;
- return data;
- }
- @Override
- public String toString() {
- return new FormattingMaps().toStringFormatted(serialize());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement