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

Помогите Правильное обновление инвентаря

Тема в разделе "Разработка плагинов для новичков", создана пользователем Cristalix, 6 июн 2018.

Метки:
  1. Автор темы
    Cristalix

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

    Баллы:
    76
    Имя в Minecraft:
    Test
    Цель: обновлять инвентарь через определенное количество тиков.

    Написал вот такой бред.

    Код:
        private Integer page = 1;
        private BukkitTask menu;
    
    public void Menu(Player p) {
            if (menu != null) {
                menu.cancel();
            }
            Inventory inv = Bukkit.createInventory(null, 54, "Инвентарь");
            menu = Bukkit.getServer().getScheduler().runTaskTimer(this, new BukkitRunnable() {
                @Override
                public void run() {
                    switch (page) {
                        case 1:
                            inv.clear();
                            page++;
                            page_1(p, inv);
                            break;
                        case 2:
                            inv.clear();
                            page = 1;
                            page_2(p, inv);
                            break;
                    }
                }
            }, 0, 20L);
            p.openInventory(inv);
        }
    
    private void page_1(Player p, Inventory inv) {//page_2 аналогичный
            inv.setItem(20, //Тут предмет);
            inv.setItem(22, //Тут предмет);
            inv.setItem(24, //Тут предмет);
        }
    Как правильно обновлять каждому игроку открытый инвентарь?
     
  2. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Что эта штуковина должна делать? Инвентарь с автоматической промоткой?
     
  3. _Nanit_

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

    Баллы:
    76
    Имя в Minecraft:
    _Nanit_
    Думаю стоит заранее создать инвентарь еще во время запуска плагина. Там же запустить асинс ранейбл и уже в нем обновлять созданный инв. Если это конечно не динамически создаваемый инв.
     
  4. Автор темы
    Cristalix

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

    Баллы:
    76
    Имя в Minecraft:
    Test
    "Обновлять инвентарь"

    В page_2 совсем другие предметы которые он должен установить
     
  5. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    Как таковой создавать несколько методов для страниц не разумно, есть альтернативный способ
     
  6. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Тебе выше предложили неплохой вариант. Добавить все ItemStack[] (есть метод для получение с инвентаря, или можно самому ставить предметы в него напрямую) в список, получать по одному и обновлять игроку инвентарь через BukkitRunnable.
     

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