#java #bukkit
#java #буккит
Вопрос:
Я создал настройки локали таким образом, чтобы итальянский, английский, … Мне уже нужно было знать, как настроить предопределенную конфигурацию: я, очевидно, пробовал, как это делает каждый хороший человек, но я думаю, что это слишком неэффективно, я также пытался создавать файлы через IDE в том же месте, где файлы в папке данных создаются в OnEnable, но, очевидно, это не так работа, однако то, что я пытался сделать неэффективным, так это: customConfig.set("Hi-Message", "I'm sorry, i love you");
Комментарии:
1. …..Удар……
Ответ №1:
То, как я делаю это прямо сейчас, — это просто наличие файла конфигурации в самом исходном коде и, если файловая версия конфигурации еще не существует, создает новый конфигурационный файл, используя конфигурационный файл из скомпилированного исходного кода.
В моем onEnable
методе in Main
я просто вызываю метод в другом классе FileManager.setup()
.
Это выглядит примерно так в setup():
public static void setup() throws IOException {
File plugin_work_directory = new File(plugin_work_path);
core_server_config = new File(plugin_work_path "config.txt");
if (!plugin_work_directory.exists()) plugin_work_directory.mkdir();
if (!core_server_config.exists()) {
InputStream core_server_config_template = (Main.class.getResourceAsStream("/config.txt"));
Files.copy(core_server_config_template, Paths.get(plugin_work_path "config.txt"));
}
Config.load();
if (Integer.parseInt(Config.getValue("config.version")) < Config.version) {
core_server_config.delete();
InputStream core_server_config_template = (Main.class.getResourceAsStream("/config.txt"));
Files.copy(core_server_config_template, Paths.get(plugin_work_path "config.txt"));
}
Config.load();
}
Config.load()
анализирует значения в частной хэш-карте класса Config, благодаря чему другие классы могут ссылаться на хэш-карту с помощью String getValue(String string)
метода.