Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Плагин [Chat/Misc] ChatEngine - сделайте взаимодействие между сервером и игроками еще удобнее и красивее!

alofi11

Новичок
Пользователь
Баллы
6
Имя в Minecraft
alofi11
68747470733a2f2f692e696d6775722e636f6d2f485776453233722e706e67


# Соурсы


Скачать плагин и посмотреть открытый код можно на GitHub.
Получить помощь или зарепортить баг можно в Discord сервере плагина.

# О плагине

ChatEngine это концепция реализации взаимодействия между сервером и игроками. Проще говоря, движок чат меню. Меню, то что есть практически на каждом сервере, и упрощает жизнь игрокам. Почему чат меню? Ответ достаточно банален, они перекрывают минусы привычных нам менюшек в виде сундуков. Тем не менее, у них также есть свои минусы, которых нет у вторых. Поэтому, выбор ложится на плечи администраторов, "какое мороженое больше по вкусу - то и берите".

Теперь о том, как работают чат меню. Чат меню, само по себе, это набор сообщений полностью заполняющий пространство чата. Тем не менее, каждое слово может быть сродни предмету - при наведении выводить всплывающее окошко с дюжиной текста, исполнять действие при нажатии. Во время нахождения в меню, плагин не дает игроку получать какие-либо сообщения от сервера, перехватывая их все, и запихивая в буффер. По закрытию, этот буффер отправляется игроку, таким образом ничего из чата, что было во время его нахождения в меню, он не теряет.

# Плюсы
  • В разы больше возможностей для оформления.
  • Не закрывает поле зрения.
  • Быстрый доступ (можно играть оставив открытым).
  • Более понятный вид.
# Минусы
  • Если прокрутить чат вверх, можно увидеть следы меню.
  • Только для версий 1.15+

# Дополнительно
  • Ядро: Paper и/или его форки.
На версии 1.16+ доступны hex цвета и градиенты. Поддерживает PlaceholderAPI. Удобная и понятная система html тегов.

# Пример, как выглядит меню:

ee8a9b1d0fc6379f968d4ef68a6ecf4cf7adeaab_2_690x388.gif


# Пример, как выглядит конфиг:

Код:
example-menu:
  command:
    name: examplemenu
    # Aliases is optional, can be removed.
    aliases: [ exmenu, emenu ]
    permission: examplemenu.perm
  pages:
    # First page without the depend of name is a main and open on command execute.
    main:
      - '<extend/34><#7FFFD4>Main menu'
      - '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'
      - ''
      - '<extend/10>&eWelcome, &a%target%&e!'
      - '<extend/>'
      - '<extend/5><click run>chp(support)</click>&6> &eSupport'
      - ''
      - '<extend/5><click run>chp(resources)</click>&6> &eResources'
      - ''
      - '<extend/>'
      - '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'
      - '<extend/71><click run>close</click>&c⟨Close⟩'

    support:
      - '<extend/34><#7FFFD4>Support'
      - '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'
      - '<extend/>'
      - ''
      - '<extend/5>&eClick for open link:'
      - ''
      - '<extend/5><click open_url>https://ko-fi.com/alofi11</click>&6> &aKo-fi &e(paypal).'
      - ''
      - '<extend/5><click open_url>https://new.donatepay.ru/@658082</click>&6> &aDonatePay &e(other).'
      - '<extend/>'
      - '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'
      - '<extend/72><click run>chp(main)</click>&c⟨Main⟩'

    resources:
      - '<extend/33><#7FFFD4>Resources'
      - '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'
      - '<extend/>'
      - ''
      - '<extend/5>&eClick for open link:'
      - ''
      - '<extend/5><click open_url>https://github.com/alofi11/ChatEngine</click>&6> Git&8Hub'
      - ''
      - '<extend/5><click open_url>https://discord.gg/BcSgjrTbJg</click>&6> &5Discord'
      - '<extend/>'
      - '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'
      - '<extend/72><click run>chp(main)</click>&c⟨Main⟩'

# Мини гайд по настройке

Первым делом заходим в главный конфиг (config.yml), и меняем значение enabled на true.

Также, рекомендую включить дополнение update-notifier, так как оно будет уведомлять о выходе новых версий. При желании, можно включить update-auto-downloader, который автоматически будет скачивать новую версию в папку ChatEngine/versions.

