Помогите Конфиг предметов.

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

PsyhopatMC

Активный участник
Пользователь
Баллы
78
Имя в Minecraft
Psyhopat
Собственно есть собственная наработка плагина, в нем есть такая вещь как временные предметы.
Столкнулся с такой проблемой, не могу привязать в конфиге время для каждого итема.
Вот пример конфига.
upload_2017-3-25_22-22-24.png
Результат работы.
upload_2017-3-25_22-20-56.png
А вот сам код конфига который загружает все это дело
upload_2017-3-25_22-22-0.png
Помогите ) не знаю уже че делать, думал отгрызать куски от текста но не то это.
Надо как то грамотно загружать это все
Там будет не мало данных.
Помогите кто чем может
подскажите куда копнуть или что то подобное.​
 
синтаксис yaml нарушен вот и косячит
 
синтаксис yaml нарушен вот и косячит
там пример просто, я делал через дабл точки все равно бред выходит.
upload_2017-3-25_22-43-10.png
Не ну не бред конечно, просто в связи с тем что опыта не много, я не могу понять как с этим работать.
 
Последнее редактирование:
когда перед строкой ставится "-", то это список. в нем нельзя делать всякое разное.
можешь просто сделать вот так:
YAML:
items:
-DIRT,300
-STONE,500
а в коде
Java:
for (String s:config.getStringList("items")){
  String material = s.split(",")[0];
  int number = Integer.parceInt(s.split(",")[1]);
  //поиск смысла жизни, возможно даже что то делаем с теми данными, которые только что получили
}

Написано от руки, могут быть небольшие ошибки в синтаксисе\названиях методов
 
когда перед строкой ставится "-", то это список. в нем нельзя делать всякое разное.
можешь просто сделать вот так:
YAML:
items:
-DIRT,300
-STONE,500
а в коде
Java:
for (String s:config.getStringList("items")){
  String material = s.split(",")[0];
  int number = Integer.parceInt(s.split(",")[1]);
  //поиск смысла жизни, возможно даже что то делаем с теми данными, которые только что получили
}

Написано от руки, могут быть небольшие ошибки в синтаксисе\названиях методов
Получение данных из листа у меня идет не так как ты представил сейчас, у меня идет переборка массива на совпадения. Ладно спасиб , что нить подумаем.
Код:
if(config.metadataitem.contains(item.toString()))
Вот пример условия, которое ищет названия в массиве
Blc_Dragon
Такой способ как ты привел не поставить на службу в данном коде) Ну или я так думаю )
Все таки опыта не так много как хотелось бы.
 
Получение данных из листа у меня идет не так как ты представил сейчас, у меня идет переборка массива на совпадения. Ладно спасиб , что нить подумаем.
Код:
if(config.metadataitem.contains(item.toString()))
Вот пример условия, которое ищет названия в массиве
Blc_Dragon
Такой способ как ты привел не поставить на службу в данном коде) Ну или я так думаю )
Все таки опыта не так много как хотелось бы.
мне все за тебя делать?

лично я могу взять и проверить на наличие, причем двумя вариантами.
Java:
//где то в onEnable
HashSet<String> items = new HashSet<>();
for (String s:config.getStringList("items")){
  String material = s.split(",")[0];
  int number = Integer.parceInt(s.split(",")[1]);
  //поиск смысла жизни, возможно даже что то делаем с теми данными, которые только что получили
  items.add(material);
}

//где то в жопе мира
if (items.contains(item.toString())){
//так сложно до этого додуматься
//иди учи яву
}
 
мне все за тебя делать?

лично я могу взять и проверить на наличие, причем двумя вариантами.
Java:
//где то в onEnable
HashSet<String> items = new HashSet<>();
for (String s:config.getStringList("items")){
  String material = s.split(",")[0];
  int number = Integer.parceInt(s.split(",")[1]);
  //поиск смысла жизни, возможно даже что то делаем с теми данными, которые только что получили
  items.add(material);
}

//где то в жопе мира
if (items.contains(item.toString())){
//так сложно до этого додуматься
//иди учи яву
}
Мы решили дело почти так же) За код спасибо, выручил.
Код:
        for (String s: config.metadataitem)
        {
          String material = s.split(",")[0];
          int number = Integer.parseInt(s.split(",")[1]);
          System.out.println(material + number);
          states.add(material);
        }
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх