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

Помогите Удаление предмета из GUI

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

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

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

    Баллы:
    76
    Имя в Minecraft:
    Solomka
    Не удаляет предмет из гуи. Что не так?

    Код:
        public static Inventory addItems(Inventory inv, Player p, String string) {
            BasicMethods.string = string;
    
            UUID id = p.getUniqueId();
    
            if (inv != null) {
    
                ItemStack NULL_PLAYER = new ItemStack(Material.AIR);
                ItemStack GLASS = new ItemStack(Material.BLACK_GLAZED_TERRACOTTA);
    
                ArrayList<String> Lore = new ArrayList<>();
                ItemStack playerSkull = getHead(p);
                ItemMeta meta = playerSkull.getItemMeta();
    
                Lore.add("Вопрос от " + p.getName());
                Lore.add("Вопрос: " + sb.toString());
    
                inv.setItem(0, GLASS);
    
                for (int num = 0; num < inv.getSize(); num++) {
    
                    if (inv.getItem(num) == null) continue;
    
                    if (!inv.getItem(num).equals(NULL_PLAYER)) num++;
                    if (map.contains(id)) {
                        meta.setLore(Lore);
                        playerSkull.setItemMeta(meta);
                        inv.setItem(num, playerSkull);
                    } else {
                        inv.setItem(num, NULL_PLAYER);
                        meta.setLore(null);
                        playerSkull.setItemMeta(meta);
                        break;
                    }
                }
            }
            return inv;
        }
    По идее вот удаление, но оно не работает: (Игрок 100% удаляется из мапы)
    inv.setItem(num, NULL_PLAYER);
    meta.setLore(null);
    playerSkull.setItemMeta(meta);
    break;

    Использование в классе:

    Код:
                            if (!haveQuestion.containsKey(sender_uuid)) {
                                for (UUID uuid : join) {
                                    Bukkit.getPlayer(uuid).sendMessage(translateAlternateColorCodes('&', "&6[НОВЫЙ ВОПРОС] &fВопрос: &c" + sb.toString() + "&8&l‖ &fИгрок: &9" + sender.getName()));
                                    haveQuestion.put(sender_uuid, true);
                                    if (map.contains(sender_uuid)) {
                                        addItems(BasicMethods.inv, p, sb.toString());
                                        return;
                                    }
    
                                }
     
  2. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Не пробовал просто inv.setItem(num, null)?
     
  3. Автор темы
    Sergeo

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

    Баллы:
    76
    Имя в Minecraft:
    Solomka
    Не работает. Пробовал
     
  4. _MRDen3000YT_

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

    Баллы:
    76
    player.updateInventory(); ?
     
  5. Автор темы
    Sergeo

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

    Баллы:
    76
    Имя в Minecraft:
    Solomka
    Результат такой же
     

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