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

Стартап Помощь с конфигом

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

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

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

    Баллы:
    173
    Форумчане, вот я тут начал заниматься изучение java и наткнулся на такую проблему, как нормально создать плагин вместе с конфигом. Если есть какой-то умный человек объясните поочередно как создать плагин.
    Вот что я научился:
    - Создаем проект java,
    - Потом в папку src добавляем package,
    - Потом создаем в папке src файл plugin.yml,
    -
    Далее создаем главный класс, например main.java,
    -
    И начинаем заполнять фалы,
    plugin.yml:
    Код:
    name: <Название плагина>
    main: <Путь к главному классу>
    version: <Версия>
    author:  <Автор>
    description: <Описание плагина>
    ------=[Пример]=------
    name: test
    main:  testplugin.main
    version: 0.1
    author: TAB_mk
    description: Test plugin for Rubukkit.org
    main.java:
    Код:
    package Test; //Test - название главного package`a который вы создали в папке src
    
    public class main extends JavaPlugin implements Listener //main это название вашего главного класса например если у вас main.java то нужно вписать просто main
    {
        public void onEnable()
        {
            getLogger().info("Plugin Enable");
            Bukkit.getPluginManager().registerEvents(this , this); //Отображает в консоли включение плагина словами [Название плагина] Plugin Enable.
        }
        public void onDisable()
        {
            getLogger().info("Plugin Disable"); //Отображает в консоли выключение плагина словами [Название плагина] Plugin Disable.
        }
       
      {
    
      }
    }
    Потом можно добавлять события ,например @EventHandler, но на этом мои знания которые я получил за 2 дня исчерпываются.
    Просьба для тех людей кто прочитал все это, объясните как привязать config.yml к плагину.
    Заранее благодарю :nerd::)
     
    BeLkA нравится это.
  2. ptnk

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

    Баллы:
    173
    TAB_mk нравится это.
  3. Автор темы
    TAB_mk

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

    Баллы:
    173
    Я зеленый крабик который нифига не понимает :(
     
    BeLkA нравится это.
  4. ptnk

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

    Баллы:
    173
    Ну тогда страдай, читай учебник java, пытайся ковыряться в песочнице и что-нить делать.
     
    Den_Abr нравится это.
  5. konfyciu98

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

    Баллы:
    123
    Skype:
    wwwixelsor9
    Имя в Minecraft:
    konfyciu
    Код:
    package Test; //Test - название главного package`a который вы создали в папке src
    
    public class main extends JavaPlugin implements Listener //main это название вашего главного класса например если у вас main.java то нужно вписать просто main
    {
        FileConfiguration config;
        public void onEnable()
        {
            getLogger().info("Plugin Enable");//Отображает в консоли включение плагина словами [Название плагина] Plugin Enable.
            Bukkit.getPluginManager().registerEvents(this , this); //РЕГИСТРАЦИЯ ЭВЕНТОВ!
            config = getConfig();//Создаем пустой конфиг
        }
        public void onDisable()
        {
            getLogger().info("Plugin Disable"); //Отображает в консоли выключение плагина словами [Название плагина] Plugin Disable.
           saveConfig();//Сохраняем конфиг
        }
     
      {
    
      }
    }
    
    Лично я так делаю конфиги
     
    TAB_mk нравится это.
  6. makssof

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

    Баллы:
    103
    Начнём.
    -----===[Способ №1]===-----
    Код:
    FileConfiguration config; //Инициализируем переменную типа FileConfiguration
    int i; String s; boolean b; //Сюда будем получать значения
    
    public void onEnable(){
        config = getConfig();
        /*Если нет папки 'ИМЯПЛАГИНА', то создаёт её.
        * Если нет файла 'config.yml', то создаёт его.
        * Если и то, и то есть, то загружает файл 'config.yml'*/
        myFunc();//Обращаемся к нашей функции, которая получает значения из конфига.
    }
    
    public void myFunc(){
        i = config.getInt("ПУТЬ");
        s = config.getString("PATH");
        b = config.getBoolean("path.to.my.variable");
        /*Надеюсь, тут всё понятно. Типы могут быть любыми.*/
    
    public void onDisable(){
        saveConfig(); //Сохраняем конфиг.
    }
    }
    На счёт "ПУТЬ", "PATH", "path.to.my.variable":
    Если ты укажешь так, как в примере с получением boolean значения, то конфиг у тебя будет такой:
    Код:
    path:
      to:
        my:
          variable: true
    Каждая точка в пути означает что ты переходишь в другой раздел (в раздел ниже), который находится в разделе-родителе.
    "path.to.my.variable" - здесь, например, раздел-родитель для "to" - "path", для "variable" - "my".
    Хотя, правильнее будет их называть уровнями. Подуровни могут быть у уровней-родителей бесконечными. И первый уровень ("path.*") может быть тоже не один. Почитай про YAML.
    ------------------------------------
    Итак. Это был простой способ. Если надо, могу написать про способ который позволяет сохранять в файлы с другим именем. Но он, соответственно, сложнее.
    Если не трудно, поставь лайк - я старался))
     
    Hilgert и TAB_mk нравится это.
  7. Timings

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

    Баллы:
    88
    Имя в Minecraft:
    NextGeneric
    Для создания конфига нужно заранее знать, что в нем будет находиться.
    Конфиг содержит настройки, ну для примера, нам нужно задать сообщение при работе плагина.
    Пускай оно будет называться msgPerm .

    Объявляем переменную msgPerm.

    private String msgPerm = "у тебя нет прав на это.";


    Далее указываем метод, который будет создавать конфигурацию
    public void createIfNotExist() {
    File f = new File(getDataFolder(), "config.yml");

    if (!f.exists()) {
    YamlConfiguration config = new YamlConfiguration();
    Далее указываем то, что будет в конфиге.
    public void createIfNotExist() {
    File f = new File(getDataFolder(), "config.yml");

    if (!f.exists()) {
    YamlConfiguration config = new YamlConfiguration();

    config.set("msgPerm", msgPerm);
    Метод для перезагрузки плагина

    public void readConfig() {
    File f = new File(getDataFolder(), "config.yml");

    FileConfiguration config = new YamlConfiguration();
    try {
    config.load(f);
    } catch (IOException | InvalidConfigurationException e) {
    System.out.println(e.toString()); }
    Ну примерно так.
     
    TAB_mk нравится это.
  8. GodlikE

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

    Баллы:
    103
    Имя в Minecraft:
    GodlikE

    Вот понятный видеотутор=) Удачи=)
     
    Hilgert, serega6531 и TAB_mk нравится это.
  9. Автор темы
    TAB_mk

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

    Баллы:
    173
    Всем кто откликнулся спасибо :3
     
Статус темы:
Закрыта.

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