Войти или зарегистрироваться

Помогите Меню с вещами игрока

Noctural

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
TheNoctural
есть меню, открываю игроку по команде, в меню есть такие декоративные вещи по типу разнозветных блоков, им сразу отменяем InventoryClickEvent, но вот как реализовать такую штуку, что бы когда игрок нажимал/перетаскивал, его предмет переместился в меню, все способы которые я пытался реализовать криво работают или баганные. пробовал что то типа: (для примера возьмем что бы игрок перетаскивал только мечи в инвентарь)

Код:
@EventHandler
public void onInventoryClick(InventoryClickEvent event) {
    if(event.getInventory().equals(StackInventory.stackInventory)) {
        Player player = (Player) event.getWhoClicked();
        Inventory playerInv = player.getInventory();

        ItemStack itemStack = event.getCurrentItem();

        if(itemStack != null && event.getCursor() != null && itemStack.getType() ==DIAMOND_SWORD) {
            playerInv.removeItem(event.getCursor());
            Inventory.addItem(slot, ItemStack);
            return;
        }

        event.setCancelled(true);
    }
}
 
getCursor() даёт предмет, который у тебя в данный момент перемещается мышкой, а getCurrentItem(), если не ошибаюсь, предмет, на который мышка смотрит. А вообще можно же проверять PlayerMoveItemEvent и не отменять его, если перемещение разрешено
 
getCursor() даёт предмет, который у тебя в данный момент перемещается мышкой, а getCurrentItem(), если не ошибаюсь, предмет, на который мышка смотрит. А вообще можно же проверять PlayerMoveItemEvent и не отменять его, если перемещение разрешено
я не нашел PlayerMoveItemEvent, только PlayerMoveEvent или InventoryMoveItemEvent которые никак не помогут в данной ситуации
 
Ошибся, InventoryMoveItemEvent - он же как раз при перемещении вызывается
Если тебе религия не позволяет юзать его и надо через клики - напиши две проверки (если нажал по своему инвентарю / если нажал по кастомному) и не отменяй в них ивент
 
Ошибся, InventoryMoveItemEvent - он же как раз при перемещении вызывается
Если тебе религия не позволяет юзать его и надо через клики - напиши две проверки (если нажал по своему инвентарю / если нажал по кастомному) и не отменяй в них ивент
слава богу я атеист) но я пробовал инвенторимувайтем, он не срабатывает , попробую сейчас как то через кликиupload_2022-10-18_9-42-18.png
 
Назад
Верх