Хостинг серверов Minecraft playvds.com
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов 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. Mr Hosting
  3. Shevchik

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

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

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

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

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

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

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

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

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

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

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

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

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Код (Text):
    1. private static final Pattern STRIP_COLOR_PATTERN = attern.compile("(?i)" + String.valueOf('§') + "[0-9A-FK-OR]");
    2. public static String stripColor(final String input) {
    3.   if (input == null) {
    4.   return null;
    5.   }
    6.   return STRIP_COLOR_PATTERN.matcher(input).replaceAll("");
    7. }
    8.  
     
  10. 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, "");
    }
    В голову не лезет.
    Можно сделать в виде метода/функции.
     
  11. Reality_SC

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

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

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

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

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Ух ты, а у меня оно в Новые сообщения вылезло.
    --- Сообщения объединены: 11 фев 2016, предыдущее сообщение: 16 янв 2016 ---
    Если кому-то в Питере интересно:
    https://jugru.timepad.ru/event/268858/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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