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

Помогите Ремонт вещей за изумруды

Тема в разделе "Разработка плагинов для новичков", создана пользователем stanislavNichik, 20 май 2020.

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

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

    Баллы:
    66
    Помогите реализовать фикс вещей через GUI. Должно быть так:
    Кладешь в инвентарь 1 изумруд и предмет восстанавливается на 50. Кладешь 8 - на 400.
    Вот такой код вообще непонятно как работает:
    Код:
        @EventHandler
        public void OnClick(InventoryClickEvent e) {
            if (e.getInventory().getTitle() == "Ремонт вещей")  {
                Inventory inv = e.getInventory();
                int em = 0;
                for (int i = 0; i<=44; i++) {
                    if (inv.getItem(i)==null) continue;
                    if (inv.getItem(i).getType() == Material.EMERALD) {
                        em++;
                    }
                }
                ItemStack item = e.getWhoClicked().getInventory().getItemInMainHand().clone();
                Short d = item.getDurability();
                Short dur = ((short) (d - (em*50)));
                if (dur < 0) {
                    dur = 0;
                }
                item.setDurability(dur);
                inv.setItem(24, item);
            }
        }
     
  2. CriticaMobslps

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

    Баллы:
    76
    Имя в Minecraft:
    CriticaMobs
    Смотри, а не легче сделать типо при клике в своём инвентаре изумрудом по предмету, так и красивее будет
     
  3. Автор темы
    stanislavNichik

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

    Баллы:
    66
    Хорошая идея. А как узнать каким предметом игрок нажимает? И как потом этот предмет забрать?
     
  4. CriticaMobslps

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

    Баллы:
    76
    Имя в Minecraft:
    CriticaMobs
    PHP:
    ItemStack item e.getCursor();
    if(
    item != null && !item.getMaterial().equals(Material.AIR){
    if((
    item.getAmount()-1) <= 0) return;
    item.setAmount(item.getAmount()-1);
    e.setCancelled(true)
    }
     

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