- Баллы
- 31
- Имя в Minecraft
- Krongss_FUR
Здравствуйте, проблема в том, что мне надо проверять у игрока в инвенторе наличие пщеницы, но не обычной, а с своим именем и лором(кастомная дата тоже стоит). Но есть и проблемы, какие образом это сделать? Первый вариант:
Проблема у такого кода, если в инвентаре больше двух стаков, то оно проверяет один стак, то-есть как-то из инвенторя с помощью метода setAmount(0); удаляется только один стак(ну тоесть он же работает только с одним) и если ещё раз ввести команду уже со вторым оставшиемся стаком - пишет что в инвенторе нету специальной пшеницы, и что бы система увидела пщеницу надо её переложить в инвенторе.
Второй вариант:
Каким способом можно проверять наличие всех стаков специальной пшеницы в инвенторе?
Код:
for(ItemStack itemed : player.getinventory().getContents()) {
ItemStack item = new ItemStack(Material.WHEAT, 1);
ItemMeta meta = item.getItemMeta();
meta.setDisplayName(ChatColor.DARK_RED + "Собранная Пшеница");
List<String> lore = new ArrayList<>();
lore.add(ChatColor.GRAY + "Эту пшеницу вы собрали на подработке");
meta.setCustomModelData(704);
meta.setLore(lore);
item.setItemMeta(meta);
gettedwheat = item;
if(itemed.isSimilar(item)) {
// Тут выполняю код
} else {
// Тут код выполняю если нету пщеницы такой.
}
}
Второй вариант:
Код:
if(player.getInventory().contains(itemed)) {
// Выполняю код
}
// Или ещё вот так:
if(player.getInventory().contains(itemed)) {
int amount = itemed.getAmount();
if(player.getInventory().contains(itemed, amount)) {
// Тут выполняю уже
}
}
Каким способом можно проверять наличие всех стаков специальной пшеницы в инвенторе?