Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите containsAtLeast() не считывает мету

Evdokimov

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
evdokimov27
Написал код на поиск в инвентаре определенных предметов, все работает, но как только меняю Material на
ItemStack и добавляю к нему ItemMeta он перестает видеть этот объект, хоть он и присутствует

Рабочий код
public boolean CheckItems(Player p, Material item, String name, int amount) {
return p.getInventory().containsAtLeast(new ItemStack(item), amount);
}

Не рабочий код
public boolean CheckItems(Player p, ItemStack item, String name, int amount) {
ItemMeta meta = item.getItemMeta();
meta.setDisplayName(name);
item.setItemMeta(meta);
return p.getInventory().containsAtLeast(item, amount);
}
 
Последнее редактирование:
условие: CheckItems(p, new ItemStack(Material.STONE), ChatColor.DARK_RED+"Веревка", 10)

Tl2Oi4D.png

Слева то что в руке, справа то что нужно по условию
 
Последнее редактирование:
Так ты можешь свой метод написать, просто циклом пройди по всем предметам в инвентаре
Если религия требует именно bukkitовским сделать, посмотри на результат yourItem.isSimilar(checkItem) и копай от этого
 
Окей, спасибо, думал мб есть нормальные функции, чтобы циклом не гонять каждый раз
 

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

Назад
Верх