Войти или зарегистрироваться

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

Ну, раз так, то я прошу прощения, меня ввело в заблуждение отсутствие тем с плагинами здесь. Хотя Ваша просвещенность меня ни на шаг не приблизила к решению проблемы, поэтому, если не желаете помогать, прошу не флудить.
Так, я понял как мне это реализовать, только прошу еще одну подсказку, какое условие нужно включить в оператор "for ()", чтобы он прерывался когда достигнут конец конфига?

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

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

Ни одной темы здесь нет, потому, что я в состоянии пользоваться гуглом, случаются некоторые неприятности с плагинами у меня, но приходится надоедать парочке человек в личку.

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

.png

А под опытом и просвещенностью я понимаю вот это:
2.png

а не пустую болтовню.

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

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


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

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

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

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

Поэтому я считаю нормальным моё направление - начать понимать чужие плагины, смотреть чужой код и искать в них примеры, и по ним задавать какие-то вопросы по нюансам, которых нет в документации. С этим процесс освоения плагинописания будет идти гораздо быстрее.
 
Последнее редактирование:
Да забудь ты об этой теме, что тебе здесь медом намазано?!
Мы имеем точно такое же право напоминать вам о вашей же беспомощности так же, как и вы засоряете этот форум давно избитыми, рассмотренными на 1000 раз вопросами.
 
@Korvinius, приведи свой текущий код и что в нём не работает. Продолжим разбираться.
 
Да забудь ты об этой теме, что тебе здесь медом намазано?!

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

И все возможные отсыки в другие темы, и видеоуроки, все уже было распрошено и разобрано. Тут попахивает не мёдом, а слабоумием.
 
Мы имеем точно такое же право напоминать вам о вашей же беспомощности
Да я и сам об этом знаю, если бы не признал этого, не создал бы этой темы вообще.
@Korvinius, приведи свой текущий код и что в нём не работает. Продолжим разбираться.
да я уже почти со всем, что нужно в данный момент разобрался, пока подвис на прерывании цикла for при достижении конца конфига...
 
ой, не перечитал, того, что написал, исправил)))
@Korvinius, приведи свой текущий код и что в нём не работает. Продолжим разбираться.
Вот сам цикл (надеюсь не закидаете меня тапками, ведь еще 4 дня назад я не имел ни малейшего понятия о программировании):
Java:
// Процесс цыкла считывания конфига
    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
 
Последнее редактирование:
да я уже почти со всем, что нужно в данный момент разобрался, пока подвис на прерывании цикла for при достижении конца конфига...
Давай сюда свой for и конфиг, что там может быть не понятно, уже все объяснили.
Нужно делать через config.getKeys.
 
Спасибо всем большое за помощь, не знаю правильно или нет, но благодаря вашим подсказкам я родил вполне работающий кусок кода:
Java:
    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;
            }
          
        }

Еще хотел бы уточнить (в общеобразовательных целях) вот как бы два варианта кусочка кода:
первый
Java:
        this.getConfig().options().copyDefaults(true).copyHeader(true);

        debug = this.getConfig().getBoolean("debug");
        creative = this.getConfig().getBoolean("creative");
и второй
Java:
        config = this.getConfig()
        config.options().copyDefaults(true).copyHeader(true);

        debug = config.getBoolean("debug");
        creative = config.getBoolean("creative");
оба эти варианта по результату как бы идентичны, я как новичек, хотел бы уточнить, первый вариант, это как бы конфиг считывается каждый раз в ячейку памяти заново, а второй раз, я так понимаю, весь конфиг один раз передается в переменную и дальше плагин работает с этой переменной? Или я не правильно все понял?
Ну и в результате, какой из этих вариантов более правильный?
 
Последнее редактирование:
Спасибо всем большое за помощь, не знаю правильно или нет, но благодаря вашим подсказкам я родил вполне работающий кусок кода:
Java:
    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;
            }
         
        }

Еще хотел бы уточнить (в общеобразовательных целях) вот как бы два варианта кусочка кода:
первый
Java:
        this.getConfig().options().copyDefaults(true).copyHeader(true);

        debug = this.getConfig().getBoolean("debug");
        creative = this.getConfig().getBoolean("creative");
и второй
Java:
        config = this.getConfig()
        config.options().copyDefaults(true).copyHeader(true);

        debug = config.getBoolean("debug");
        creative = config.getBoolean("creative");
оба эти варианта по результату как бы идентичны, я как новичек, хотел бы уточнить, первый вариант, это как бы конфиг считывается каждый раз в ячейку памяти заново, а второй раз, я так понимаю, весь конфиг один раз передается в переменную и дальше плагин работает с этой переменной? Или я не правильно все понял?
Ну и в результате, какой из этих вариантов более правильный?

без разницы, одно и тоже. если бы поставил бы плагин на декомпиляция и зашёл бы в метод getConfig, то понял бы, что конфиг каждый раз не перечитывается.
 
Назад
Верх