1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Как мне при нажатии в инвентаре открыть другой инвентарь?

Тема в разделе "Разработка плагинов для новичков", создана пользователем rexetbanditt, 19 авг 2021.

Статус темы:
Закрыта.
  1. Автор темы
    rexetbanditt

    rexetbanditt Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    rexetbandit
    Здравствуйте! Я делаю плагин в нем я пишу команду открывается меню с выбором какое следующие меню мне открыть. Как мне сделать так, чтобы при нажатии на нужное мне место открывалось другое меню?
     
  2. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну ровно так же, плеер.опенинвентарь.
     
  3. Автор темы
    rexetbanditt

    rexetbanditt Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    rexetbandit
    ну нет. Я присваиваю игрока к типу sender: Player p = (Player) sender; но когда я создаю новую функцию public void onClick(InventoryClickEvent e)
    тут я не могу использовать p.openInventory(); т.к действия public void onClick(InventoryClickEvent e) идёт после public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
    и естественно я не могу использовать "p" и не могу снова присвоить игроку sender
     
  4. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Player player = (Player) e.getWhoClicked();
     
  5. MurlikMurlik

    MurlikMurlik Активный участник Пользователь

    Баллы:
    96
    Создай карту при открытии меню и храни там игрока или реализуй свой InventoryHolder и передавай новый экземпляр при открытии своего меню а при InventoryClickEvent просто получай инвентарь, получай холдер и проверяй, является ли этот холдер тем который ты туда передал (через instanceof) а затем работай над логикой менюшки.

    А что касается первоначального вопроса, как сказали выше, просто открывай новый инвентарь по правилам выше. Только рекомендуется это делать на следующем тике, так как вызов closeInventory или openInventory может создать непредсказуемое поведение, если были вызваны в InventoryClickEvent.
     
Статус темы:
Закрыта.

Поделиться этой страницей