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

не работает save config

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

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

    artem2015 Участник

    Баллы:
    33
    Имя в Minecraft:
    admin
    если написать код в маин классе плугина:

    Код:
    File confFile = new File(this.getDataFolder(), "config.yml");
                    FileConfiguration conf = YamlConfiguration.loadConfiguration(confFile);
                    conf.set("arena_location", arena_location.toString());
                    try
                    {
                      conf.save(confFile);
                     
                    }
                    catch (IOException e) {
                      e.printStackTrace();
                    }
    то всё работает

    когда пытаюсь вынести запись в отдельный класс:

    Код:
    package game;
     
    import java.io.File;
    import java.io.IOException;
     
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.configuration.file.YamlConfiguration;
     
    public class Save_config {
        public main plugin;
       
        public void save(String name,String value)  {
           
     
        File confFile = new File(this.plugin.getDataFolder(), "config.yml");
        FileConfiguration conf = YamlConfiguration.loadConfiguration(confFile);
        conf.set(name,value);
        try
          {
          conf.save(confFile);
           
          }
            catch (IOException e) {
              e.printStackTrace();
            }
        }
     
    }
    то не работает и выдаёт в лог сервера ошибку:

    java.lang.NullPointerException
    at game.Save_config.save(Save_config.java:15)
    at game.main.Command(main.java:302)


    строка в которой выдаёт ошибку:

    File confFile = new File(this.plugin.getDataFolder(), "config.yml");

    вызываю этот класс из майна следующим образом:

    save_config.save("arena_location", arena_location.toString());

    в майне плугина этот класс объявлен следующим образом:

    public class main extends JavaPlugin implements Listener{

    public Save_config save_config = new Save_config();

    что я делаю не так?
     
  2. gamelax

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

    Баллы:
    103
    Имя в Minecraft:
    gamelax
    Понятным же языком написано. Значение у переменной "plugin" - null.
     
    slavik123123123 нравится это.
  3. ensirius

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

    Баллы:
    123
    При работе с баккит апи даже объект File не надо вызывать.
     
  4. Автор темы
    artem2015

    artem2015 Участник

    Баллы:
    33
    Имя в Minecraft:
    admin
    спасибо. заработало.

    просто хочется запись в файл сделать независимой от имени файла конфига.так как конфигов может быть несколько.
     
  5. GloomyFolken

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

    Баллы:
    103
    Skype:
    alconost
    http://wiki.bukkit.org/Configuration_API_Reference
    Раздел "Arbitrary Configurations" именно конфигам в своих файлах и посвящен.
     

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