Simple Rich Discord Presence
Клиентский мод для Minecraft, который показывает в Discord ваше состояние: главное меню, загрузку, вход в мир и текущее измерение. Поддерживает Fabric, Forge и NeoForge, а через KubeJS позволяет настраивать статус под сборку модов.
Simple Rich Discord Presence (SDRP) - клиентский мод для Minecraft, который связывает игру с Discord Rich Presence. Он показывает друзьям, чем вы заняты: находитесь в главном меню, загружаете мир, играете в обычном мире, исследуете Незер или отправились в Край.
Это полезно для тех, кто часто играет в сборки модов и хочет оставить понятный статус в Discord без ручного редактирования профиля. Вместо общей надписи вроде "Играет в Minecraft" друзья увидят более конкретную информацию о текущем состоянии клиента и измерении.
Что показывает SDRP
Мод отслеживает основные события клиента:
- главное меню Minecraft;
- загрузку игры и мира;
- вход игрока в мир;
- смену измерения;
- текущее состояние, например нахождение в Верхнем мире, Незере или Крае.
Simple Rich Discord Presence работает на стороне клиента, поэтому для отображения статуса в Discord его достаточно установить игроку. Серверу и другим участникам мод обычно не требуется, если только конкретная сборка не использует дополнительные скрипты или настройки, связанные с KubeJS.
Проект относится к социальным и утилитарным модам. На игровой процесс он не влияет: новые блоки, предметы, мобы и механики не добавляются. Его задача проще, но вполне практичная - сделать присутствие игрока в Discord информативнее.
Настройка Discord Rich Presence
Для работы с собственным Discord-приложением используется конфигурация мода:
clientId: "Your Discord App ID"
enable: "If you wish to disable Discord Rich Presence, set this to false."
screenEvent: If set to false, it disables the build in screenEvent, which is used to tell when we are on the main menu.
clientJoinEvent: If set to false, it disables the build in clientJoinEvent, which is used to tell when the player is joining a world and changing Dimension.
Параметр clientId отвечает за идентификатор Discord-приложения. Он нужен, если вы хотите использовать собственное приложение с собственными изображениями Rich Presence.
Параметр enable полностью включает или отключает отображение статуса. Если установить для него значение false, мод перестанет отправлять данные о Minecraft в Discord.
screenEvent управляет встроенным событием экранов. Оно используется, чтобы определить, находится ли игрок в главном меню. При значении false это отслеживание отключается.
clientJoinEvent отвечает за встроенное определение входа в мир и смены измерения. Его можно отключить, если состояние должно задаваться самостоятельно через KubeJS или другую логику сборки.
Интеграция с KubeJS
Главная особенность SDRP для создателей сборок модов - возможность менять Discord-статус скриптами KubeJS. Это позволяет показывать не только стандартные состояния, но и собственные сообщения, локализованные названия измерений и нужные изображения.
Основная функция выглядит так:
SDRP.setState(String message, String imageName, String imageKey)
Параметры функции:
message- текст под названием сборки или приложения, напримерIn OverworldилиIn Nether. Вместо обычной строки можно передать ключ локализации;imageName- подпись, которая появляется при наведении на маленькое изображение, напримерOverworldилиNether. Здесь также можно использовать строку или ключ локализации;imageKey- имя изображения Rich Presence, которое должно отображаться в Discord, напримерloading,overworldилиmenu.
Текущее установленное состояние можно получить через функцию:
SDRP.getCurrentState()
Она возвращает текущий статус клиента, заданный для Discord Rich Presence. Функция пригодится в более сложных скриптах, где состояние нужно проверить перед обновлением.
Пример смены статуса при входе в мир
Ниже приведён пример для файла kubejs/startup_script/sdrp.js. Скрипт проверяет вход игрока в мир на клиенте, получает путь текущего измерения и подставляет его в состояние SDRP.
onForgeEvent(
"net.minecraftforge.event.entity.EntityJoinWorldEvent",
(event) => {
if (event.getEntity().type === "entity.minecraft.player") {
if (event.getWorld().isClientSide()) {
const dimPath = event.getWorld().dimension().location().getPath();
SDRP.setState(`sdrp.${dimPath}.in`, `sdrp.${dimPath}`, "dimPath");
}
}
}
)
Такой подход особенно удобен для модпаков с дополнительными измерениями. Скрипт не требует вручную прописывать каждое измерение: он берёт путь из реестра Minecraft и использует его как основу для ключей локализации и изображения.
Изображения Rich Presence
При использовании собственного Discord-приложения можно назначать изображения через ключи Rich Presence. В стандартном наборе используются следующие варианты:
logo
loading
menu
Для измерений ключом служит путь из имени реестра. В обычном Minecraft это, например:
overworld
the_nether
the_end
yamda_dim
yamda_dim приведён как пример пользовательского измерения. Для другого мода или датапака ключ будет зависеть от его собственного registry name path.
Это позволяет связать разные измерения с разными иллюстрациями. В Discord игрок может видеть не только текст, но и подходящий значок текущей локации, если соответствующий ресурс добавлен в используемое Discord-приложение.
Локализация названий и состояний
Текст статуса можно задавать через языковые ключи. Для сообщения под названием приложения используется формат:
sdrp.<registry name path>.in
Например, для Верхнего мира ключ будет выглядеть так:
sdrp.overworld.in
Подпись при наведении на маленькое изображение задаётся ключом без суффикса .in:
sdrp.<registry name path>
Для Верхнего мира это будет:
sdrp.overworld
Языковые ключи можно изменять и добавлять через датапаки или с помощью модов и инструментов вроде KubeJS. Благодаря этому в статусе можно использовать русский язык, названия измерений из конкретной сборки модов и даже разные варианты текста для отдельных локалей.
Совместимость и версии
Simple Rich Discord Presence заявлен для Fabric, Forge и NeoForge. Поддержка проекта охватывает версии Minecraft от 1.14.4 до веток 1.21.x, а также современные версии 26.1-26.3. Для актуальной ветки 26.3 указана версия мода 26.3.0.1 для Fabric и NeoForge.
Перед установкой проверьте файл мода и загрузчик именно для вашей версии Minecraft. Версия для Fabric не подходит для Forge или NeoForge автоматически, даже если номер игры совпадает. То же касается KubeJS: синтаксис событий и доступные методы могут зависеть от версии загрузчика и самого KubeJS.
Кому пригодится этот мод
SDRP стоит установить, если вы часто играете в Minecraft с друзьями и хотите, чтобы в Discord было видно не только сам факт запуска игры, но и текущий этап прохождения. Для обычного одиночного мира хватит встроенных событий меню, загрузки и смены измерения.
Создателям сборок модов мод даёт больше свободы. Через KubeJS можно заменить стандартные надписи, добавить поддержку пользовательских измерений и связать статус с собственной системой локализации. В результате Discord Rich Presence выглядит частью конкретной сборки, а не универсальной строкой для любого мира.
Проект также встречается в сборках вроде Landscapes Reimagined: Genesis и Fabric Eternal. Это логичный вариант для больших модпаков, где игроку важно быстро понять, где именно находится другой участник: в меню, в обычном мире или в одном из дополнительных измерений.
Что важно знать перед установкой
Мод не добавляет внутриигровое меню, новые предметы или визуальные эффекты. Его результат виден в Discord, поэтому при отключённом Discord, неверном clientId или неправильно настроенных изображениях статус может не отображаться так, как задумано.
Если вы меняете конфигурацию или скрипты KubeJS, сначала проверьте базовый статус без дополнительных условий. Так проще понять, проблема связана с Simple Rich Discord Presence, Discord-приложением или ошибкой в скрипте. Для нестандартных измерений также проверьте точный путь реестра: в ключе локализации он должен совпадать с registry name path, включая подчёркивания и другие символы.
По сути, Simple Rich Discord Presence - небольшой служебный мод для Minecraft, который решает одну конкретную задачу. Он передаёт в Discord актуальный контекст игры, а при связке с KubeJS превращается в гибкий инструмент для настройки статусов внутри любой сборки модов.
Часто задаваемые вопросы
Совместимость
Зависимости
Детали
Версии мода Simple Rich Discord Presence
Доступно 105 версий. Сначала показаны самые популярные и самые свежие.