Помогите Проверка на кол-во предметов в инвентаре.

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

R1Z1nka

Активный участник
Баллы
61
Код:
if(e.getPlayer().getInventory().contains(new ItemStack(Material.getMaterial(Material.GOLD_INGOT))).getAmount()>=5)
Не работает этот код, я не знаю почему. Вкратце объясню, если проверка показала положительный вариант, код который ниже должен выполниться
 
Stream API в помощь
Код:
Arrays.stream(p.getInventory().getContents()).filter(stack -> stack.getType() == Material.APPLE).count()
PHP:
                if (Arrays.stream(p.getInventory().getContents()).filter(stack -> stack.getType() == Material.APPLE).count() >= 5) {
                    //TODO
                }

А вообще, в Bukkit API уже есть метод, который проверят наличие предмета с определенным количеством
https://hub.spigotmc.org/javadocs/s...entory.html#contains(org.bukkit.Material,int)
PHP:
                if (p.getInventory().contains(Material.APPLE, 10)) {
                    //TODO
                }
 
Последнее редактирование:
Stream API в помощь
Код:
Arrays.stream(p.getInventory().getContents()).filter(stack -> stack.getType() == Material.APPLE).count()
PHP:
                if (Arrays.stream(p.getInventory().getContents()).filter(stack -> stack.getType() == Material.APPLE).count() >= 5) {
                    //TODO
                }

А вообще, в Bukkit API уже есть метод, который проверят наличие предмета с определенным количеством
https://hub.spigotmc.org/javadocs/s...entory.html#contains(org.bukkit.Material,int)
PHP:
                if (p.getInventory().contains(Material.APPLE, 10)) {
                    //TODO
                }
Благодарю, как раз и ждал метод с contains.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх