file managements improvements

This commit is contained in:
SuperRonanCraft 2020-09-20 19:50:10 -04:00
parent f9ab7da980
commit 020fa52898
2 changed files with 25 additions and 19 deletions

View File

@ -4,9 +4,7 @@ import me.SuperRonanCraft.BetterRTP.Main;
import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File; import java.io.*;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -26,9 +24,9 @@ public class FileBasics {
public enum FILETYPE { public enum FILETYPE {
CONFIG("config"), ECO("economy"), SIGNS("signs"), EFFECTS("effects"); CONFIG("config"), ECO("economy"), SIGNS("signs"), EFFECTS("effects");
private String fileName; private final String fileName;
private YamlConfiguration config = new YamlConfiguration(); private final YamlConfiguration config = new YamlConfiguration();
private File file; private final File file;
FILETYPE(String str) { FILETYPE(String str) {
this.fileName = str + ".yml"; this.fileName = str + ".yml";
@ -50,7 +48,6 @@ public class FileBasics {
return config.getInt(path); return config.getInt(path);
} }
@SuppressWarnings("all")
public List<String> getStringList(String path) { public List<String> getStringList(String path) {
if (config.isList(path)) if (config.isList(path))
return config.getStringList(path); return config.getStringList(path);
@ -87,18 +84,27 @@ public class FileBasics {
//PROCCESSING //PROCCESSING
private void load() { private void load() {
if (!file.exists()) if (!file.exists()) {
Main.getInstance().saveResource(fileName, false); Main.getInstance().saveResource(fileName, false);
try { try {
config.load(file); config.load(file);
final InputStream defConfigStream = Main.getInstance().getResource(fileName); } catch (Exception e) {
if (defConfigStream != null) { e.printStackTrace();
config.setDefaults(YamlConfiguration.loadConfiguration(new InputStreamReader(defConfigStream))); }
config.options().copyDefaults(true); } else {
try {
config.load(file);
final InputStream in = Main.getInstance().getResource(fileName);
if (in != null) {
config.setDefaults(YamlConfiguration.loadConfiguration(new InputStreamReader(in)));
config.options().copyDefaults(true);
in.close();
}
Main.getInstance().saveDefaultConfig();
config.save(file);
} catch (Exception e) {
e.printStackTrace();
} }
config.save(file);
} catch (Exception e) {
e.printStackTrace();
} }
} }
} }

View File

@ -1,8 +1,8 @@
package me.SuperRonanCraft.BetterRTP.references.file; package me.SuperRonanCraft.BetterRTP.references.file;
public class Files { public class Files {
private LangFile langFile = new LangFile(); private final LangFile langFile = new LangFile();
private FileBasics basics = new FileBasics(); private final FileBasics basics = new FileBasics();
LangFile getLang() { LangFile getLang() {
return langFile; return langFile;