Дело в том что, мне нужна заполнить созданный инвентарь стрелами с определенным DisplayName, кэшировал, но заполняет только первый слот, хотя у меня 3 вида стрел, заполняет 1 слот предмет, который находится в ближнем слоте обычного инвентаря
+ бедут большая нагрузка
У меня и так 9 ArrayList(ов)
public void checkitem(Player p) {
for(ItemStack item : p.getInventory()) {
if(item != null && item.getType() == Material.ARROW && item.getItemMeta().hasDisplayName() && item.getItemMeta().getDisplayName().equals("§3Морозильная стрела")) {
p.sendMessage("У Вас: §3Морозильная стрела");
item1.add(item);
}
if(item != null && item.getType() == Material.ARROW && item.getItemMeta().hasDisplayName() && item.getItemMeta().getDisplayName().equals("§5Отбойная стрела")) {
p.sendMessage("У Вас: §5Отбойная стрела");
item2.add(item);
}
if(item != null && item.getType() == Material.ARROW && item.getItemMeta().hasDisplayName() && item.getItemMeta().getDisplayName().equals("§9Электрическая стрела")) {
p.sendMessage("У Вас: §9Электрическая стрела");
item3.add(item);
}
if(item != null && item.getType() == Material.ARROW && item.getItemMeta().hasDisplayName() && item.getItemMeta().getDisplayName().equals("§6Огненая стрела")) {
p.sendMessage("У Вас: §6Огненая стрела");
item4.add(item);
}
if(item != null && item.getType() == Material.ARROW && item.getItemMeta().hasDisplayName() && item.getItemMeta().getDisplayName().equals("§7Замедляющая стрела")) {
p.sendMessage("У Вас: §7Замедляющая стрела");
item5.add(item);
}
if(item != null && item.getType() == Material.ARROW && item.getItemMeta().hasDisplayName() && item.getItemMeta().getDisplayName().equals("§cВысокоточная стрела")) {
p.sendMessage("У Вас: §3Морозильная стрела");
item6.add(item);
}
if(item != null && item.getType() == Material.ARROW && item.getItemMeta().hasDisplayName() && item.getItemMeta().getDisplayName().equals("§2Заражающиая стрела")) {
p.sendMessage("У Вас: §cВысокоточная стрела");
item7.add(item);
}
Inventory inv = Bukkit.createInventory(null, 9, "§cВыберите стрелу");
if(item1.contains(item)) {
inv.setItem(0, ItemUtils.create(Material.ARROW, "1"));
p.sendMessage("§4dasdasd");
item1.remove(item);
}
if(item2.contains(item)) {
inv.setItem(1, ItemUtils.create(Material.ARROW, "2"));
item2.remove(item);
}
if(item3.contains(item)) {
inv.setItem(2, ItemUtils.create(Material.ARROW, "3"));
item3.remove(item);
}
if(item4.contains(item)) {
inv.setItem(3, ItemUtils.create(Material.ARROW, "4"));
item4.remove(item);
}
if(item5.contains(item)) {
inv.setItem(4, ItemUtils.create(Material.ARROW, "5"));
item5.remove(item);
}
if(item6.contains(item)) {
inv.setItem(5, ItemUtils.create(Material.ARROW, "6"));
item6.remove(item);
}
if(item7.contains(item)) {
inv.setItem(6, ItemUtils.create(Material.ARROW, "7"));
item7.remove(item);
}
p.openInventory(inv);
}
}
}