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

redacted

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

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

    MrTerf Активный участник

    Баллы:
    66
    redacted
     
    Последнее редактирование: 11 июл 2023
  2. Exception_Prototype

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

    Баллы:
    96
    Зачем вручную получать дефолтный конфиг?
    main#getConfig() для кого делали?
    Где вы такие туториалы берёте, что вас учат работать с эвентами не научив работать с конфигами(хотя бы дефолтными).
     
  3. kefavova

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

    Баллы:
    76
    Имя в Minecraft:
    Afek
    Такого файла не существует. И вообще пользуются так:
    Код:
        Main main; public JobEvents(Main main) { main = this.main; }
    
        @EventHandler
        public void onPlayerJoin(PlayerJoinEvent e) {
            File conf = new File(main.getDataFolder() + "config.yml");
            if(conf.exists()) {
                Inventory jobsList = Bukkit.createInventory(e.getPlayer(), 56, "123");
                e.getPlayer().openInventory(jobsList);
            }
        }
     
  4. kefavova

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

    Баллы:
    76
    Имя в Minecraft:
    Afek
    Он не получишь конфиг, а NPE. Ему надо проверить существует он или нет.
     
  5. kefavova

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

    Баллы:
    76
    Имя в Minecraft:
    Afek
    Скинь Main, а дальше посмотрим
     
  6. kefavova

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

    Баллы:
    76
    Имя в Minecraft:
    Afek
    Немного изменил. Main:
    Код:
    import org.bukkit.Bukkit;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Main extends JavaPlugin {
    
    public void onEnable() {
    // 
    saveConfig();
    getCommand("job").setExecutor(new Job());
    Bukkit.getPluginManager().registerEvents(new JobEvents(this), this);
    }
    
    public void onDisable() {
    
       }
    }
     
  7. Nikolai_Faint

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

    Баллы:
    96
    щас бы юзать onDisable когда он не нужен. (и давать такие полезные советы,ммм)
    В onEnable saveDefaultConfig();
    (Надеюсь записывать/брать/добавлять в кфг умеешь)
     
  8. Nikolai_Faint

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

    Баллы:
    96
    Ясно, я хоть попытаюсь. saveDefaultConfig info
     
  9. Exception_Prototype

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

    Баллы:
    96
    Уважаемый, ты не написал, что тебе это надо для кастом конфигов.
    Я, не зная этого, указал на более правильное решение увидев config.yml.
    И, пожалуй тебе, я уже помогать не стану.
     
  10. Exception_Prototype

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

    Баллы:
    96
    сеператор кто ставить будет? Тогда так делай:
    PHP:
    File conf = new File(main.getDataFolder(), "config.yml");
     
  11. Nikolai_Faint

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

    Баллы:
    96
    Господи, он хочет сделать обычный config.yml, вот только не знает об элементарном. Пусть почитает доки.
     
  12. Nikolai_Faint

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

    Баллы:
    96
    Вот тебе пример кастома:
    PHP:
    //Путь
    package you.package.example.test;

    //Импорты, не столь обращай на них внимание
    import java.io.*
    import org.bukkit.*
    import org.bukkit.configuration.file.*;

    //Имя класса, а так же его тип
    public class Config {
     
       
    //Создаем и указываем файл
       
    File customFile = new File("customfolder/customfile.yml");
       
    //Присваиваем customFile свойства конфига (т.е грузим его как кфг)
       
    static customConfig YamlConfiguration.loadConfiguration(customFile);
       
    //Создавать конструктор для глупых, я буду статик
       //Статичный метод для того чтобы взять конфиг
       
    public static FileConfiguration getCustomConfig()
       {
        
    //Если мы используем метод он будет возвращать конфиг
         
    return customConfig;
       }

    }
    PHP:
    //Путь
    package you.package.example.test;

    //Импорты, не столь обращай на них внимание
    import static you.package.example.test.Config.*;

    //Имя класса, а так же его тип
    public class Listener {
      
    //Статичный метод который будем использовать если нужно создать конфиг
      
    public static void load()
      {
       
    //Если конфига не существует
        
    if (!customFile.exists())
        {
         
    //Обработка ошибок
           
    try {
          
    //Создаем файл
           
    customFile.createNewFile();
            } catch (
    IOException e) {
              
    //Выводим ошибку
               
    e.printStackTrace();
           }
      }
      
    //Статичный метод который будем использовать если нужно сохранить конфиг
      
    public static void save()
      {
       
    //Обработка ошибок
        
    try {
           
    //Сохраняем файл
           
    getCustomConfig().save(customFile);
       } catch (
    IOException ex) {
          
    //Выводим ошибку
           
    e.printStackTrace();
      }

    }
    PHP:
    //Путь
    package you.package.example.test;

    //Импорты, не столь обращай на них внимание
    import static you.package.example.test.Listener.*;

    //Имя класса, а так же его тип + Здесь мы унаследовали JavaPlugin. 
    public class Main extends JavaPlugin {

        @
    Override
        
    //Метод onEnable, используется при включении плагина.
        
    public void onEnable()
        {
           
    //Исполняем наш метод загрузки
            
    load();
        }

    }
     
    Последнее редактирование: 13 авг 2018
Статус темы:
Закрыта.

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