mirror of
https://github.com/RonanPlugins/BetterRTP.git
synced 2025-08-17 17:15:47 +00:00
file managements improvements
This commit is contained in:
parent
f9ab7da980
commit
020fa52898
@ -4,9 +4,7 @@ import me.SuperRonanCraft.BetterRTP.Main;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -26,9 +24,9 @@ public class FileBasics {
|
||||
public enum FILETYPE {
|
||||
CONFIG("config"), ECO("economy"), SIGNS("signs"), EFFECTS("effects");
|
||||
|
||||
private String fileName;
|
||||
private YamlConfiguration config = new YamlConfiguration();
|
||||
private File file;
|
||||
private final String fileName;
|
||||
private final YamlConfiguration config = new YamlConfiguration();
|
||||
private final File file;
|
||||
|
||||
FILETYPE(String str) {
|
||||
this.fileName = str + ".yml";
|
||||
@ -50,7 +48,6 @@ public class FileBasics {
|
||||
return config.getInt(path);
|
||||
}
|
||||
|
||||
@SuppressWarnings("all")
|
||||
public List<String> getStringList(String path) {
|
||||
if (config.isList(path))
|
||||
return config.getStringList(path);
|
||||
@ -87,15 +84,23 @@ public class FileBasics {
|
||||
|
||||
//PROCCESSING
|
||||
private void load() {
|
||||
if (!file.exists())
|
||||
if (!file.exists()) {
|
||||
Main.getInstance().saveResource(fileName, false);
|
||||
try {
|
||||
config.load(file);
|
||||
final InputStream defConfigStream = Main.getInstance().getResource(fileName);
|
||||
if (defConfigStream != null) {
|
||||
config.setDefaults(YamlConfiguration.loadConfiguration(new InputStreamReader(defConfigStream)));
|
||||
config.options().copyDefaults(true);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
} 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();
|
||||
@ -103,3 +108,4 @@ public class FileBasics {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
package me.SuperRonanCraft.BetterRTP.references.file;
|
||||
|
||||
public class Files {
|
||||
private LangFile langFile = new LangFile();
|
||||
private FileBasics basics = new FileBasics();
|
||||
private final LangFile langFile = new LangFile();
|
||||
private final FileBasics basics = new FileBasics();
|
||||
|
||||
LangFile getLang() {
|
||||
return langFile;
|
||||
|
Loading…
x
Reference in New Issue
Block a user