Вопрос Как запретить снимать тыкву с головы?

Версия Minecraft
1.16.X

Mikita

Заблокирован
Сообщения
57
Решения
3
Всем привет, я пишу плагин на хоррор и надеваю тыкву на голову игрока, как запретить её снимать с головы?
 
Решение
Код:
    @EventHandler
    public void onInventoryClick(InventoryClickEvent event){
        Inventory clickedInventory = event.getClickedInventory();
        if (clickedInventory == null || clickedInventory.getType() != InventoryType.PLAYER) return;

        if (event.getSlot() != 39) return;
        
        event.setCancelled(true);
    }

Ещё вариант, вместо if (event.getSlot() != 39), можешь тыкве выдавать тег в дата контейнер и в слушателе при клике проверять его, либо к проверке if (event.getSlot() != 39) добавить проверку на предмет
Код:
        Inventory clickedInventory = event.getClickedInventory();
        if (clickedInventory == null || clickedInventory.getType() != InventoryType.PLAYER) return;

        if...
Код:
    @EventHandler
    public void onInventoryClick(InventoryClickEvent event){
        Inventory clickedInventory = event.getClickedInventory();
        if (clickedInventory == null || clickedInventory.getType() != InventoryType.PLAYER) return;

        if (event.getSlot() != 39) return;
        
        event.setCancelled(true);
    }

Ещё вариант, вместо if (event.getSlot() != 39), можешь тыкве выдавать тег в дата контейнер и в слушателе при клике проверять его, либо к проверке if (event.getSlot() != 39) добавить проверку на предмет
Код:
        Inventory clickedInventory = event.getClickedInventory();
        if (clickedInventory == null || clickedInventory.getType() != InventoryType.PLAYER) return;

        if (event.getSlot() != 39) return;
        ItemStack currentItem = event.getCurrentItem();
        if (currentItem == null || currentItem.getType() != Material.PUMPKIN) return;

        event.setCancelled(true);
 
Код:
    @EventHandler
    public void onInventoryClick(InventoryClickEvent event){
        Inventory clickedInventory = event.getClickedInventory();
        if (clickedInventory == null || clickedInventory.getType() != InventoryType.PLAYER) return;

        if (event.getSlot() != 39) return;
       
        event.setCancelled(true);
    }

Ещё вариант, вместо if (event.getSlot() != 39), можешь тыкве выдавать тег в дата контейнер и в слушателе при клике проверять его, либо к проверке if (event.getSlot() != 39) добавить проверку на предмет
Код:
        Inventory clickedInventory = event.getClickedInventory();
        if (clickedInventory == null || clickedInventory.getType() != InventoryType.PLAYER) return;

        if (event.getSlot() != 39) return;
        ItemStack currentItem = event.getCurrentItem();
        if (currentItem == null || currentItem.getType() != Material.PUMPKIN) return;

        event.setCancelled(true);
Спасибо, ты настоящий программист с золотыми руками
 
offtop Что делает этот плагин?
offtop Я специально иногда надеваю тыкву на голову чтобы напугать игрока (в ресурс паке я изменил на страшное лицо), и нужно было чтобы тыкву нельзя было снять 5-10 секунд.
 
Я специально иногда надеваю тыкву на голову чтобы напугать игрока (в ресурс паке я изменил на страшное лицо), и нужно было чтобы тыкву нельзя было снять 5-10 секунд.
offtop Есть отдельная текстура для тыквы на голове?
 
Назад
Сверху Снизу