CraftPresence [1.21.10] [1.20.1] [1.12.2]
CraftPresence — мод, позволяющий полностью настроить, как другие видят твою игру Minecraft через Discord (используя API Rich Presence и DiscordIPC). Ты можешь отображать не просто «Играет в Minecraft», а текущее измерение, биом, сервер, название модпака, время в игре, предметы в руках и многое другое. Мод поддерживает интеграцию с популярными лаунчерами и сборками (MultiMC, Modrinth, Technic и др.), автоматически подхватывая имя пакета и его иконку для отображения.



Возможности
Параметры можно полностью кастомизировать — ограничения определяются только вашей фантазией.
Интеграция с лаунчерами и сборками
Мод автоматически определяет, если ваша папка запуска содержит:
- сборку ATLauncher (instance.json),
- манифест Twitch / Overwolf / Curse / GDLauncher (manifest.json, minecraftinstance.json),
- сборку MCUpdater (instance.json),
- профиль Modrinth (profile.json),
- сборку MultiMC (instance.cfg),
- файл установленных паков Technic (installedPacks).
В зависимости от версии мода:
- до v1.6.0 — название пака отображается в статусе вместе с иконкой;
- с v1.6.0 по v2.0.0 — имя пака подставляется в плейсхолдер &PACK&;
- начиная с v2.0 — используется пара переменных pack.name и pack.icon, которые можно указать вручную в настройках RPC.
Пример: сборка All the Mods 7 преобразуется в ключ иконки allthemods7.
Для MultiMC используется собственное свойство Icon Key, поэтому преобразование не требуется.
Команды
CraftPresence поддерживает собственные команды, доступные через префикс /craftpresence или /cp.
С версии 1.5.0 и выше они выполняются только через встроенное GUI команд в меню конфигурации.
Основные команды:
- /cp compile "[expr]" — проверяет вывод выражения-плейсхолдера через Starscript.
- /cp search (type:typeName, [searchTerm], all) — ищет доступные плейсхолдеры для Rich Presence.
- /cp reload — перезагружает данные мода.
- /cp request — показывает информацию о запросе на присоединение.
- /cp export — выводит команды экспорта данных мода.
- /cp view — базовая команда для просмотра данных отображения:
- /cp view placeholders — список всех доступных плейсхолдеров;
- /cp view currentData — текущее состояние RPC в текстовом виде;
- /cp view assets (custom | all) — доступные ключи иконок;
- /cp view dimensions — список измерений (если включено отображение измерений);
- /cp view biomes — список биомов (если включено отображение биомов);
- /cp view servers — список серверов (если включено отображение состояния игры);
- /cp view screens — список GUI-окон (если активен режим Per-Gui);
- /cp view items — список предметов (если активен Per-Item);
- /cp view entities — список существ (если активен Per-Entity).
- /cp reboot — перезапускает RPC.
- /cp shutdown — отключает RPC (включается обратно через /cp reboot).
- /cp help или /cp ? — отображает справку по всем командам.
Горячие клавиши (KeyBinds)
CraftPresence поддерживает собственные клавиши для быстрого доступа к функциям мода.
- В версиях 1.5.5–1.8.0 клавиши настраиваются через Accessibility Settings в конфиге мода, а не через стандартное меню управления.
- В версиях 1.8.0 и выше можно настраивать клавиши либо в отдельном меню конфига, либо через обычное меню управления.
Основная клавиша по умолчанию:
- Открыть GUI конфигурации CraftPresence — клавиша ~ / GRAVE.
Плейсхолдеры и функции (About Placeholders and Functions)
CraftPresence использует плейсхолдеры и функции, чтобы гибко настраивать отображение данных в Discord Rich Presence.
Основные моменты:
- С версии 2.0.0 плейсхолдеры совместимы с Starscript.
- Все плейсхолдеры, функции и выражения должны быть обёрнуты в фигурные скобки {}.
- Если нужно объединить плейсхолдер с другим значением, используется функция getResult.
- Стандартные функции и переменные доступны через StandardLib.
Примеры плейсхолдеров
Общие:
- general.brand — бренд Minecraft
- general.icon — иконка по умолчанию
- general.mods — количество модов в папке
- general.title — название Minecraft
- general.version — версия Minecraft
- general.protocol — протокол версии
Меню:
- menu.message — данные отображения главного меню
- menu.icon — иконка главного меню
Сборки:
- pack.name — имя текущего пака
- pack.icon — иконка пака
- pack.type — тип пака
Игрок:
- player.name — имя игрока
- player.uuid.short — укороченный UUID
- player.uuid.full — полный UUID
- player.icon — иконка головы игрока
- player.position.x/y/z — координаты игрока
- player.health.current — текущее здоровье
- player.health.max — максимальное здоровье
- player.mode — текущий игровой режим
GUI:
- screen.message — данные отображения текущего GUI
- screen.name — имя текущего GUI
- screen.icon — иконка текущего GUI
Биомы:
- biome.message — данные биома
- biome.name — имя биома
- biome.identifier — идентификатор биома
- biome.icon — иконка биома
Измерения:
- dimension.message — данные измерения
- dimension.name — имя измерения
- dimension.identifier — идентификатор измерения
- dimension.icon — иконка измерения
Сущности:
- entity.default.icon — иконка сущности по умолчанию
- entity.target.* — данные целевой сущности
- entity.riding.* — данные сущности, на которой едет игрок
Мир:
- world.difficulty — сложность мира
- world.weather.name — текущее погодное состояние
- world.name — имя мира
- world.type — тип мира
- world.time.format_24/12 — игровое время
- world.time.day — игровой день
Сервер:
- server.message — данные сервера
- server.icon — иконка сервера
- server.players.current/max — текущие/максимальные игроки
- server.address.full/short — адрес сервера
- server.name — имя сервера
- server.motd.raw — raw MOTD
- server.type/minigame — тип мира/мини-игры (Realm)
Предметы:
- item.message.* — данные о предметах
- item.[slotId].name/message — данные конкретного слота
Дополнительно:
- _general.instance — экземпляр Minecraft
- _general.player/world — экземпляры игрока и мира
- data.*.instance/class — экземпляры и классы модулей (биомы, измерения, сущности, предметы, GUI, сервер)
Функции (Function List)
CraftPresence предоставляет множество встроенных функций для работы с данными игры и отображения их в Discord Rich Presence.
Основные функции:
- asIcon(input) — преобразует строку в корректный формат иконки.
- asIdentifier(target) — преобразует идентификатор в читаемое имя.
- asProperWord(input) — делает строку удобочитаемой.
- capitalizeWords(input) — делает заглавными все слова в строке.
- clampDouble/Float/Int/Long(num, min, max) — ограничивает число заданным диапазоном.
- convertTime(input, originalPattern, newPattern) — преобразует строку времени в новый формат.
- convertTimeZone(dateString, fromFormat, fromTimeZone, toTimeZone) — меняет часовой пояс для строки даты.
- dateToEpochMilli/Second(dateString, format, timeZone) — конвертирует дату в миллисекунды или секунды Unix.
- epochMilliToDate/epochSecondToDate — обратное преобразование в дату.
- executeMethod(class, instance, methodName, ...) — вызывает метод через Reflection.
- format(input, args...) — форматирует строку с аргументами.
- formatAddress(input, returnPort) — форматирует IP-адрес.
- getArrayElement(content, index) — возвращает элемент массива по индексу.
- getAsset(input) — получает данные Discord-иконки по ключу.
- getAssetId/Key/Type/Url(input) — возвращает ID, ключ, тип или URL иконки.
- getClass(reference) — возвращает объект класса по имени или ссылке.
- getComponent(data, path) — извлекает данные компонента (MC 1.20.5+).
- getCurrentTime() — текущее время.
- getElapsedMillis/Nanos/Seconds() — время с момента запуска в разных единицах.
- getField(class, instance, fieldName) — получает значение поля через Reflection.
- getFields(class) — возвращает список полей класса.
- getFirst(args) — возвращает первый непустой аргумент.
- getJsonElement(url|jsonString, path...) — получает элемент JSON по пути.
- getMethods(class) — возвращает список методов класса.
- getNamespace(input) — возвращает namespace из идентификатора.
- getNbt(data, path...) — извлекает NBT-тег.
- getOrDefault(target, alternative) — возвращает значение или альтернативу.
- getPath(input) — возвращает путь из идентификатора.
- getResult(input) — рекурсивная обработка плейсхолдера.
- hasField(class, fieldName) — проверяет наличие поля в классе.
- isColor(input) — проверяет, является ли строка цветовым кодом.
- isCustomAsset(input) — проверяет наличие кастомной иконки.
- isUuid(input) — проверяет валидность UUID.
- isValidAsset(input) — проверяет, существует ли иконка для текущего Client ID.
- isValidId(input) — проверяет валидность Client ID.
- isWithinValue(value, min, max) — проверяет, входит ли число в диапазон.
- length(input) — длина строки.
- lerpDouble/Float(num, min, max) — линейная интерполяция числа.
- mcTranslate(input, args...) — перевод строки по игровым локализациям.
- minify(input, length) — сокращает строку до указанной длины.
- nullOrEmpty(input) — проверяет пустую строку.
- randomAsset() — случайная иконка из доступных.
- randomString(args) — случайный элемент из аргументов.
- removeRepeatWords(input) — убирает дублирующиеся слова.
- roundDouble(num, places) — округляет число.
- snapToStep(num, valueStep) — округляет до ближайшего шага.
- split(input, regex, limit) — делит строку по регулярному выражению.
- stripAllFormatting(input) — убирает цвета и форматирование.
- stripColors(input) — убирает только цветовые коды.
- stripFormatting(input) — убирает форматирование.
- timeFromEpochMilli/Second(epoch) — возвращает объект времени из Epoch.
- timeFromString(dateString, fromFormat, fromTimeZone) — конвертирует дату в объект времени.
- timeToEpochMilli/Second(data) — преобразует дату в миллисекунды или секунды Epoch.
- timeToString(date, toFormat, toTimeZone) — форматирует дату в строку.
- toCamelCase(input) — преобразует строку в CamelCase.
- translate(input, args...) — перевод строки по локализациям мода.
Комментарии (0)