Если версия вашего сервера ниже 1.16, стоит выключить hex и gradients. В итоге, настроенный конфиг выглядит следующим образом:

Код:
# ┅━━━━━━━━━━━━━━━━━━< Configuration >━━━━━━━━━━━━━━━━━━┅ #
# Version of config.
version: ${mainconfig.version}

plugin:
  # Enabled (true) or not (false).
  enabled: false

colors-support:
  # Colors a.g. &0 - black, &f - white.
  # Include formatting a.g. &k - obfuscated, &o - italic.
  legacy: true

  # Hex colors (only 1.16+). Format: <#aabbcc>.
  # Collection: https://www.colorschemer.com/hex-color-codes.
  hex: true

  # (only 1.16+). Format: <#aabbcc:#ddeeff>.
  gradients: true

addons:
  # Players with permissions can write colored messages.
  # Permissions in down be work only if this color type and component is enabled!
  # legacy: chatengine.colors.legacy
  # hex: chatengine.colors.hex
  # gradients: gradients.colors.hex
  chat-colors: false

  # If update of plugin is available, on join administrators be get notify about update.
  # Permission: chatengine.notify
  update-notifier: false

  # Automatically download update to chatengine/versions/version.jar.
  # Update notifier need be enabled.
  update-auto-downloader: false
# ┅━━━━━━━━━━━━━━━━━━< Configuration >━━━━━━━━━━━━━━━━━━┅ #

С главным конфигом все. После этого нужно открыть конфиг с сообщениями (messages.yml) и внимательно прочитать все что там написано. Также, при желании изменить сообщения от плагина. Перед тем как приступить к конфигу с меню (menus.yml), стоит перезагрузить сервер с плагином, и ввести команду /exmenu, после этого можете приступать к конфигу, это поможет вам лучше понять что к чему в нем.
 
Всё бы было хорошо, но есть одно большое НО. Некоторые игроки уменьшают чат, чтобы он им не мешал при игре, теперь попробуем представить, если кто нибудь наполнит сервер такими менюшками... Да и с буффером идея не оч. Если там понапишут 500 сообщений или игрок встанет в афк так на минуток 10 на популярном сервере с плагином и открытым меню, то при выходе у него произойдёт взрыв....
 
Всё бы было хорошо, но есть одно большое НО. Некоторые игроки уменьшают чат, чтобы он им не мешал при игре, теперь попробуем представить, если кто нибудь наполнит сервер такими менюшками...
Это не такое и большое НО, и да, это минус. Пока увы, без модов никак нельзя получить данные о размере чата игрока. Нет ничего идеально, кому какие минусы больше по вкусу:)
 
Это не такое и большое НО, и да, это минус. Пока увы, без модов никак нельзя получить данные о размере чата игрока. Нет ничего идеально, кому какие минусы больше по вкусу:)
Даже если получишь - ничего не сделаешь, ты же не будешь заставлять игрока качать ресурспак с огромными шрифтами где буквы даже в мелком чатике будут размером с автомобиль. Хотя так, исходя из приложенной гифки выглядет вполне сносно(надеюсь, всё будет так же и в сорс коде).
 
Даже если получишь - ничего не сделаешь, ты же не будешь заставлять игрока качать ресурспак с огромными шрифтами где буквы даже в мелком чатике будут размером с автомобиль. Хотя так, исходя из приложенной гифки выглядет вполне сносно(надеюсь, всё будет так же и в сорс коде).
А при чем тут шрифт вообще? Я про сообщение аля "...измените размер чата на оптимальный....".
 
Всё бы было хорошо, но есть одно большое НО. Некоторые игроки уменьшают чат, чтобы он им не мешал при игре, теперь попробуем представить, если кто нибудь наполнит сервер такими менюшками... Да и с буффером идея не оч. Если там понапишут 500 сообщений или игрок встанет в афк так на минуток 10 на популярном сервере с плагином и открытым меню, то при выходе у него произойдёт взрыв....
буфер имеет ограничение, а при выходе игрока буфер просто чистится, и никому пакеты не отправляются.
 
Очень хорошо, с точки зрения концепции
 

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

Назад
Верх