Помогите Удаление предмета.

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

ShitCoder

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
TheLastGapple
Код:
    @EventHandler
    public void onMenuUse(InventoryClickEvent e) {
        Player p = (Player) e.getWhoClicked();
        if(e.getInventory().getName().equals("§4§l" + name + "")) {
            e.setCancelled(true);
            if(e.getCurrentItem().hasItemMeta() && e.getCurrentItem().getItemMeta().getDisplayName().equals("§aПалка на 1 уровень")) {
            }
        }
    }
Нужно проверить есть ли у игрока палка с неймтегом "Палка 0 уровень" если есть то её удалить!
 
Код:
@EventHandler
    public void test(InventoryClickEvent e){

       ItemStack[] cont =  e.getInventory().getContents();

        for(ItemStack stack : cont){
            if(stack.getItemMeta().getDisplayName().equalsIgnoreCase("name")){
                e.getInventory().remove(stack);
            }
        }

    }

name меняешь на нужное название, если в инвентаре есть предмет с таким именем - он удаляется. Пробуй
 
Код:
@EventHandler
    public void test(InventoryClickEvent e){

       ItemStack[] cont =  e.getInventory().getContents();

        for(ItemStack stack : cont){
            if(stack.getItemMeta().getDisplayName().equalsIgnoreCase("name")){
                e.getInventory().remove(stack);
            }
        }

    }

name меняешь на нужное название, если в инвентаре есть предмет с таким именем - он удаляется. Пробуй
Если я не ошибаюсь, то нужно сделать проверку на null значение у displayname.
 
Код:
    @EventHandler
    public void onMenuUse(InventoryClickEvent e) {
        Player p = (Player) e.getWhoClicked();
        if(e.getInventory().getName().equals("§4§l" + name + "")) {
            e.setCancelled(true);
            if(e.getCurrentItem().hasItemMeta() && e.getCurrentItem().getItemMeta().getDisplayName().equals("§aПалка на 1 уровень")) {
                ItemStack[] cont =  e.getInventory().getContents();

                for(ItemStack stack : cont){
                    if(stack.getItemMeta().getDisplayName().equalsIgnoreCase("§7Палка")){
                        e.getInventory().remove(stack);
                    }
                }
            }
        }
    }
Есть ещё один вопрос, мне нужно проверить есть ли у игрока 64 арбуза, если есть то их тоже удалить.
 
Код:
    @EventHandler
    public void onMenuUse(InventoryClickEvent e) {
        Player p = (Player) e.getWhoClicked();
        if(e.getInventory().getName().equals("§4§l" + name + "")) {
            e.setCancelled(true);
            if(e.getCurrentItem().hasItemMeta() && e.getCurrentItem().getItemMeta().getDisplayName().equals("§aПалка на 1 уровень")) {
                ItemStack[] cont =  e.getInventory().getContents();

                for(ItemStack stack : cont){
                    if(stack.getItemMeta().getDisplayName().equalsIgnoreCase("§7Палка")){
                        e.getInventory().remove(stack);
                    }
                }
            }
        }
    }
Есть ещё один вопрос, мне нужно проверить есть ли у игрока 64 арбуза, если есть то их тоже удалить.
Код:
if(e.getInventory().contains(Material.MELON, 64){
            e.getInventory().remove(Material.MELON);
        }

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