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

Помогите как несколько раз реплейсать лист

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

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

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

    Баллы:
    76
    Имя в Minecraft:
    Solomka
    Мне требуется отсылать лист игроку в конфиге, но с реплейснутыми значениями

    Например,

    - >> Уровень %level%
    - >> Звание %rank%
    и т.д.

    Пробовал .replaceAll, но не получилось
     
  2. Bezobrazie

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

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    Покажи код мне кажется тя просто вызвал метод и он вернул новый лист
     
  3. Sneyzi

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

    Баллы:
    76
    replace("%level%", l).replace("%rank%", r)
     
  4. Автор темы
    Sergeo

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

    Баллы:
    76
    Имя в Minecraft:
    Solomka
    Код:
      public void showInformationHelper(Player helper, String name, String mode) throws SQLException {
    
            if(!users.isHelperPlayer(name)) {
                helper.sendMessage(translateAlternateColorCodes('&', "&cИгрок не является хелпером!"));
                return;
            }
    
            switch (mode) {
                case "offline" : {
                    if(!Bukkit.getOfflinePlayer(name).hasPlayedBefore()) {
                        helper.sendMessage(translateAlternateColorCodes('&', "&cДанного игрока не было ни разу на сервере!"));
                        return;
                    }
                    info(helper, Bukkit.getOfflinePlayer(name).getName());
                    return;
                }
                case "online" : {
                    Player helperOnline = Bukkit.getPlayerExact(name);
                    if(Bukkit.getPlayerExact(name) == null) {
                        helper.sendMessage(translateAlternateColorCodes('&', msg.pIsNull(name)));
                        return;
                    }
                    info(helper, helperOnline.getName());
                    return;
                }
                default : helper.sendMessage(translateAlternateColorCodes('&', "&cInvalid argument ['" + mode + "']"));
            }
        }
    
        private void info(Player p, String name) {
    
            List<String> information = config.getStringList("Message.Info");
    
            information.replaceAll(s -> translateAlternateColorCodes('&', s));
    
            information.replaceAll(question -> {
                try {
                    return question.replace("%question_value%", String.valueOf(users.getValueAllGradesPlayer(name)));
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                return question;
            });
    
            information.replaceAll(warns -> {
                try {
                    return warns.replace("%warns_value%", String.valueOf(users.getValueWarns(name)));
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                return warns;
            });
    
            information.replaceAll(like -> {
                try {
                    return like.replace("%like_grades%", String.valueOf(users.getValueLikeGradesPlayer(name)));
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                return like;
            });
    
            information.replaceAll(dislike -> {
                try {
                    return dislike.replace("%dislike_grades%", String.valueOf(users.getValueDisLikeGradesPlayer(name)));
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                return dislike;
            });
    
            information.replaceAll(lastJoin -> {
                try {
                    return lastJoin.replace("%last_join%", users.getLastJoinPlayer(name));
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                return lastJoin;
            });
            build.buildList(information, p);
        }
     
  5. ВukkitPrоfi

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

    Баллы:
    76
    вот как попробовал то? вот из за такой о уительной информативности в итоге ответ сто лет ждете или создаете из темы помойку, пытаясь разгадать ответ

    работать должно 100%
    list.replaceAll(string -> string.replace(replacement, value));
     
  6. Автор темы
    Sergeo

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

    Баллы:
    76
    Имя в Minecraft:
    Solomka
    Проблема решена!
     
Статус темы:
Закрыта.

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