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

Помогите Установка лора в несколько строк

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

Статус темы:
Закрыта.
  1. Автор темы
    Sergeo

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

    Баллы:
    76
    Имя в Minecraft:
    Solomka
    Как сделать, чтобы лист распознавал цветовые коды, но и не писался в одно строку

    На данный момент, когда я делаю так:

    Код:
    meta.setLore(ChatColor.translateAlternateColorCodes('&', buildString(lore)))));
    Просит cделать так:
    Код:
            meta.setLore(Collections.singletonList(ChatColor.translateAlternateColorCodes('&', buildString(lore))));
    И после этого он пишет все в одну строку, а у меня написано все на отдельных строках. Как мне это исправить?

    Кфг:
    Код:
      BuyRunes:
        Lore:
          - "&fДанный раздел содержит в себе много &c&lрун&f,\n"
          - "&fКоторые можно приобрести за &a&lопыт&f \n"
          - "&fНажмите &C[ЛКМ]&f, чтобы открыть меню "
        DisplayName: "      &7[&a&lПокупка рун&7] "
      # - Предмет(Бутылка с опытом) - улучшение рун - #
      UpdateRunes:
        Lore:
          - "&fДанный раздел позволяет вам &6&lулучшить&f руны, \n"
          - "&fКоторые уже &a&lимеются&f у вас на более &4&lвысокий&f уровень! \n"
          - "&fНажмите &c[ЛКМ]&f, чтобы открыть меню "
        DisplayName: "              &8[&e&lУлучшение рун&8] "



    Код:
        public static ItemStack setMeta(ItemStack item, String DisplayName, List<String> lore){
            ItemMeta meta = item.getItemMeta();
    
            meta.setDisplayName(translateAlternateColorCodes('&', DisplayName));
            meta.setLore(ChatColor.translateAlternateColorCodes('&', buildString(lore)))));
            item.setItemMeta(meta);
            return item;
        }
    
        private static String buildString(List<String> list){
            StringBuilder sb = new StringBuilder();
            for (String string : list) {
                sb.append(string);
            }
            return  sb.toString();
        }
     
  2. alexandrage

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

    Баллы:
    173
    lore это список, а не одна строка. Сам подумай головой, что у тебя не так.
     
  3. Автор темы
    Sergeo

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

    Баллы:
    76
    Имя в Minecraft:
    Solomka
    А как мне сделать так, чтобы он распознавал цветовые кода в листе? Он без цветовых кодов делает все нормально, но без них мне не нужно
     
  4. ВukkitPrоfi

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

    Баллы:
    76
    Код:
    list.replaceAll(s -> ChatColor.translateAlternateColorCodes('&', s));
    meta.setLore(list)
     
  5. Автор темы
    Sergeo

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

    Баллы:
    76
    Имя в Minecraft:
    Solomka
    Спасибо огромное тебе)
     
Статус темы:
Закрыта.

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