del

Статус
Закрыто для дальнейших ответов.

kirill3345

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
kirill3345
del
 
Последнее редактирование:
Надо запустить цикл,сравнивающий каждую строку из одного листа со строками другого листа:
Код:
int k;
for(String str : list0){
for (String str2 : list1){
if(str.equals(str2)){
  for(String str3 : list2){
if(str.equals(str3){
  for(String str4 : list3){
if(str.equals(str4){
for(String str5 : list4){
if(str.equals(str5){
for(String str6 : list5){
if(str.equals(str6){k++;}
}
} //Сдесь нужное колличество скобок расставишь
}
}
Надеюсь умеешь из конфига массивы доставать.
 
Ну к примеру:
Код:
//ЧанкX, ЧанкZ
//Ник овнера привата

1|1:
- player
1|2:
- steve
-1|-3:
- qwert
Они все в глобале конфига. Как получить все?
Плагин-то готов и работает. Но нужны ограничения привата.
колличество чанков ограниченное число?Если да ,то можно спокойно создать массив из этих листов.
Я сам плохо разбираюсь в конфигах,но вродебы есть способ получения всех "листов" в твоём случае.
 
Как подсчитать кол-во всех листов?
Может сейчас буду нести чушь:но можно попробовать получить массив "листов"(на самом деле String) указав ключ "".Потом с помощью .size() узнать их количество
 
Код:
for(String key : getConfig().getKeys(false))
{
  List<String> list = getConfig().getStringList(key);

  //do code
}
 
Код:
              boolean dontHas = false;
              for (String key : getConfig().getKeys(false))
              {
                List<String> lists = getConfig().getStringList(key);
                if (!lists.contains(player.getName()))
                  dontHas = true;
              }
            
              if (dontHas)
              {
                List<String> list = getConfig().getStringList(player.getLocation().getChunk().getX() + "|" + player.getLocation().getChunk().getZ());
                list.add(player.getName());
                getConfig().set(player.getLocation().getChunk().getX() + "|" + player.getLocation().getChunk().getZ(), list);
                saveConfig();
                reloadConfig();
                player.sendMessage(ChatColor.GRAY + "Приват успешно создан!");
              }
              else
                player.sendMessage(ChatColor.GRAY + "У вас уже есть чанк!");
Ты в курсе,что код проходит по всем листам в поиске игрока?Он не просто проходит,но и выполняет player.sendMessage(ChatColor.GRAY + "У вас уже есть чанк!"); от каждого листа в котором нет такого игрока.
 
Советую вместо
  1. boolean dontHas = false;
  2. for (String key : getConfig().getKeys(false))
  3. {
  4. List<String> lists = getConfig().getStringList(key);
  5. if (!lists.contains(player.getName()))
  6. dontHas = true;
  7. }
написать метод который возвращает true ,когда игрок найден.
Код:
public boolean HasPrivat(String name){
              for (String key : getConfig().getKeys(false))
              {
                List<String> lists = getConfig().getStringList(key);
                if (lists.contains(player.getName())){return true;}
              }
return false;
}
 
Лел, а я тоже собираюсь на своем сервере пилить приват по чанкам...
Поэтому я тут посижу, понаблюдаю :D
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх