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

Помогите Работа с конфигом

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

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

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

    Баллы:
    66
    Имя в Minecraft:
    xacx
    Здравствуйте, хочу написать плагин, знания очень малы и поэтому обучаюсь по примерам.
    Кто может объяснить как мне добавлять и читать из списка данные (имя, время игры). Данные написал для примера (там будет совсем другой текст и т.д)

    пример:

    Players:

    name: TUYT
    LastOnline: 2 day

    name2: Yjgfd
    LastOnline: 1 hour


    Как создать новый список знаю, не знаю только как добавлять и читать только определенные строки, то-есть есть игрок TUYT мне нужно взять его последний онлаин или перезаписать это значение.
    И как мне обновлять этот список при изменении переменной то-есть был игрок в сети 5 мин назад и они сразу же обновились.
    Можно не расписывать все подробно, а скинуть код (полные а не отрывками) и дальше я разберусь если будут вопросы напишу.
    P.s значения у всех игроков будут 1 и те же, то-есть
    name
    LastOnline:
    Sity
    и т.д
     
  2. Dan_Ender

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

    Баллы:
    76
    Код:
    players:
      nickName:
        lastOnline: '1 hour ago'
      nickName2:
        lastOnline: '2 days ago'
    Получить строку последнего захода:
    Код:
    String lastOnline = config.getString("players."+player.getName()+".lastOnline");
    P.S. на будущее, первая буква в названии поля - строчная.
     
  3. Автор темы
    xacx

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

    Баллы:
    66
    Имя в Minecraft:
    xacx
    ок, а как мне записывать?
     
  4. Dan_Ender

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

    Баллы:
    76
    config.set("players."+player.getName()+".lastOnline","urText");
     
  5. Автор темы
    xacx

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

    Баллы:
    66
    Имя в Minecraft:
    xacx
    Код:
    public void PlayerInformation(PlayerJoinEvent e)
        {       
            Player p = e.getPlayer();
            String n = p.getName();
     
            if(pl.getConfig().getString("players.") == n ){ - когда использую не работает, а когда нет все прекрасно читает.
            String city = pl.getConfig().getString("players."+n+".city");
            String position = pl.getConfig().getString("players."+n+".position");
            String activities = pl.getConfig().getString("players."+n+".activities");
            p.sendMessage("Your city: " + city + ", Position: " + position + ", Activities: " + activities);
    
            }else{
                pl.getConfig().set("players."+n+".city", pl.sc);  - не работает не с условие и без условия if
                pl.saveConfig();
            }
    
                }     
        }
    В pl.sc - содержится строка Moscow
     
  6. Автор темы
    xacx

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

    Баллы:
    66
    Имя в Minecraft:
    xacx
    Проблему решил
    Пример моего кода:
    Код:
       
        public void PlayerInformation(PlayerJoinEvent e)
        {       
            Player p = e.getPlayer();
            String n = p.getName();
            String city = pl.getConfig().getString("players."+n+".city");
            String position = pl.getConfig().getString("players."+n+".position");
            String activities = pl.getConfig().getString("players."+n+".activities");
            //pl.getConfig().getString("players.") == n
            
            if(city == null && position == null && activities == null){
    
    
            p.sendMessage("Your city: " + city + ", Position: " + position + ", Activities: " + activities);
            }else{
                pl.getConfig().set("players."+n+".city", pl.sc);
                pl.getConfig().set("players."+n+".position", pl.sp);
                pl.getConfig().set("players."+n+".Activities", pl.sa);
                pl.saveConfig();
            }
                
                }
     
Статус темы:
Закрыта.

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