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

Стартап Помощь в изучении языка Java

Тема в разделе "Разработка плагинов для новичков", создана пользователем D_ART, 21 июн 2012.

  1. DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    дословно: replace("§[1-9a-fk-or]","")
    чуть правильней: replace("§[0-9a-fa-fk-orA-FK-OR]","")
    еще правильней: ChatColor.stripColor
     
    Последнее редактирование: 15 дек 2015
  2. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    ChatColor.stripColor
     
  3. fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @alexandrage
    Ну вроде что-то вроде:
    replaceAll("§[0123456789abcdefrlnmk]","")
    Во! Точно! Я уже на наккит переучился забыл про него. А там TextFormat.clean :)
     
  4. jwplaster

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

    Баллы:
    173
    Skype:
    jwplaster.smartworld
    Имя в Minecraft:
    QviNSteN
    Регулярные выражения можно использовать прямо в переменной? :eek::confused:
     
  5. DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    Прошу простить, попутал немного. нужно использовать метод replaceAll, чтобы заменять по регулярке
     
  6. fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    В смысле в переменной? Речь идёт о строке, а строка - это объект класса String, у которого есть методы, в т.ч. и те, что поддерживают регулярные выражения.
     
  7. alexandrage

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

    Баллы:
    173
    Конечно круто, еслиб это был плагин, а не отдельная прога.
     
  8. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Код:
    private static final Pattern STRIP_COLOR_PATTERN = attern.compile("(?i)" + String.valueOf('§') + "[0-9A-FK-OR]");
    public static String stripColor(final String input) {
      if (input == null) {
      return null;
      }
      return STRIP_COLOR_PATTERN.matcher(input).replaceAll("");
    }
    
     
  9. The_King

    The_King Новичок Пользователь

    Баллы:
    6
    Пока ничего, кроме:
    string[] a;
    a = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "0", "a", "b", "c", "d", "e", "f", "r", "n", "m", "l", "o", "k"};
    for(int repl : a){
    .replace("§" + a, "");
    }
    В голову не лезет.
    Можно сделать в виде метода/функции.
     
  10. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    @The_King, класс ChatColor имеет метод:
    Код:
    public static translateAlternateColorCodes(
       char   altColorChar,
       String textToTranslate);
    Соответственно,
    Код:
    a = ChatColor.translateAlternateColorCodes("&", a);
     
    Последнее редактирование: 15 июн 2016
  11. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    17 декабря. Алло.
     
  12. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Ух ты, а у меня оно в Новые сообщения вылезло.

    Если кому-то в Питере интересно:
    https://jugru.timepad.ru/event/268858/

    upload_2016-2-11_11-7-55.png
     
  13. Reedanger

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

    Баллы:
    88
    Имя в Minecraft:
    Reedanger
    Здравствуйте посоветуйте книгу для начинающих по Java, а точнее тем кто вообще не сталкивался ни с каким языком программирования?Буду благодарен за помощь нубу:oops:
     
  14. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Прочитай первый пост темы.
     
  15. spooky1907

    spooky1907 Участник Пользователь

    Баллы:
    31
    А где скачать Bukkit API?
     
  16. chief

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

    Баллы:
    76
    Понемногу изучаю джава и нужна небольшая помощь. Решил начать с самого простого, кажется. Пишу плаг на чат (цвета, приставки, интеграция с vault) и столкнулся с мелкой проблемой. надо убрать из текста сообщения два первых знаки, потому что когда пишу сообщения такого типа "&0Текст сообщение" то вместе с сообщением отправляются коды цвета &0. Как удалить первые два знака из сообщения?
    Код:
       @EventHandler
       public void onPlayerChat(AsyncPlayerChatEvent event) {
    
        Player player = event.getPlayer();
        String message = event.getMessage();
    
           if(event.getMessage().contains("&0") && player.hasPermission("colorchat.use.black")) {
                event.setFormat(chat.getPlayerPrefix(player) + player.getName() + chat.getPlayerSuffix(player) + ChatColor.BLACK + message);
           } else {
                   event.setFormat(chat.getPlayerPrefix(player) + player.getName() + chat.getPlayerSuffix(player) + message);
           }
       }
    }
    
     
  17. Rfg0

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

    Баллы:
    76
    Имя в Minecraft:
    Rfg0
    Можно двумя способами:
    1.
    Код:
       @EventHandler
       public void onPlayerChat(AsyncPlayerChatEvent event) {
    
        Player player = event.getPlayer();
        String message = event.getMessage();
    
           if(event.getMessage().contains("&0") && player.hasPermission("colorchat.use.black")) {
                event.setFormat(chat.getPlayerPrefix(player) + player.getName() + chat.getPlayerSuffix(player) + message.replaceall("&0","§0"));// Если тебе только черный изменить нужно
           } else {
                   event.setFormat(chat.getPlayerPrefix(player) + player.getName() + chat.getPlayerSuffix(player) + message);
           }
       }
    }
    
    2.
    Код:
       @EventHandler
       public void onPlayerChat(AsyncPlayerChatEvent event) {
    
        Player player = event.getPlayer();
        String message = event.getMessage();
    
           if(event.getMessage().contains("&0") && player.hasPermission("colorchat.use.black")) {
                event.setFormat(chat.getPlayerPrefix(player) + player.getName() + chat.getPlayerSuffix(player) + message.replaceall("&0","§0"));
           } else {
                   event.setFormat(chat.getPlayerPrefix(player) + player.getName() + chat.getPlayerSuffix(player)+ChatColor.BLACK + message.replaceall("&0",""));
           }
       }
    }
    
    Геморройно все коды так прописывать.
    И ещё очень полезная вещь. Можно юзать § вместо ChatColor прямо внутри "".
    Вот пример: (ChatColor.RED + "Куку") и ("§4Куку")
    Цветовые коды(ссылка на excel)
    Что-бы поставить знак параграфа нужно нажать сочетание клавиш ALT + 21 . 21 на циферках слева(numpad)
     
    Последнее редактирование: 11 июн 2016
  18. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    ChatColor.translateAlternateColorCodes(char, String)
     
  19. Rfg0

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

    Баллы:
    76
    Имя в Minecraft:
    Rfg0
    Мне кажется что replaceall короче получается.
     
  20. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    А CC.tacc куда более информативнее.
     

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