Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Как выгрузить два дефолтных конфига?

Тема в разделе "Разработка плагинов для новичков", создана пользователем Mr_RoboMan, 30 май 2015.

  1. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    У меня есть два конфига:
    Код:
        private FileConfiguration configuration = getConfig();
        private File localizeConfigFile = new File(this.getDataFolder(), "localize.yml");
        private FileConfiguration localizeConfig = YamlConfiguration.loadConfiguration(localizeConfigFile);
    
    У меня в проекте прямо возле config.yml лежат эти два конфига (тип стандартные), как мне их выгрузить?
     
  2. Хостинг MineCraft
    <
  3. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    customConfig.save(configFile)
     
  4. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    configFile это java.io.File?
    А как мне в эту переменную получить файл внутри .jar?
     
  5. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    Вы хотите хранить конфиг внутри jar?
     
  6. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    Хранить нет, но именно достать его оттуда...
    customConfig.save(конфиг внутри .jar в onLoad())...
     
  7. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    Ну так выгружайте его в папку с конфигами и туда сохраняйте.
     
  8. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    Так как мне его выгрузить то?..
     
  9. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
  10. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    Метод saveDefaultConfig() сам найдет в плагине config.yml и переставит его в папку с плагином?
    И нет ли способа попроще с кастомным конфигом?..
     
  11. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    Что может быть проще, чем копипаст готовой функции?
     
  12. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Метод saveResourse()
     
  13. CraftCoder

    CraftCoder Старожил Пользователь

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    У меня есть такая вот штука:
    Код:
    public FileConfiguration loadConfigFile(String fileName){
            FileConfiguration config;
            if (!getDataFolder().exists()){
                getDataFolder().mkdirs();
            }
            File yamlFile = new File(getDataFolder(), fileName);
            if (!yamlFile.exists()){
                config = YamlConfiguration.loadConfiguration(this.getResource(fileName));
                try {
                    yamlFile.createNewFile();
                    config.save(yamlFile);
                } catch (IOException e) {
                    log.info("Error while creating file " + yamlFile.getName());
                }
                return config;
            } else return YamlConfiguration.loadConfiguration(yamlFile);
        }
       
        public void saveConfigFile(FileConfiguration config, String fileName){
            if (!getDataFolder().exists()){
                getDataFolder().mkdirs();
            }
            File yamlFile = new File(getDataFolder(), fileName);
            try {
                yamlFile.delete();
                yamlFile.createNewFile();
                config.save(yamlFile);
            } catch (IOException e) {
                log.info("Error while saving file " + yamlFile.getName());
            }
        }
    
    String fileName - полное имя конфига, например, "config.yml"
     
  14. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Боже.
     
  15. Автор темы
    Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    Вот я тоже хочу что-то намного покароче...
     
  16. CraftCoder

    CraftCoder Старожил Пользователь

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    И что тут не так?
     
  17. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Уже ничего. Свой вариант проверил со всеми приблудами, тоже много кода получилось :)
     
  18. CraftCoder

    CraftCoder Старожил Пользователь

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Просто у меня в плагине по 3-6 конфигов, поэтому использую такое.
     
  19. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Единственное не пойму, зачем в saveConfigFile удалять и заново создавать файл конфига перед сохранением?
    Сохранение итак полностью перезапишет файл.[DOUBLEPOST=1433097801,1433097709][/DOUBLEPOST]
    Если надо короче, то я уже предложил метод saveResource(String, boolean).
     
  20. CraftCoder

    CraftCoder Старожил Пользователь

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Не помню уже, что-то у меня не пересохранялось, вот и сделал для страховки.
     
  21. Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Гляньте тут, я тоже извлекаю разные .yml из .jar. workingDir — это plugin.getDataFolder().
     

Поделиться этой страницей