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

Отрытие меню из другого класса

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

  1. Автор темы
    OneLife_Petr

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

    Баллы:
    21
    Имя в Minecraft:
    Petr_Mirov
    У меня есть 2 класса с разными меню, в первом меню есть предмет, на нажатие которого должно открываться второе меню, со вторым меню такая же история. Только я не могу открыть меню через player.openInventory(menu);
    Я понимаю, что это потому что надо сделать класс со вторым и первым меню публичным, но у меня чет не выходит.

    Можете скинуть или сами написать, как правильно сделать класс с меню публичным, чтобы все работало. Заранее спасибо :0
     
  2. Автор темы
    OneLife_Petr

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

    Баллы:
    21
    Имя в Minecraft:
    Petr_Mirov
  3. Zuif

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

    Баллы:
    76
    отслеживай нажатия в первом меню, в событии клика получай или создавай второе меню, с ним так же
     
  4. Автор темы
    OneLife_Petr

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

    Баллы:
    21
    Имя в Minecraft:
    Petr_Mirov
    Дело в том, что InventoryClickEvent у меня находится в другом классе, всегда привык делать все в разных классах, чтобы не запутаться в коде. Как мне получить второе меню, можешь скинуть пример?
     
  5. Zuif

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

    Баллы:
    76
    в другом классе создай метод который возвращает меню, можешь сделать его статичным и публичным как хочешь, потом вызывай его и получай менюшку
     
  6. Автор темы
    OneLife_Petr

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

    Баллы:
    21
    Имя в Minecraft:
    Petr_Mirov
    я пробовал, но не получалось, поэтому и пишу сюда) Если не сложно, скинь код как это выглядит.
     
  7. Zuif

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

    Баллы:
    76
    Код:
    public class InventoryUtils{
        public Inventory getInventory() {
            return Bukkit.createInventory(null, 9, "Инвентарь");
        }
        public static Inventory getStaticInventory() {
            return Bukkit.createInventory(null, 9, "Инвентарь полученый по статик методу");
        }
    }
    
    public class InventoryUse {
        public void openInventory(Player p) {
            p.openInventory(InventoryUtils.getStaticInventory());
            p.openInventory(new InventoryUtils().getInventory());
        }
    }
    
     
  8. Автор темы
    OneLife_Petr

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

    Баллы:
    21
    Имя в Minecraft:
    Petr_Mirov
    Попробую, спасибо большое
     
  9. alexandrage

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

    Баллы:
    173
    Переменные, не не слышал? player.openInventory(this.plugin.getMenu());
     

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