- Supports version
- 1.8.✘
- 1.9.✘
- 1.10.✘
- 1.11.✘
- 1.12.✘
- 1.13.✘
- 1.14.✘
- 1.15.✘
- 1.16.✘
- Official page
- https://www.spigotmc.org/resources/58934/
Примечание. Версия BungeeCord работает некорректно, используйте вместо нее Spigot и MySQL.
ПРИМЕЧАНИЕ 2: 2.5.0 был протестирован только на версии 1.17 и может не загружаться ни на чем другом.
Особенности
- Создавайте свои собственные команды Discord, влияющие на игру.
- Отправляйте сообщения в Discord из игры.
- Подключите свою учетную запись бота Discord.
- Свяжите учетные записи Discord и Minecraft.
- Синхронизация ролей / рангов.
- Поддержка MySQL.
- Все сообщения настраиваются.
- Используйте заполнители из PlaceholderAPI.
- Синхронизируйте чат между Discord и Minecraft.
- Поддерживает 1.8 - 1.17.X.
- Измените присутствие бота.
- Выполнять команду, когда игроки связывают свою учетную запись.
- Взаимодействуйте с консолью из Discord.
Плагин сейчас находится в бета-версии. Пожалуйста, сообщайте обо всех обнаруженных ошибках, и я исправлю их как можно скорее.
Установка:
- Скачайте плагин. Добавьте плагин в папку плагинов на вашем сервере.
- Загрузите PlaceholderAPI и его тоже в папку плагинов. (Если DiscordMinecraft не загрузит его автоматически).
- (Повторно) запустите, а затем остановите свой сервер.
- Найдите файл конфигурации и откройте его.
- Перейдите к https://discordapp.com/developers/applications/me/create
- Назовите приложение и сохраните изменения.
- Выберите «Bot» на боковой панели, а затем «Add bot».
- Покажите токен бота, где написано: «'Click to reveal token» (в разделе «Token»).
- Скопируйте токен и вставьте его в поле bot-token в конфигурации плагина.
- Измените настройки бота по своему вкусу.
- Выберите OAuth2 на боковой панели.
- Выберите бота под областями действия (bot under scopes), затем администратор с правами бота.
- Скопируйте сгенерированную ссылку и перейдите по ней.
- Выберите свой сервер и затем авторизуйтесь.
- Откройте Discord и включите режим разработчика (Настройки> Внешний вид).
- Щелкните правой кнопкой мыши на иконку вашего сервера на боковой панели и выберите Копировать ID.
- Вставьте ID в поле guild-id в config.
- Отредактируйте остальную часть конфига по своему вкусу.
- Запустите свой сервер.
Если вы используете BungeeCord:
Примечание. Версия BungeeCord не работает должным образом и, следовательно, претерпевает изменение кодовой базы.- Установите плагин на каждый из ваших серверов в вашей сети.
- Измените "bungee" в вашей конфигурации на "true".
- Настройте MySQL на каждом отдельном сервере, чтобы серверы синхронизировались с одной и той же базой данных.
- Загрузите плагин на свой сервер BungeeCord.
- Добавьте ID сервера дискорда и токен бота (тот же, что вы добавили для отдельных серверов).
- Запустите сервер BungeeCord.
команды и права
/discordsay [канал] [сообщение] — Отправляет сообщение на указанный канал.Право: discordminecraft.discordsay
/discordlink — Инициирует связь учетной записи с Discord.
Право: discordminecraft.discordlink
/discordunlink
Отменяет связь вашей учетной записи с Discord.
Право: discordminecraft.discordunlink
/togglediscordchat или /tdc — Переключает, видите ли вы синхронизацию чата с Discord.
Право: discordminecraft.tdc
/senddiscordchat [сообщение] или /sdc— Отправляет сообщение чата в Discord.
Право: discordminecraft.sdc
/discord — Отправляет игроку сообщение со ссылкой на сервер Discord
Право: discordminecraft.discord
Кастомизация команд
Этот плагин позволяет создавать собственные команды, используя файл config. Аннотированный пример этого, объясняющий, как создавать команды, можно найти ниже и в самой конфигурации.Если вы используете BungeeCord, создайте их в своей конфигурации BungeeCord, в противном случае просто создайте их в конфигурации своего сервера.
Доступные в настоящее время действия и условия
Дополнительные действия и условия будут добавлены в будущем обновлении. Если вы хотите, чтобы я выполнил действие или условие, свяжитесь со мной, и я посмотрю, что я могу сделать.
Вы можете сослаться на аргумент в команде, заключив номер аргумента в волнистые скобки.
Добавление + после этого числа относится ко всем аргументам после этого аргумента включительно (с пробелами между ними).
Некоторые действия поддерживают заполнители из PlaceholderAPI, они отмечены соответствующим образом. Вы можете найти полный список доступных заполнителей здесь: https://www.spigotmc.org/wiki/placeholderapi-placeholder/
Плагин предоставляет несколько заполнителей для действий и условий. Их можно увидеть ниже:
{SENDER_NICK} — Получает псевдоним, который пользователь использует в вашей гильдии.
{SENDER} — Получает имя пользователя учетной записи Discord отправителя.
{FIRST_PLAYER} — Получает имя пользователя первого доступного игрока на сервере ('none', если сервер пуст)
Аргументы действия / условия разделяются знаком |.
Действия:
[botMessage] {message} — Отправляет сообщение от бота (в Discord) в канал, по которому оно было отправлено.[messagePlayer] {player} | {message} — Отправляет сообщение игроку в Minecraft. Поддерживает заполнители.
[executeConsoleCommand] {команда} — Выполняет определенную команду из консоли. Если вы используете BungeeCord, это выполняет команду в консоли BungeeCord.
[executePlayerCommand] {player} | {command} — Выполняет указанную команду от указанного игрока. Поддерживает заполнители. Если вы используете BungeeCord, это выполняет команду с сервера Spigot, на котором находится плеер.
[executePlaceholderConsoleCommand] {контекст заполнителя} | {команда} — Выполняет указанную команду с консоли. Поддерживает заполнители, но в качестве первого аргумента необходимо указать онлайн-игрока. Если вы используете BungeeCord, он выполняет команду на сервере игрока, заданную в контексте заполнителя.
Условия:
[minArgs] {amount} — Устанавливает минимальное количество аргументов для команды.[maxArgs] {amount} — Устанавливает максимальное количество аргументов для команды.
[argsIsInt] {arg num} — Проверяет, является ли указанный аргумент целым (целым числом). Аргумент не нужно заключать в волнистые скобки.
[argsIsNumber] {arg num} — Проверяет, является ли указанный аргумент числом. Аргумент не нужно заключать в волнистые скобки.
[isNameOfOnlinePlayer] {arg num} — Проверяет, является ли аргумент именем онлайн-игрока. Аргумент не нужно заключать в волнистые скобки.
Code:
################
### Команды ###
################
# Вы можете просто добавить команды боту, как показано ниже:
# Этот пример полностью аннотирован и показывает реализацию
# всей функциональности. Рекомендуется сохранить копию
# это на будущее, но если вы его потеряете, вы можете
# найдите его на странице ресурса.
#
# В этом конкретном примере мы делаем команду, которая
# позволяет модераторам отправлять сообщения онлайн-игрокам из Discord.
#
# Создайте команду, просто создав новый ключ конфигурации с именем
# "command-{name}", где {name} - это команда, которая должна
# быть выполненным, например, в ?msg, "msg" - это имя.
command-msg:
# Здесь мы проверяем, что количество аргументов равно
# минимум 2. Это потому, что нам нужно указать имя
# пользователя и хотя бы одно слово для сообщения.
- '[minArgs] 2'
# Имя игрока - это первый аргумент, поэтому мы проверяем
# что первый аргумент соответствует названию онлайн
# игрок.
- '[isNameOfOnlinePlayer] 1'
# Действия - это то, что произойдет, если все условия оценены
# как true. Формат аналогичен формату раздела условий:
# указывающий тип действия, а затем любые данные, которые с ним связаны. В качестве
# с условиями, мы работаем в хронологическом порядке по списку
# действия.
actions:
# Это отправляет игроку сообщение в первом аргументе, содержащее
# имя отправителя в Discord и остальные аргументы.
- '[messagePlayer] {1}|&lDISCORD: &r{SENDER} >> &o{2+}'
# Это отвечает на команду, уведомляя отправителя о том, что
# игроку отправлено сообщение.
- '[botMessage] :white_check_mark: Сообщение доставлено.'
Синхронизация ролей
Игроки могут синхронизировать свой рейтинг в Minecraft с ролями в Discord. Чтобы это сработало, вы должны добавить в конфигурацию список имен ролей, которые будут синхронизироваться из Discord, затем для ранга Minecraft добавьте право доступа discordminecraft.syncrank.{имя роли}, имя роли - это имя роли Discord точно так, как вы указали в конфиге.Если имя роли содержит пробел, замените его дефисом (-).
После того, как вы настроите это, ранги будут автоматически синхронизироваться между игроками, которые связали свои учетные записи при каждом входе в систему. Игроки вводят в игре /discordlink, и им даются дальнейшие инструкции.
Синхронизация чата
Вы можете выбрать синхронизацию игрового канала чата с каналом Discord. Это легко настроить через config. По умолчанию он отключен, так как требуется ID канала для этих сообщений от Discord.Вы можете переключить его так, чтобы сообщения, отправленные в чате, отправлялись сюда, просто запустив /senddiscordchat (/sdc).
Code:
# Здесь вы можете изменить параметры функции синхронизации чата.
chat-sync:
# Включить ли синхронизацию чата.
enabled: false
# ID используемого канала, на который будут отправляться сообщения.
# Получите это, включив режим разработчика в настройках пользователя ->
# внешний вид и прокрутка до расширенного раздела. Один раз
# включен, щелкните канал правой кнопкой мыши, выберите "Копировать идентификатор" и
# вставьте сюда.
channel: 123456789
# Как сообщения будут форматироваться в игре и в Discord.
# %s (sender name)
# %m (message)
chat-format: '&e&l%s &f>> &e%m'
discord-chat-format: '**%s**: %m'
# Смогут ли игроки автоматически видеть чат
# синхронизировать сообщения при входе в систему. Если это отключено, они
# придется вручную включать это при каждом вводе логина /tdc.
enable-on-join: true