Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

OneLife_Petr

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

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

Дело в том, что InventoryClickEvent у меня находится в другом классе, всегда привык делать все в разных классах, чтобы не запутаться в коде. Как мне получить второе меню, можешь скинуть пример?
 
Дело в том, что InventoryClickEvent у меня находится в другом классе, всегда привык делать все в разных классах, чтобы не запутаться в коде. Как мне получить второе меню, можешь скинуть пример?
в другом классе создай метод который возвращает меню, можешь сделать его статичным и публичным как хочешь, потом вызывай его и получай менюшку
 
в другом классе создай метод который возвращает меню, можешь сделать его статичным и публичным как хочешь, потом вызывай его и получай менюшку
я пробовал, но не получалось, поэтому и пишу сюда) Если не сложно, скинь код как это выглядит.
 
Java:
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());
    }
}
 
Java:
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());
    }
}

Попробую, спасибо большое
 
Дело в том, что InventoryClickEvent у меня находится в другом классе, всегда привык делать все в разных классах, чтобы не запутаться в коде. Как мне получить второе меню, можешь скинуть пример?
Переменные, не не слышал? player.openInventory(this.plugin.getMenu());
 

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

Назад
Верх