148 lines
7.0 KiB
Java
148 lines
7.0 KiB
Java
package net.t2code.alias.Spigot.config.config;
|
|
|
|
import net.t2code.alias.Spigot.Main;
|
|
import net.t2code.alias.Spigot.enums.Confirm;
|
|
import net.t2code.alias.Util;
|
|
import net.t2code.t2codelib.SPIGOT.api.debug.T2Cdebug;
|
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2Creplace;
|
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
|
|
import net.t2code.t2codelib.SPIGOT.system.config.languages.SelectLibMsg;
|
|
import org.bukkit.Sound;
|
|
import org.bukkit.configuration.file.YamlConfiguration;
|
|
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
import java.util.ArrayList;
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
|
|
public class FileSelect {
|
|
|
|
public static void config() {
|
|
Convert.convert();
|
|
|
|
File config = new File(Main.getPath(), "config.yml");
|
|
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
|
for (Config value : Config.values()) {
|
|
switch (value.configParam) {
|
|
case STRING:
|
|
if (!yamlConfiguration.contains(value.path)) {
|
|
yamlConfiguration.set(value.path, value.value);
|
|
}
|
|
value.value = T2Creplace.replace(Util.getPrefix(), yamlConfiguration.getString(value.path));
|
|
break;
|
|
case SOUND:
|
|
if (!yamlConfiguration.contains(value.path)) {
|
|
yamlConfiguration.set(value.path, value.sound.toString());
|
|
}
|
|
try {
|
|
value.sound = Sound.valueOf(yamlConfiguration.getString(value.path));
|
|
} catch (Exception ex) {
|
|
T2Csend.console("§4\n§4\n§4\n" + SelectLibMsg.soundNotFound.replace("[prefix]", Util.getPrefix())
|
|
.replace("[sound]", "§8" + value.path + ": §6" + yamlConfiguration.getString(value.path)) + "§4\n§4\n§4\n");
|
|
}
|
|
break;
|
|
case BOOLEAN:
|
|
case INTEGER:
|
|
if (!yamlConfiguration.contains(value.path)) {
|
|
yamlConfiguration.set(value.path, value.value);
|
|
}
|
|
value.value = yamlConfiguration.get(value.path);
|
|
break;
|
|
|
|
case CONFIRMENUM:
|
|
if (!yamlConfiguration.contains(value.path)) {
|
|
yamlConfiguration.set(value.path, value.value.toString());
|
|
}
|
|
try {
|
|
value.value = Confirm.valueOf(yamlConfiguration.getString(value.path).toUpperCase());
|
|
} catch (Exception ex) {
|
|
value.value = Confirm.COMMAND;
|
|
T2Csend.console(("[prefix] <red>The value in the <gold>config.yml</gold> at the path <gold>[path]</gold> <aqua>([value])</aqua> must be one of these values!</red>" +
|
|
" <gray>COMMAND, CHAT, GUI</gray><br>[prefix] <blue>The default option COMMAND is used!</blue>")
|
|
.replace("[prefix]", Util.getPrefix()).replace("[path]", value.path).replace("[value]", yamlConfiguration.getString(value.path)));
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
try {
|
|
yamlConfiguration.save(config);
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
private static ArrayList<String> defaultLanguages = new ArrayList<>(Arrays.asList("german", "english"));
|
|
|
|
public static void language() {
|
|
long long_ = System.currentTimeMillis();
|
|
for (String language : defaultLanguages) {
|
|
File config = new File(Main.getPath(), "languages/" + language + ".yml");
|
|
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
|
for (Language value : Language.values()) {
|
|
if (!yamlConfiguration.contains(value.path)) {
|
|
switch (value.configParam) {
|
|
case STRING:
|
|
switch (language) {
|
|
case "german":
|
|
yamlConfiguration.set(value.path, value.german);
|
|
break;
|
|
case "english":
|
|
yamlConfiguration.set(value.path, value.english);
|
|
break;
|
|
}
|
|
break;
|
|
|
|
case LIST:
|
|
switch (language) {
|
|
case "german":
|
|
yamlConfiguration.set(value.path, value.germanList);
|
|
break;
|
|
case "english":
|
|
yamlConfiguration.set(value.path, value.englishList);
|
|
break;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
T2Cdebug.debug(Main.getPlugin(), "save: " + language);
|
|
try {
|
|
yamlConfiguration.save(config);
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
String selectMSG;
|
|
File config = new File(Main.getPath(), "languages/" + Config.language.value + ".yml");
|
|
T2Cdebug.debug(Main.getPlugin(), config.getAbsolutePath());
|
|
if (!config.isFile()) {
|
|
T2Csend.console(Util.getPrefix());
|
|
T2Csend.console(Util.getPrefix() + " §4!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
|
|
T2Csend.console(Util.getPrefix() + " §4The selected §c" + Config.language.value + " §4language file was not found.");
|
|
T2Csend.console(Util.getPrefix() + " §6The default language §eEnglish §6is used!");
|
|
T2Csend.console(Util.getPrefix() + " §4!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
|
|
T2Csend.console(Util.getPrefix());
|
|
config = new File(Main.getPath(), "languages/" + "english.yml");
|
|
selectMSG = "english";
|
|
} else selectMSG = (String) Config.language.value;
|
|
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
|
for (Language value : Language.values()) {
|
|
switch (value.configParam) {
|
|
case STRING:
|
|
T2Cdebug.debug(Main.getPlugin(), "Select: File: " + config.getName() + " Path: " + value.path);
|
|
value.value = T2Creplace.replace(Util.getPrefix(), yamlConfiguration.getString(value.path));
|
|
break;
|
|
|
|
case LIST:
|
|
T2Cdebug.debug(Main.getPlugin(), "Select: File: " + config.getName() + " Path: " + value.path);
|
|
value.valueList = T2Creplace.replace(Util.getPrefix(), (List<String>) yamlConfiguration.getList(value.path));
|
|
break;
|
|
}
|
|
}
|
|
T2Csend.console(Util.getPrefix() + " §2Language successfully selected to: §6" + selectMSG + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
|
}
|
|
|
|
}
|