Помогите Как сделать так что бы предмет нельзя было выкинуть, но можно было перемещать в инвентаре?

AguRChek_TV

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
AguRChek_TV
Как сделать так что бы предмет нельзя было выкинуть, но можно было перемещать в инвентаре?
Мне это нужно для игровых менюшек.
 
Эвентом PlayerDropItemEvent.

Код:
    @EventHandler
    public void dropItem(PlayerDropItemEvent e){
        if(e.getItemDrop().getItemStack().getType() == Material.DIAMOND){
            e.setCancelled(true);
        }
    }
 
Эвентом PlayerDropItemEvent.

Код:
    @EventHandler
    public void dropItem(PlayerDropItemEvent e){
        if(e.getItemDrop().getItemStack().getType() == Material.DIAMOND){
            e.setCancelled(true);
        }
    }
Можно кстати обойти такой метод. Например если у тебя в инвентаре будут все слоты забиты, ты встанешь рядом с дропнутым предметом и возьмёшь курсором предмет который нельзя дропать. У тебя возьмётся предмет на земле и заполнит собой пустой слот. После этого можно спокойно дропать предмет
 
Можно кстати обойти такой метод. Например если у тебя в инвентаре будут все слоты забиты, ты встанешь рядом с дропнутым предметом и возьмёшь курсором предмет который нельзя дропать. У тебя возьмётся предмет на земле и заполнит собой пустой слот. После этого можно спокойно дропать предмет
Есть workaround (обход) для этого бага?
 
Есть workaround (обход) для этого бага?
Как вариант - при поднятии предмета проверять, заполнен ли инвентарь (кроме одного слота + слоты брони, второй руки, крафта), и есть ли у игрока на курсоре предмет Player#getItemOnCursor(), и, соответственно, отменять событие, если места нет.
 
Можно кстати обойти такой метод. Например если у тебя в инвентаре будут все слоты забиты, ты встанешь рядом с дропнутым предметом и возьмёшь курсором предмет который нельзя дропать. У тебя возьмётся предмет на земле и заполнит собой пустой слот. После этого можно спокойно дропать предмет
Тогда бы все плагины сломались на запрет дропа. Кто то нагло гонит.
 
Назад
Верх