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

Как вывести цветной текст из конфига?

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

  1. Автор темы
    Алмаз Гараев

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

    Баллы:
    76
    Например код:

    FileConfiguration conf = getConfig();

    if(cmd.equalsIgnoreCase(conf.getString("Srting input"))){
    p.sendMessage((conf.getString("String output")));

    По умолчанию текст в чате который взят из конфигов белый, как сделать его цветным?
     
  2. alexandrage

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

    Баллы:
    173
    В 2к17 не уметь юзать цветовые коды? Ну все - выбрасывай.
     
  3. Автор темы
    Алмаз Гараев

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

    Баллы:
    76
    так стандартные методы я знаю, как раз они то и не работают с конфигами, если будет просто текст вместо конфига это без проблем, но тут что то не получается
     
  4. TheZefirrkka

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

    Баллы:
    76
    ChatColor.Color, §<ColorCode> ChatColor.translate(длинное слово)("Знак для цветов", String);
     
  5. alexandrage

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

    Баллы:
    173
    §4Мозги вруби.
     
  6. TheZefirrkka

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

    Баллы:
    76
    Alt + 21 | Ctrl + C -> Ctrl + V в помощь!
     
  7. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    wat
     
  8. Dan_Ender

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

    Баллы:
    76
    Код:
    ChatColor.translateAlternativeColorCodes('&',text);
     
  9. Rider3217

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

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    Щас такой костыль придумал для цвет.кодов, что аж глаза бы выжигал. Правда потом мысль потерял и забыл:(
     
  10. Автор темы
    Алмаз Гараев

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

    Баллы:
    76
    Приветствую! Вы один из немногих здесь проффи, которых я уважаю! Золотая голова! Всегда выручаете!
    Я специально тут элементарный вопросик задал и сколько тут ответов, никто из них не смог такую простую вещь ответить, эх грамотеи:)) А выпендриваются как профессора!
    Вот я сам пишу ответ на свой вопрос, так сказать нос им всем утираю:))

    p.sendMessage(ChatColor.AQUA+conf.getString("StringOutput")); все элементарно как детский сад:))
     
  11. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    А это для пидорасов??
     
  12. Автор темы
    Алмаз Гараев

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

    Баллы:
    76
    Зачем это лишнее пихать в код, когда уже ChatColor есть готовый, велосипед изобретать?
     
  13. Rider3217

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

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    Хех)
    Ну вообще ща все расскажу.
    Если тебе нужно конвертировать что-то из конфига или еще откуда-то, то можешь использовать String.replaceAll, но... В бакките есть функция специально для этого, а именно ChatColor.translateAlternativeColorCodes('символ', текст). Так что используй функцию от баккита и не парься.
    Короче вот тебе ленивый пример:
    Код:
    String text1 = "§4Текст"; //Если отправить это игроку - будет красный текст
    String text2 = "&4Текст"; //Не будет красный
    text2 = ChatColor.translateAlternateColorCodes('&', text2); //Будет красный текст для игрока
    
    Т.е мы конфертировали &4 в нормальный §4
     
    Последнее редактирование: 19 сен 2017
  14. Rider3217

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

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    Это да, но ведь в конфиг ENUM не очень комфортно тыкать.
    А ChatColor.translateAlternateColorCodes просто переделает &0-9 и тд в нужный тебе ChatColor.
     
  15. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    ChromosomesStackoverflow
     
  16. Rider3217

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

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    Так что если нужно вытянуть сообщение из конфига - юзай методы выше.
    А если с конфигом работы нет, то юзай константы от ChatColor ради бога
     
  17. Rider3217

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

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    ну, кстати, звучит смешно
     
  18. TheZefirrkka

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

    Баллы:
    76
    Типа я что-то неправильно ответил? Если да, скажите мне, а то я чёт ошибок у себя не наблюдаю....
     
  19. Rider3217

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

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    Ну кроме "Знак для цветов" все ок) Просто translateAlternateColorCodes первым аргументом принимает char, а не стринг)
     
  20. TheZefirrkka

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

    Баллы:
    76
    Если ему нужно - сам бы прочитал ошибку и понял...
     

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