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

Плагин [CHAT/INFO] mProMessage v1.8 - Настройка сообщений входа/выхода игрока [1.7.*]

Тема в разделе "Релизы плагинов", создана пользователем makssof, 6 фев 2014.

?

Как плагин?

  1. Лайк

    36,5%
  2. Дизлайк

    9,0%
  3. А я томат (Лайк)

    54,5%
  1. Автор темы
    makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    mProMessage: Настройка сообщений входа/выхода игрока
    Версия: 1.8.1

    Простенький плагин для настройки сообщений, уведомляющих о входе/выходе игрока.

    Особенности:
    • Кастомизация сообщений
    • Полное форматирование сообщений
    • Включение/выключение появления сообщений
    Команды:
    /mpm reload - перезагружает конфиг плагина.

    Permissions:
    mpm.reload - позволяет использовать команду /mpm reload

    Стандартный конфиг:
    Код:
    isShown: true # [true] || [false] - включить/выключить отображение сообщений
    message:
      onJoin: "&b%PLAYER.NAME% &aвошёл." # Сообщение при входе игрока
      onFirstJoin: "&aИгрок &b%PLAYER.NAME% &aвошёл на сервер первый раз. Добро пожаловать!" # Сообщение при первом входе игрока
      onQuit: "&b%PLAYER.NAME% &cвышел." # Сообщение при выходе игрока
    Доступные переменные:
    1. %PLAYER.NAME% - Имя игрока
    2. %PLAYER.IP% - IP игрока
    3. %WORLD.NAME% - Имя мира, в котором находится игрок
    4. %SERVER.NAME% - Имя сервера
    Ахтунг! Если вы перешли на версию 1.8 со старой версии, вам необходимо обновить переменные в конфиге!

    Скачать
    :
    Версия 1.8.1
    Остальные версии


    Лог изменений:
    1. Добавлено сообщение при первом входе игрока. В конфиге: Messages.onFirstJoin
    2. Добавлены новые переменные: %PLAYER.NAME%, %PLAYER.IP%, %WORLD.NAME%, %SERVER.NAME%
    3. Удалена переменная %PLAYER%
    1. Добавлена возможность перезагрузить конфиг плагина (/mpm reload)
    2. Небольшие изменения в коде
    1. Плагин полностью переписан
    2. Добавлена возможность отключить показ сообщений
    3. Добавлена возможность полного форматирования сообщений
    1. Релиз плагина
     
    Последнее редактирование: 26 май 2017
    ivanmasley, Hephest и Ghost29 нравится это.
  2. CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Нужно в голосовании сделать "а я помидор", а не "а я томат", но неважно:)

    Чего мне не хватает в этом плагине так это настройки цвета сообщений в соответствии с permissions, т.е если игрок вип и т.п, то сообщение другого цвета(в отличии от обычного игрока) и т.д
     
  3. WCRAFT

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

    Баллы:
    173
    Skype:
    worldplaytv
    Имя в Minecraft:
    World
    А не проше InClassTranslator ом?
     
  4. Автор темы
    makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    Насчёт цветов. Есть две возможных реализаций:
    1) Через пермишенс: mpm.colorOnJoin.ЦВЕТ && mpm.colorOnQuit.ЦВЕТ
    То есть, например если я имею пермишен mpm.colorOnJoin.dark_green, то при моём входе сообщение будет тёмно-зелёном, в то время как у других игроков (не имеющих подобного пермишена) будет цвет, согласно конфигу
    2) Непосредственно через конфиг. Например там будет ветка Players.<NICKNAME>.color в которой как раз и будет хранится информация о цвете для конкретного человека
    -------
    Выбирайте способ, и я его непременно реализую. :)

    P.S. "А я томат" - Из рекламы сока. Вспомнил, и зачем то вставил в опрос. :)
    @WCRAFT Что именно "... не проще..."? Изменить сообщения? Или что?
     
    Последнее редактирование: 7 фев 2014
  5. Minecraft-Holly

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

    Баллы:
    88
    Skype:
    team66rus
    Имя в Minecraft:
    koocez
    У многих стоит плагин DeathMessage


     
  6. WCRAFT

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

    Баллы:
    173
    Skype:
    worldplaytv
    Имя в Minecraft:
    World
    Что? Разве не понятно что изменять сообщения, нет блин не легче ли убиться об стену?
     
  7. dark32

    dark32 А где твой ТЗ? Пользователь

    Баллы:
    123
    Вот это вот что за китай код?:
    Код:
    this.color1 = ChatColor.GREEN;
        this.color2 = ChatColor.RED;
        if ("aqua".equals(this.colorMsgOnJoin)) {
          this.color1 = ChatColor.AQUA;
        }
        if ("black".equals(this.colorMsgOnJoin)) {
          this.color1 = ChatColor.BLACK;
        }
        if ("blue".equals(this.colorMsgOnJoin)) {
          this.color1 = ChatColor.BLUE;
        }
        if ("dark_aqua".equals(this.colorMsgOnJoin)) {
          this.color1 = ChatColor.DARK_AQUA;
        }
        if ("dark_blue".equals(this.colorMsgOnJoin)) {
          this.color1 = ChatColor.DARK_BLUE;
        }
        if ("dark_gray".equals(this.colorMsgOnJoin)) {
          this.color1 = ChatColor.DARK_GRAY;
        }
        if ("dark_green".equals(this.colorMsgOnJoin)) {
          this.color1 = ChatColor.DARK_GREEN;
        }
        if ("dark_purple".equals(this.colorMsgOnJoin)) {
          this.color1 = ChatColor.DARK_PURPLE;
        }
        if ("dark_red".equals(this.colorMsgOnJoin)) {
          this.color1 = ChatColor.DARK_RED;
        }
        if ("gold".equals(this.colorMsgOnJoin)) {
          this.color1 = ChatColor.GOLD;
        }
        if ("gray".equals(this.colorMsgOnJoin)) {
          this.color1 = ChatColor.GRAY;
        }
        if ("green".equals(this.colorMsgOnJoin)) {
          this.color1 = ChatColor.GREEN;
        }
        if ("light_purple".equals(this.colorMsgOnJoin)) {
          this.color1 = ChatColor.LIGHT_PURPLE;
        }
        if ("red".equals(this.colorMsgOnJoin)) {
          this.color1 = ChatColor.RED;
        }
        if ("white".equals(this.colorMsgOnJoin)) {
          this.color1 = ChatColor.WHITE;
        }
        if ("yellow".equals(this.colorMsgOnJoin)) {
          this.color1 = ChatColor.YELLOW;
        }
        if ("aqua".equals(this.colorMsgOnQuit)) {
          this.color2 = ChatColor.AQUA;
        }
        if ("black".equals(this.colorMsgOnQuit)) {
          this.color2 = ChatColor.BLACK;
        }
        if ("blue".equals(this.colorMsgOnQuit)) {
          this.color2 = ChatColor.BLUE;
        }
        if ("dark_aqua".equals(this.colorMsgOnQuit)) {
          this.color2 = ChatColor.DARK_AQUA;
        }
        if ("dark_blue".equals(this.colorMsgOnQuit)) {
          this.color2 = ChatColor.DARK_BLUE;
        }
        if ("dark_gray".equals(this.colorMsgOnQuit)) {
          this.color2 = ChatColor.DARK_GRAY;
        }
        if ("dark_green".equals(this.colorMsgOnQuit)) {
          this.color2 = ChatColor.DARK_GREEN;
        }
        if ("dark_purple".equals(this.colorMsgOnQuit)) {
          this.color2 = ChatColor.DARK_PURPLE;
        }
        if ("dark_red".equals(this.colorMsgOnQuit)) {
          this.color2 = ChatColor.DARK_RED;
        }
        if ("gold".equals(this.colorMsgOnQuit)) {
          this.color2 = ChatColor.GOLD;
        }
        if ("gray".equals(this.colorMsgOnQuit)) {
          this.color2 = ChatColor.GRAY;
        }
        if ("green".equals(this.colorMsgOnQuit)) {
          this.color2 = ChatColor.GREEN;
        }
        if ("light_purple".equals(this.colorMsgOnQuit)) {
          this.color2 = ChatColor.LIGHT_PURPLE;
        }
        if ("red".equals(this.colorMsgOnQuit)) {
          this.color2 = ChatColor.RED;
        }
        if ("white".equals(this.colorMsgOnQuit)) {
          this.color2 = ChatColor.WHITE;
        }
        if ("yellow".equals(this.colorMsgOnQuit)) {
          this.color2 = ChatColor.YELLOW;
        }
    А если я хочу больше 1 цвета в сообщение?
    Посмотри методы ChatColor, там есть специальный метод для замены цветовых кодов вида &1 на соответствующий цвет.
    И если уж использовать if, то луче уж else if, если они все однотипные. Case было бы идеально, но со строками это не пройдёт.

    ПРедлагаю реализовать нормально цветовые теги и разные сообщения для разных людей/групп/пермишенсов (тут нужно подумать)
    Ну и как всегда - motd
     
    Den_Abr нравится это.
  8. Автор темы
    makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    Да, согласен, этому коду (всему коду) путь-дорога только в одно место. (*)
    Я так понимаю, тут не пройдёт отмазка "Я только изучаю Java && API", хотя это на самом деле так.
    Else-if... Я даже и не знаю почему я "или-если" не использовал.
    По сути, этот плагин для меня достижение, т.к. я, как писал выше, только изучаю Java, и API баккита.
    Кстати, спасибо за подсказку насчёт метода (&y => yellow и т.п.).
    Но ведь все начинают с нуля, и мне кажется, что все начинали с подобного
    говнокода.
    А что за мотд? Всм. мотд сервера? Или что?
    Естественно я буду больше углу****ься, больше изучать, самосовершенствоваться.

    УП!
     
  9. Egor33345

    Egor33345 Старожил Переводчик Пользователь

    Баллы:
    173
    Имя в Minecraft:
    HellDragon97
    Плагин хорош, но сейчас почти везде эта функция есть. Даже в Essentials добавили
     
    Dereku нравится это.
  10. Автор темы
    makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    Данный плагин как раз и предназначен для таких случаев, когда админ не хочет ставить "большой" плагин, а потребность в изменении сообщения есть.
     
  11. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Essentials стоит на 76% серверов. Там уж куда проще изменить сообщения входа/выхода. Правда, после перезагрузки конфига Essentials всё это летит к чертям .-.
     
  12. Автор темы
    makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    Лог изменений:
    Версия 1.6:
    • Плагин полностью переписан
    • Добавлена возможность отключить показ сообщений
    • Добавлена возможность полного форматирования сообщений (Как?)
     
  13. dark32

    dark32 А где твой ТЗ? Пользователь

    Баллы:
    123
    Сейчас посмотрим. Ждите разбора пеньков кода. (декомпилятор в руки и поехали)
    Код:
    if (this.command.equalsIgnoreCase(cmd.getName())) {
          sender.sendMessage("Жди следующую версию плагина. :D");
        }
    Блин... нет пеньков... молодец, код короток и .... ан нет, нашёл пенёк, да не особо сильный:
    1. Если строка не меняется после присвоения, то лучше её финализировать. Но тут уже дело реализации, если будет команда перезагрузки конфигов, то финализировать не надо
    Код:
      public static String onJoin;
      public static String onQuit;
    
    2. А это для меня сложно... Что помешало сразу сделать инлайн?
    Код:
          Loader.onJoin = Loader.onJoin.replace("%PLAYER%", e.getPlayer().getName()).replace("&", "§");
          e.setJoinMessage(Loader.onJoin);
    как сделал бы я:
    Код:
           e.setJoinMessage(ChatColor.translateAlternateColorCodes('&', Loader.onJoin.replace("%PLAYER%", e.getPlayer().getName())));
     
    ПриветОтЛайки, makssof и Dereku нравится это.
  14. Автор темы
    makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    1) Спасибо за совет о финализации. В версии 1.7 обязательно реализую перезагрузку.
    2) Инлайн.. Хм.. Даже и не знаю, почему сделал так. :) Обязательно учту.
    Лог изменений:
    1. Добавлена возможность перезагрузить конфиг плагина ( /mpm reload )
    2. Небольшие изменения в коде (*)
     
  15. Neuter

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

    Баллы:
    123
    Skype:
    Neuter3
    Имя в Minecraft:
    Dream4Game
    сделай, что-бы и сообщение о смерти блокировало. 1.7.2
     
  16. Автор темы
    makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    Хм.. Сделаю в след. версии возможность отключить показ, или изменить сообщения. Спасибо за идею)
     
    Последнее редактирование: 9 авг 2014
  17. ivanmasley

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

    Баллы:
    88
    Поддерживаю.
    @makssof Думаю, лучше будет, если сообщение будут видеть только убийца и убитый, примерно так "Вы убили игрока ...", "Вас убил игрок ...", а в глобальный чат ничего не выводилось.
     
  18. Автор темы
    makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    UP!
    1. Добавлено сообщение при первом входе игрока. В конфиге: Messages.onFirstJoin
    2. Добавлены новые переменные: %PLAYER.NAME%, %PLAYER.IP%, %WORLD.NAME%, %SERVER.NAME%
    3. Удалена переменная %PLAYER%
     
  19. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Прост)00)0))
     

    Вложения:

    • mProMessage.zip
      Размер файла:
      6,2 КБ
      Просмотров:
      11
  20. Автор темы
    makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    Можно было просто написать. :)
    Сейчас залью.
     

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