1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Для чего нужны saveDefaultConfig() и config.addDefault()?

Тема в разделе "Разработка плагинов для новичков", создана пользователем php5master, 20 фев 2018.

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

    php5master Активный участник Пользователь

    Баллы:
    66
    Сижу, читаю документацию spigot`a. А тут какие непонятные методы какого-то Default-конфига. Объясните пожалуйста, для чего эти методы нужны?(Я про copyDefaults(), saveDefultConfig(), addDefault()). Как это всё робит?
     
  2. alexandrage

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

    Баллы:
    173
    saveDefultConfig() сохраняет из ресурсов.
    addDefault() добавляет дефлольтные ключи. this.getConfig().addDefault("casino", "777");
    copyDefaults? Не не слышал.
     
  3. Автор темы
    php5master

    php5master Активный участник Пользователь

    Баллы:
    66
    https://www.spigotmc.org/wiki/creating-a-config-file/
    Saving the config file

    Для чего нужны всё-таки дефолтные ключи? В чём разница, если я их просто в config.yml напишу?
     
  4. Nikolai_Faint

    Nikolai_Faint Активный участник Пользователь

    Баллы:
    96
    config.yml это и есть saveDefaultConfig();
    (Ток нужно в проджекте создать этот самый config.yml)
     
  5. Автор темы
    php5master

    php5master Активный участник Пользователь

    Баллы:
    66
    То есть разницы между самозаполнением конфига в IDE и методами DefaultConfig нету?
     
  6. Nikolai_Faint

    Nikolai_Faint Активный участник Пользователь

    Баллы:
    96
    Не совсем тебя понял но догадка есть.
    Если ты о том чтобы получать строки вручную, или заполнять в IDE то разницы нету.
     
  7. _MasterCapeXD_

    _MasterCapeXD_ Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    _MasterCapeXD_
    В любом случае, при использовании saveDefaultConfig() код выглядит чище.
     
  8. Nikolai_Faint

    Nikolai_Faint Активный участник Пользователь

    Баллы:
    96
    Это да, жалко ток нельзя создать к нему условие exists.
     
  9. _MasterCapeXD_

    _MasterCapeXD_ Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    _MasterCapeXD_
    Ты бобо? Он грузит, проверяя конфиг на существование... Если он и так есть, то он не заменяет его.
     
  10. Nikolai_Faint

    Nikolai_Faint Активный участник Пользователь

    Баллы:
    96
    Чего? Я про то что нельзя к saveDefaultConfig применить проверку на существование, и создать файл.
    (Наверное ты меня не так понял)
     
  11. _MasterCapeXD_

    _MasterCapeXD_ Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    _MasterCapeXD_
    А зачем это??
     
  12. Nikolai_Faint

    Nikolai_Faint Активный участник Пользователь

    Баллы:
    96
    Мне лень создавать config.yml (Можно конечно юзать File config = new File... и ставить туда YamlConfg, но мне и это лень)
     
  13. _MasterCapeXD_

    _MasterCapeXD_ Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    _MasterCapeXD_
    А че сложного? Project -> New -> File -> config.yml -> open with notepad++ -> setup config.
    onEnable() {this.saveDefaultConfig();}

    Лень... Лень потратить 10 секунд?
     
  14. Nikolai_Faint

    Nikolai_Faint Активный участник Пользователь

    Баллы:
    96
    Лень, а еще лень когда у тебя куча проджектов.
     
  15. _MasterCapeXD_

    _MasterCapeXD_ Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    _MasterCapeXD_
    [​IMG]
    [​IMG]
     
  16. Автор темы
    php5master

    php5master Активный участник Пользователь

    Баллы:
    66
    Я до сих пор бьюсь головой апстол... Какой код чище? нах зачем это нужно? Простыми словами в моём понимании эта дичь при отсутствии параметра добавляет его с дефолтным значением? Исправьте, если это не так.
    Ну вот и смысл шото тама строчить, если просто эти дефолтные значения можно записать в прожекте в config.yml?
     
  17. Cool_boy

    Cool_boy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Обычно этими штуками не пользуюсь, т.к. использую несколько конфигов. Но держи код saveDefaultConfig()
    Код:
    public void saveDefaultConfig() {
            if (!configFile.exists()) {
                saveResource("config.yml", false);
            }
        }
    
     

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