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

  • Автор темы Автор темы xacx
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

xacx

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

пример:

Players:

name: TUYT
LastOnline: 2 day

name2: Yjgfd
LastOnline: 1 hour


Как создать новый список знаю, не знаю только как добавлять и читать только определенные строки, то-есть есть игрок TUYT мне нужно взять его последний онлаин или перезаписать это значение.
И как мне обновлять этот список при изменении переменной то-есть был игрок в сети 5 мин назад и они сразу же обновились.
Можно не расписывать все подробно, а скинуть код (полные а не отрывками) и дальше я разберусь если будут вопросы напишу.
P.s значения у всех игроков будут 1 и те же, то-есть
name
LastOnline:
Sity
и т.д
 
Код:
players:
  nickName:
    lastOnline: '1 hour ago'
  nickName2:
    lastOnline: '2 days ago'
Получить строку последнего захода:
Код:
String lastOnline = config.getString("players."+player.getName()+".lastOnline");

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

P.S. на будущее, первая буква в названии поля - строчная.
ок, а как мне записывать?
 
config.set("players."+player.getName()+".lastOnline","urText");

Код:
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
 
Проблему решил
Пример моего кода:
Код:
    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();
        }
            
            }
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх