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

Помогите [Решено] Прошу совета по поводу config.yml

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

  1. ptnk

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

    Баллы:
    173
    А как мне тебя просвящать? Ты просил пример кода, а я тебе говорю, что подобное используется во многих плагинах. Всё что требуется - это поглядеть в их исходные коды.
    Уметь разобраться в чужом плагине - это основной навык разработчика.

    Ни одной темы здесь нет, потому, что я в состоянии пользоваться гуглом, случаются некоторые неприятности с плагинами у меня, но приходится надоедать парочке человек в личку.
     
    Последнее редактирование: 26 окт 2014
  2. Автор темы
    Korvinius

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

    Баллы:
    88
    Под отсутствием тем на rubukkit.org я подразумевал темы с релизами плагинов:

    [​IMG]
    А под опытом и просвещенностью я понимаю вот это:
    [​IMG]
    а не пустую болтовню.

    И вообще, это ветка форума для таких нубов как я, которые только начинают свои первые шаги в создании плагинов. А более опытные пользователи, если у них есть желание на то, обычно здесь отвечают на наши тупые вопросы, иногда помогают нам сделать эти первые шаги.
    Это конечно не имеет абсолютно никакого отношения, к тем "гениальным" личностям, которые самоутверждаются путем попыток унижения новичков, сами не понимая того, что этим унижают только себя. Так как большого ума не нужно для того, чтобы написать: "Берёшь плагины и декомпилируешь." или "я в состоянии пользоваться гуглом". А вот, для того, чтобы дать действительно полезный, практичный совет, уже нужно напрячь мозг. Если нет желания напрягать этот орган, зачем вообще лезть в темы к новичкам?
     
  3. ptnk

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

    Баллы:
    173
    Я занимаюсь мелкой подработкой по плагинам, конечно мне не интересно заниматься публичной деятельностью и что-то выкладывать на всеобщее использование. Очень странным образом происходит замер навыков у людей, т.е. своим мышлением и своим измерением опыта вы отсеяли часть людей, и я здесь не один такой, у кого нет ничего в публичном доступе, зато у меня всегда будет то, что можно пощупать и во что можно поиграть, в плагины с моим написанием и авторством.


    По поводу новичков. я презирую ленивые жопы и людей, который даже не пытаются что-то сделать сами
    Конечно, я буду самоутверждаться на таких. Программирование - это тебе не просто так, а это целое искуство, и если ты хочешь этим заниматься, то нужно к этому относиться серьёзно, а не ждать, пока тебе будут подавать информацию в удобоваримом виде.

    Одно дело, если бы ты пытался поглядеть в чужих плагинах, а другое дело, что ты берёшь и наглым образом просишь сделать это за тебя других.

    Так уж получается, что если человек не хочет сам разобраться в вопросе, а ждёт ответа у других, то у него гораздо хуже идёт освоение в программировании, я всегда готов дать и помочь советом, если человек долго и упорно что-то пытается сделать и у него ничего не получается.

    Сейчас тебе помогут советом, ещё раз помогут советом, ты нифиге ничего не поймешь и забудешь это, у тебя сложится мнение, что программирование - это просто, в итоге dev.bukkit наполняется всяким отборным гавном, как по содержанию, так и по коду. Не нужно так делать. Лучшие знания - это те, что добыл и получил сам, тогда они намерво вбиваются в голову, чем больше ты сам сможешь решить проблем - чем быстрее будет идти последующее обучение.

    Поэтому я считаю нормальным моё направление - начать понимать чужие плагины, смотреть чужой код и искать в них примеры, и по ним задавать какие-то вопросы по нюансам, которых нет в документации. С этим процесс освоения плагинописания будет идти гораздо быстрее.
     
    Последнее редактирование: 26 окт 2014
  4. Автор темы
    Korvinius

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

    Баллы:
    88
    Да забудь ты об этой теме, что тебе здесь медом намазано?!
     
  5. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Мы имеем точно такое же право напоминать вам о вашей же беспомощности так же, как и вы засоряете этот форум давно избитыми, рассмотренными на 1000 раз вопросами.
     
  6. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    @Korvinius, приведи свой текущий код и что в нём не работает. Продолжим разбираться.
     
  7. ptnk

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

    Баллы:
    173
    Ты облазил мой профиль, облазил все созданные мною темы, но при этом не нашёл темы по конфигам. И кто ты после этого?
    http://joxi.ru/Q2KnaB5S94kEmj

    И все возможные отсыки в другие темы, и видеоуроки, все уже было распрошено и разобрано. Тут попахивает не мёдом, а слабоумием.
     
  8. Автор темы
    Korvinius

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

    Баллы:
    88
    Да я и сам об этом знаю, если бы не признал этого, не создал бы этой темы вообще.
    да я уже почти со всем, что нужно в данный момент разобрался, пока подвис на прерывании цикла for при достижении конца конфига...
     
  9. aceJKE

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

    Баллы:
    123
    Что?:eek:
     
  10. Автор темы
    Korvinius

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

    Баллы:
    88
    ой, не перечитал, того, что написал, исправил)))
    Вот сам цикл (надеюсь не закидаете меня тапками, ведь еще 4 дня назад я не имел ни малейшего понятия о программировании):
    Код:
    // Процесс цыкла считывания конфига
        public void loadItemsConfig() {
        
            int i = 0;
    
            for ( ; equalsConfig(); i++) {
    
                itemsConfig = "items." + Integer.toString(i);
    
                configItemType = getConfig().getString(itemsConfig + "." + "itemType");
                configDisplayName = getConfig().getString(itemsConfig + "." + "itemDisplayName");
                configLore = getConfig().getString(itemsConfig + "." + "itemLore");
    
                configItem = configItemType + configDisplayName + configLore;
    
                equalsConfig();
            }
    
    // Сравнение результата считывания с данными getCursor()
        public boolean equalsConfig() {
    
            configItem.equals(clickItem);
            return false;
    
        }
    А вот сам конфиг:
    Код:
    items:
      1:
        itemType: DIAMOND_BLOCK
        itemDisplayName: null
        itemLore: null
      2:
        itemType: EMERALD_BLOCK
        itemDisplayName: null
        itemLore: null
      3:
        itemType: DIAMOND
        itemDisplayName: null
        itemLore: null
     
    Последнее редактирование: 27 окт 2014
  11. CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Давай сюда свой for и конфиг, что там может быть не понятно, уже все объяснили.
    Нужно делать через config.getKeys.
     
  12. Автор темы
    Korvinius

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

    Баллы:
    88
    Спасибо
     
  13. Hilgert

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

    Баллы:
    123
    Skype:
    mixa2258
    Имя в Minecraft:
    Hilgert
  14. Автор темы
    Korvinius

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

    Баллы:
    88
    Спасибо всем большое за помощь, не знаю правильно или нет, но благодаря вашим подсказкам я родил вполне работающий кусок кода:
    Код:
       
        public void loadItemsConfig() {
          
            String configItemType = null;
            String configDisplayName = null;
            String configLore = null;
          
            for (String key : getConfig().getConfigurationSection("items").getKeys(false)) {
    
                configItemType = getConfig().getString("items." + key + ".itemType");
                configDisplayName = getConfig().getString("items." + key + ".itemDisplayName");
                configLore = getConfig().getString("items." + key + ".itemLore");
    
                configItem = configItemType + " @ " + configDisplayName + " @ " + configLore;
                if (configItem.equals(clickItem)) {
                    equalsConfig();
                    break;
                }
              
            }
    

    Еще хотел бы уточнить (в общеобразовательных целях) вот как бы два варианта кусочка кода:
    первый
    Код:
            this.getConfig().options().copyDefaults(true).copyHeader(true);
    
            debug = this.getConfig().getBoolean("debug");
            creative = this.getConfig().getBoolean("creative");
    
    и второй
    Код:
            config = this.getConfig()
            config.options().copyDefaults(true).copyHeader(true);
    
            debug = config.getBoolean("debug");
            creative = config.getBoolean("creative");
    
    оба эти варианта по результату как бы идентичны, я как новичек, хотел бы уточнить, первый вариант, это как бы конфиг считывается каждый раз в ячейку памяти заново, а второй раз, я так понимаю, весь конфиг один раз передается в переменную и дальше плагин работает с этой переменной? Или я не правильно все понял?
    Ну и в результате, какой из этих вариантов более правильный?
     
    Последнее редактирование: 28 окт 2014
  15. ptnk

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

    Баллы:
    173
    без разницы, одно и тоже. если бы поставил бы плагин на декомпиляция и зашёл бы в метод getConfig, то понял бы, что конфиг каждый раз не перечитывается.
     
  16. Автор темы
    Korvinius

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

    Баллы:
    88
    спасибо за ответ
     

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