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

Конфигурационный файл всегда возвращается к стандартному

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

Статус темы:
Закрыта.
  1. Автор темы
    Dexel

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

    Баллы:
    76
    Вот отрывок из config.yml:
    Код:
    death: 10
    broadcast: true
    И вот код, считывающий параметр death:
    Код:
    try {
                death = Main.getDConfig().getInt("death");
            }
            catch (Exception e) {
                e.printStackTrace();
            }
            try {
                Main.getDConfig().save(Main.getConfigf());
            } catch (IOException e) {
                e.printStackTrace();
            }
    Использую два файла, поэтому метод getDConfig() возвращает config.yml класса FileConfiguration, а getConfigf() возвращает config.yml класса File. Сохраняющего кода нет.

    Тем не менее, при не то чтобы при перезагрузке плагина, а даже при повторном чтении данной переменной из файла, предварительно она сбрасывается на стандартное значение. Например, если я укажу параметру death значение 3, то после сохранения и повторного считывания значение возвращается к 10. И так с остальными параметрами, сохраняющего кода для которых так же нет.

    Помогите, пожалуйста.
     
  2. TheZefirrkka

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

    Баллы:
    76
    Код:
    //мой рабочий код.
    public void saveCfg() {
            try {
                config.save(File);
            }
            catch (IOException e) {
                e.printStackTrace();
            }
        }
     
  3. Автор темы
    Dexel

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

    Баллы:
    76
    File - это просто класс?
     
  4. TheZefirrkka

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

    Баллы:
    76
    Это твой File с конфигом, например File f = Путь...Config.yml));
     
  5. Автор темы
    Dexel

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

    Баллы:
    76
    Оно не работает.
     
  6. TheZefirrkka

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

    Баллы:
    76
    У меня работает.. Покажи свой File и Conf.File
     
  7. OsipXD

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

    Баллы:
    173
    Skype:
    osip.fatkullin
    Имя в Minecraft:
    OsipXD
    А у тебя правда с большой буквы имя переменной?
     
  8. xDark

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

    Баллы:
    96
    :D
     
  9. TheZefirrkka

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

    Баллы:
    76
    nea
    А я разве писал так??
     
  10. Автор темы
    Dexel

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

    Баллы:
    76
    Код:
    configf = new File(getDataFolder(), "config.yml");
    
    config = new YamlConfiguration();

    Очень странно, но мне помогло при включении плагина сохранять конфиг всего лишь один раз, а не для каждого значения.
    Всем спасибо, тема закрыта.
     
Статус темы:
Закрыта.

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