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

Плагин [CHAT] PromisedChat - просто плагин на чат

Тема в разделе "Неподтвержденные плагины", создана пользователем Overwrite, 25 ноя 2023.

  1. Автор темы
    Overwrite

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

    Баллы:
    98
    Имя в Minecraft:
    OverwriteMC
    Описание: Буквально простейший плагин на чат, совместимый со всеми версиями майнкрафта, имеющий ряд фичей:
    • кастомный плейсхолдер для каждой группы, что позволит выставить каждому донату свой цвет сообщений;
    • модуль "защита от новичков", который не даст игрокам сразу писать в чат (и использовать команды личных сообщений);
    • модуль авто-сообщений (который был взят из Chatty, я не знаю зачем он там был)

    Почему не Chatty: Казалось бы, Chatty это база, зачем использовать что-то еще? Ответ - Chatty не поддерживает 1.20.2/3/4. (оф.релиз, json формат). Это была одни из причин по которой данный плагин вообще существует.
    Почему не ChatEx: Утечка памяти.
    Почему не FlectoneChat: А вот и 2 причина - мой плагин создавался в первую очередь как плагин на чат, ничего большего от него ждать не стоит. Максимум - ряд портированных функций, которые относятся к чату непосредственно. Никаких харчков в плагине на чат! (и я говорил буквально)

    Конфигурация:
    Код:
    # Формат чатов. Поддерживается PlaceholderAPI
    # <player> - ник игрока
    # <prefix> - префикс игрока (берется из vault api)
    # <suffix> - суффикс игрока (берется из vault api)
    # <dph> - плейсхолдер группы
    format:
      local: '&aⓁ&f <prefix> &8⋆&f <player>&7:<dph> <message>'
      # Радиус распространения локального чата
      localRadius: 100
      # Если установлено true - весь чат будет глобальным и не будет требовать символа '!'
      forceGlobal: false
      global: '&cⒼ&f <prefix> &8⋆&f <player>&7:<dph> <message>'
    
    # Плейсхолделы для донатов по группам
    donatePlaceholders:
      default: '&7'
      admin: '&f&l'
    
    # Настройка ховертекста (текст при наведении на сообщение игрока)
    # При включении заменяет логику работы чата, что может сказаться на работе других плагинов, включающих в себя его форматирование.
    # Сообщения будут отправляться игрокам от сервера.
    hoverText:
      enable: false
      format: |-
        &fИнформация об игроке <player>
        &fРанг: &6%vault_group%
        &fХП: &6%player_health%
        &fОпыт: &6%player_exp%
     
    # Настройки кулдауна
    cooldown:
      # Кулдаун для локального чата в милисекундах
      localCooldown: 500
      # Кулдаун для глобального чата в милисекундах
      globalCooldown: 1500
      # Сообщение о кулдауне
      cooldownMessage: "&e[♻]&f Вы слишком быстро пишите! Подождите немного."
     
    # Настройка блокировки чата для новичков
    newbieChat:
      # Включен ли newbieChat
      enable: true
      # Кулдаун на чат для новичков в секундах
      newbieCooldown: 600
      # Сообщение для чата для новичков
      newbieChatMessage: "&c[★] &6Подожди! Что-бы написать в чат вы должны отыграть 10 минут на сервере, осталось &c%time%"
      # Сообщение для команд для новичков
      newbieCommandMessage: "&c[★] &6Подожди! Что-бы написать данную команды вы должны отыграть 10 минут на сервере, осталось &c%time%"
      # Команды, которые будут попадать под newbieChat
      newbieCommands:
        - '/m'
        - '/pm'
        - '/msg'
        - '/t'
        - '/tell'
        - '/w'
        - '/whisper'
    
    # Настройка автосообщений
    # Существует только по тому, что это есть в Chatty.
    autoMessage:
      # Включел ли autoMessage
      enable: true
      # Выдавать ли их рандомно
      random: true
      # Промежуток между сообщениями в секундах
      messageInterval: 300
      # Сообщения
      messages:
        1:
         - '123'
         - '321'
        2:
         - '321'
         - '123'
    

    Права:
    Думаю пояснять нет необходимости.
    Код:
      # Права на использование цветов:
      pchat.color.*:
        children:
          pchat.color.black: true
          pchat.color.dark_blue: true
          pchat.color.dark_green: true
          pchat.color.dark_aqua: true
          pchat.color.dark_red: true
          pchat.color.dark_purple: true
          pchat.color.gold: true
          pchat.color.gray: true
          pchat.color.dark_gray: true
          pchat.color.blue: true
          pchat.color.green: true
          pchat.color.aqua: true
          pchat.color.red: true
          pchat.color.light_purple: true
          pchat.color.yellow: true
          pchat.color.white: true
      # Права на использование стилей:
      pchat.style.*:
        children:
          pchat.style.obfuscated: true
          pchat.style.bold: true
          pchat.style.strikethrough: true
          pchat.style.underline: true
          pchat.style.italic: true
          pchat.style.reset: true
          pchat.style.hex: true
      # Права обхода
      pchat.bypass.*:
        children:
          pchat.bypass.cooldown: true
          pchat.bypass.newbie: true
      # Право автосообщений
      pchat.automessage:
        default: true
    

    Скачать: YandexDisk
     
    Последнее редактирование: 10 янв 2024
  2. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Как обычно, не рекомендуем использовать плагины на боевых (продуктивных) серверах, у которых нет исходного кода и которые не могут быть декомпилированы из-за применения хитростей к итоговому jar файлу.
     
  3. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Исходный код (декомпил):
    Автор не хочет публиковать исходный код плагина и намеренно скрывает его.
    Поэтому для всех желающих публикую я:
    https://disk.yandex.ru/d/X3JpkvE2-jPueg

    Данные исходники относятся к версии, скаченной 26.11.23 по ссылке
    https://disk.yandex.ru/d/d0H2oe4fgtKIGA
    (вебархив)

    Ниже начинается основное обсуждение ресурса...

    Это решается написанием багрепорта или созданием собственного форка, а не написанием собственного плагина. Ещё и неясно, зачем код скрывать.

    upload_2023-11-25_20-6-22.png
    Максимально стрёмная тема, я бы в жизни такое не поставил
     
    Последнее редактирование: 26 ноя 2023
  4. Автор темы
    Overwrite

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

    Баллы:
    98
    Имя в Minecraft:
    OverwriteMC
    А он не скрыт, просто не все люди способны его посмотреть.
    И вот кто не должен - тому и не надо.

    Ей богу, форкать Chatty, а уж тем более писать баг-репорты - это дело мертвое.
     
  5. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Без дополнительных ухищрений плагины прекрасно декомпилируются. Если этого не происходит - значит это сделано намеренно. Значит есть, что скрывать.

    А код по-хорошему нужен всем, кто заинтересован в пользовании плагином. Отсутствие такого спроса и пораждает вирусню в сборках. Уже давно для всех публичных плагинов есть стандарт публиковать исходники в гит.

    Мертвое дело - писать очередной плагин на чат, коих уже 100500, предлагать всем перейти на этот плагин, а потом вынуждать всех пользователей вновь искать замену, когда разработка будет заброшена за ненадобностью или вследствие жизненных обстоятельств автора.

    Иногда оправданно писать что-то своё, но лишь если аналоги действительно на голову ниже. В данном же случае это совершенно наоборот. Аналоги хорошо приняты сообществом, имеют интеграции с другими плагинами, относительно активно поддерживаются разработчиками и имеют открытый исходный код. Не вижу ни единой причины не использовать их код за основу
     
  6. altf4

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

    Баллы:
    66
    Имя в Minecraft:
    _Thraal_
    Ну и кринж
    Лучше занимайся статьями про лагающие плагины, это лучше получается.
     
  7. Автор темы
    Overwrite

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

    Баллы:
    98
    Имя в Minecraft:
    OverwriteMC
    Ну раз так - приступим к более развёрнутому описанию почему не аналоги или их форки:

    1) Chatty:
    Как уже было сказано - отсутствие полноценной поддержки со стороны разработчика.
    Да, он делает обновления, однако не часто, что не позволяет данный плагин использовать в случаях, когда ты пытаешься держать сервер постоянно на новейшей версии. Если вдруг моджанги опять решат поменять что-то в чат системе новой версии - мне придется ждать тучу лет, чтобы в итоге получить релиз, а дев билды по долгу не выходят.
    Issue писать бесполезно - на них автор не отвечает. Быть может сделает фиксы, однако всё упирается во время этих фиксов.
    Ну а форкать данный плагин я пытался. И я откровенно не понимаю смысла такого нагромождения кода, использования НМС и прочего. Нет, серьезно, для того, чтобы менять чат и его форматы мне уж точно не нужно разбираться как работать с НМС.

    (Ну и личная моя боль - я никогда не пойму причины, по которой формат хекса в Chatty сделан через {#цвет}, это невероятная головная боль, когда сотни людей не могут понять, как им использовать градиент)

    2) ChatEx
    Опять же - про утечку памяти я уже сказал. Убирать её из плагина какими-то путями? Но какой смысл. Мне будет куда проще написать отдельный плагин, без необходимости копать чужой код. Ничего от этого не изменится.

    3) Остальные плагины на чат
    Остальные плагины либо не имеют вообще ничего кроме форматирования чата, даже без создания локальных и глобальных форматов (EssentialsChat меня в этом плане больше всего поразил, ведь как-бы форматы чата там есть, но как-бы на деле формат один, только сообщение через ! видят все, а обычный чат - только люди в указанном радиусе. Отличие между локальным и глобальным чатом там только одно - префикс.), либо имеют в себе слишком много всего. Уже приведенный пример с FlectoneChat - зачем мне в плагине на чат модуль на таб, команда на перевод слов, сворованный с других серверов функционал, который не имеет отношения к чату? Нет, конечно люди могут отключить там весь функционал, но тогда у меня возникает закономерный вопрос, а зачем покупать целый завод с разными станками, вместо покупки одного лишь станка?

    Вот и получается, что лучшее из решений - создать отдельный плагин, который будет иметь в себе всё необходимое и только необходимое.
    И еще раз говорю почему плагин существует - другие плагины на чат либо не удовлетворяют моим и не только требованиям, либо имеют в себе слишком много бесполезного функционала. (ну и еще по тому, что я когда-то обещал сделать плагин на чат, который будет ФАКТИЧЕСКИ на чат, глубокий смысл названий. promised - обещанный)
     
    Последнее редактирование: 26 ноя 2023
  8. Автор темы
    Overwrite

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

    Баллы:
    98
    Имя в Minecraft:
    OverwriteMC
    Скорее не "что" а "от кого". Кому нужно - тот сможет декомпилировать плагин и у него не возникнет ни единой проблемы с этим. Всё зависит лишь от уровня знаний. Код не зашифрован и при декомпиляции будет показан такой какой и есть.
     
  9. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Это цирк. Ну что же, тогда ссылку на исходники добавил я
     
    Последнее редактирование: 26 ноя 2023
  10. awchern

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

    Баллы:
    88
    Как раз таки chatty работает на 1.20.2 так же прекрасно, как и на 1.20.1, purpur 2092
     
  11. awchern

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

    Баллы:
    88
    Да и при всём этом в чатти можно задать радиус работы чата, команду привязать, через которую он будет работать, переключение между чатами, и всё такое, это основной нужный функцилнал, ну или по крайней мере которым я пользуюсь, анонсами пользуюсь из cmi(а насчёт чата, то там нету столько функционала, сколько в чатти), ещё как то режимом spy пользовался из чатти
     
  12. Автор темы
    Overwrite

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

    Баллы:
    98
    Имя в Minecraft:
    OverwriteMC
    Не имею понятия, каким образом он у тебя работал.
    Чисто возможно, теоретически, вероятно, дело в json моде.

    localRadius: 100 - вполне настраивается

    Нет, серьезно. Я не знаю причины, по которым это кому-либо пригождалось... За всё время не видел людей, которые бы использовали и 50% функционала Chatty.
     
  13. Автор темы
    Overwrite

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

    Баллы:
    98
    Имя в Minecraft:
    OverwriteMC
    И что тебе это дало? Разгласил код тому, кому это не нужно? Зачем? Чтобы все убедились что плагин чист? Тоесть я по твоему мнению похож на человека, который будет распространять вирусы на данном форуме? В таком случае кинул бы репорт - отправил бы на модерацию. Хотя ты так или иначе смог без труда посмотреть код плагина и убедиться, что в нем ничего нет. Так к чему эта претензия на недоступность исходника для всех?

    Выглядит как плевок в лицо с твоей стороны, в свете того, что я сказал, зачем код был скрыт от глаза неопытного.
     
    Последнее редактирование: 26 ноя 2023
  14. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    У любого публичного плагина должны быть исходники в нормальном виде. Всё. Больше тут обсуждать нечего. Либо ты миришься с тем, что все изучают плагин, либо вовсе ничего не выкладываешь. Более того, если бы плагин не был защищен от декомпиляции, я бы даже не обратил на него внимание.
    Закрытый исходный код пораждает кучу вирусни, которой в майнкрафте и так навалом
     
  15. Автор темы
    Overwrite

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

    Баллы:
    98
    Имя в Minecraft:
    OverwriteMC
  16. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Это уже проблема тех, кто пользуется Polymart. Я им не пользуюсь, так что пускай разбираются сами. Тем более, что там наверняка есть хоть какая-то модерация ресурсов в отличие от руведра.

    Да и наличие таких плагинов на Polymart не отменяет того факта, что каждый человек должен иметь возможность понимать, что он конкретно ставит на собственный сервер.

    А причину, кстати, ты так и не назвал
     
  17. Автор темы
    Overwrite

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

    Баллы:
    98
    Имя в Minecraft:
    OverwriteMC
    Да шоб обезьяны код не тырили. И да, такие есть, и вот из за 1 такой так и сделано
     
  18. Автор темы
    Overwrite

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

    Баллы:
    98
    Имя в Minecraft:
    OverwriteMC
    Ну, изначально оно было на спиготе, потом мд_5 выпилил большинство плагинов сие автора со спигота (я хз почему, может ему тоже обфускация не нравится), после чего пришлось мигрировать. :rolleyes:
     
  19. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Пускай тырят, глядишь чему и научатся.
    Возможность просмотра исходного кода куда важнее того, что кто-то присвоит себе твой плагин - он и так бесплатный. Особенно учитывая, что в интернете куча других плагинов с аналогичным функционалом и открытым исходным кодом. И твой вариант, уж поверь, никакой уникальностью не обладает, чтобы действительно заморачиваться об этом. Кому надо стырить код - всегда найдёт, где это сделать.
    В принципе примерно всё программирование - это "тырить код". Ты, например, "стырил" код баккит апи и каффеин, чтобы написать свой плагин.

    На SpigotMC жёсткие требования к обфускации и подобным ухищрениям, да
     
  20. Автор темы
    Overwrite

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

    Баллы:
    98
    Имя в Minecraft:
    OverwriteMC
    Пока что мне интересно слушать их негодование, потом может и выложу без классфолдер трансформации.

    (На самом деле изначально я хотел залочить только основу плагина, но оказалось что этот трансформер не может исключать отдельные папки и классы)
     

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