Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

Статус
Закрыто для дальнейших ответов.

TAB_mk

Старожил
Пользователь
Баллы
173
Имя в Minecraft
TAB_mk
Форумчане, вот я тут начал заниматься изучение 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::)
 
Код:
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();//Сохраняем конфиг
    }
 
  {

  }
}
Лично я так делаю конфиги
 
Начнём.
-----===[Способ №1]===-----
Java:
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 значения, то конфиг у тебя будет такой:
YAML:
path:
  to:
    my:
      variable: true
Каждая точка в пути означает что ты переходишь в другой раздел (в раздел ниже), который находится в разделе-родителе.
"path.to.my.variable" - здесь, например, раздел-родитель для "to" - "path", для "variable" - "my".
Хотя, правильнее будет их называть уровнями. Подуровни могут быть у уровней-родителей бесконечными. И первый уровень ("path.*") может быть тоже не один. Почитай про YAML.
------------------------------------
Итак. Это был простой способ. Если надо, могу написать про способ который позволяет сохранять в файлы с другим именем. Но он, соответственно, сложнее.
Если не трудно, поставь лайк - я старался))
 
Для создания конфига нужно заранее знать, что в нем будет находиться.
Конфиг содержит настройки, ну для примера, нам нужно задать сообщение при работе плагина.
Пускай оно будет называться 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()); }
Ну примерно так.
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх