Перейти к содержимому

AfkPlus

Новый мод для управления AFK с полной обработкой времени, длительности и причины AFK, а также полной поддержкой форматирования Placeholder API. Работает и в одиночной игре; может передавать эту информацию другим модам через Placeholder API. Поддерживает Luck Permissions.

Fabric
Загрузчики
Fabric
Скачиваний на Modrinth
37,9 тыс.
Подписчиков на Modrinth
64
версий
289
Обновлён
23 сентября 202623 сент.
Опубликован
в 2023
Example — Example of what this Mod can do · свайп

Коротко о моде

Работает на Fabric
Для Minecraft 1.17–1.18.2, 1.19.1–26.3
Ставится только на сервер; игрокам ставить не нужно
Последняя версия — v1.7.17-mc26.3 от 23 сентября 2026
Лицензия MIT — бесплатно
Где нужен
В игрене нуженНа сервереобязателен

Ставится только на сервер; игрокам ставить не нужно

Версии игры1.17–1.18.2, 1.19.1–26.3
Описание переведено автоматическиПоказать оригинал (EN)

AfkPlus Fabric Mod для Minecraft

workflow

Example

Join Sakura's RyokoCraft Discord

Основное описание:

  • Форк проекта AfkDisplay от beabfc. Он дал мне своё благословение на создание этого мода, смотрите вкладку Archived Issues.
  • Показывает, кто из игроков AFK, в списке игроков — с причинами, длительностью и временем.
  • Полностью настраиваемый, с поддержкой Placeholder API, включая все узлы форматирования Placeholder API, такие как жёлтый или жирный, из коробки. (Можно даже вставить URL в причину AFK!)
  • Мод теперь работает в одиночной игре и на встроенных серверах (Open to LAN).
  • [NEW] Начиная с декабря 2024 года мод в основном переписан; теперь это MultiVersion-проект на архитектуре шаблонного мода Fallen-Breath.
  • [NEW] Мод теперь зависит от моей новой библиотеки CoreLib, а система More Color также вынесена в мод More Color API.

    • Оба включены в JAR-файл AfkPlus.

Переписывание мода и новые возможности

  • Вся экосистема мода переведена на мультиверсионную архитектуру, чтобы быстрее портировать мод на версии 1.19.2–1.21.4+ одновременно, используя одну ветку.
  • Конфиг больше не использует TOML и переведён на основанную на данных JSON-систему конфигов CoreLib; работает похоже на экосистему модов Pat.
  • Большинство событий игрока/сервера теперь управляются интерфейсами CoreLib; с несколькими исключениями, специфичными для AFK.
  • Все команды теперь регистрируются и управляются интерфейсом CoreLib.
  • Всё абстрактное форматирование Text Placeholder API и дополнительные цветовые теги теперь управляются More Color API. Смотрите команду /morecolors.
  • Все новые абстрактные интерфейсы форматирования TimeDate / Duration управляются CoreLib.
  • Полностью переписанная система AfkPlayer / списка AFK-игроков на основе абстракции, а не через Mixin-классы. Это должно помочь с проблемами совместимости со строгими модами и избавиться от уродливого кода.
  • Вся экосистема мода от CoreLib до AfkPlus имеет API / систему событий, чтобы другие моды могли реализовать и обеспечить совместимость в своих модах.
  • AfkPlus добавляет обработку совместимости API для Vanish, Carpet Mod и Styled Player List. Интеграция с каждым модом зависит от потребностей совместимости.
  • Добавлено несколько опций message, а системы afkKick и disableDamage вынесены в отдельные категории конфига. Смотрите конфиг ниже для дополнительной информации по умолчанию.
  • Добавлено несколько других исправлений, багов и функций по запросам; например, возможность полностью настроить сообщения Gone for: XXX через различные опции конфига.

Возможности

  • Добавлен плейсхолдер %afkplus:afk%, чтобы дать очень простой тег '[AFK]' игрокам в AFK.
  • Добавлен плейсхолдер %afkplus:name%/%afkplus:display_name%, чтобы использовать его как замену плейсхолдера '%player:displayname%' в других модах, таких как Styled Playerlist. *Обратите внимание, что этот метод разработан полностью совместимым с префиксами LuckPerms в Styled Playerlist, потому что стандартный метод обновления списка игроков не работает, или вы можете просто использовать %afkplus:afk%, чтобы добавить форматирование к существующим именам.*
  • Добавлен плейсхолдер %afkplus:duration%, чтобы получить время с момента ухода в AFK, с настройкой префикса формата.
  • Добавлен плейсхолдер %afkplus:time%, чтобы получить время/дату ухода в AFK, с настройкой префикса формата.
  • Добавлен плейсхолдер %afkplus:reason%, чтобы вывести причину ухода в AFK, с настройкой префикса формата.
  • Добавлен плейсхолдер %afkplus:invulnerable%, чтобы отображать статус "Disable Damage" для всех пользователей, похоже на тег-плейсхолдер "[AFK]", но скорее как дополнение.
  • Есть специальная опция конфига 'prettyDuration' для настройки длительности AFK в более удобочитаемом формате вместо стандартного (HH:mm:ss.mss). У каждого метода свои преимущества. (Styled Nicknames или Styled Chat приходят на ум)
  • Есть несколько предупреждений о конфликтах модов / датапаков для администраторов, чтобы помочь им принимать лучшие решения о том, какие моды устанавливать.
  • Добавлена настройка "disableDamage", делающая AFK-игроков неуязвимыми к урону после 15-секундного кулдауна. Новое настраиваемое серверное сообщение теперь включено по умолчанию при этом событии.
  • Добавлена настройка "disableDamageCooldown", позволяющая администраторам настроить стандартный "таймер", применяемый после ухода игрока в AFK. Настоятельно рекомендую не ставить '0', если только вы не думаете, что ваши игроки не будут злоупотреблять этой привилегией.
  • Добавлена настройка "whenDamageDisabled", чтобы настроить сообщение, отображаемое когда ваши игроки помечены как неуязвимые.
  • Добавлена настройка "whenDamageEnabled", чтобы настроить сообщение, отображаемое когда ваши игроки сняты с метки неуязвимости.
  • Теперь также проверяется, находятся ли игроки в режиме Spectator, а не только Creative, для управления статусом AFK/Disable Damage.
  • Добавляет несколько цветовых узлов, которые игроки могут использовать для причин AFK. Смотрите /afkex для примера отображения.

  • brown, cyan, dark_brown, dark_pink, light_blue, light_brown, light_gray, light_pink, lime, magenta, purple, salmon,

    • bluetiful, burnt_orange, canary, cool_mint, copper, powder_blue, royal_purple, shamrock, tickle_me_pink, ultramarine_blue
  • Добавлена настройка "bypassSleepCount", позволяющая игрокам со статусом Afk обходить требования ко сну.
  • Добавлена настройка "bypassInsomnia", позволяющая игрокам со статусом Afk блокировать спавн фантомов.
  • Добавлена команда "/noafk", позволяющая игрокам снять с себя статус Afk.
  • Добавлена настройка "displayDuration", позволяющая включать/отключать сообщение "Gone for XX minutes, XX seconds" во время whenReturn.
  • Добавлена дополнительная обработка, позволяющая задать "afkTimeoutString" как "", а также передавать "defaultReason" как "" для более "оригинального" ощущения AfkDisplay.
  • Добавлена система "AFK Kick" для автоматического кика игроков с сервера, находящихся в AFK после заданного времени. У неё есть несколько настроек:

    • afkKickEnabled - (true/false) Включает менеджер авто-кика AFK.
    • afkKickNonSurvival - (true/false) Позволяет кикать игроков в Creative / Spectator.
    • afkKickTimer - Время сверх timeoutSeconds (прибавляется), после которого игрок удаляется с сервера. Так, если timeoutSeconds равен 240, а afkKickTimer установлен на 3600, фактическое время кика — 3840, то есть максимум 64 минуты.
    • afkKickSafePermissions - (Permission 3) Уровень прав по умолчанию, помеченный как "безопасный" от автоматического кика. (Luck Perms: afkplus.kick.safe)
    • Примечание: если у игрока есть afkPlusCommandPermissions (Luck Perms: afkplus.afkplus), он также будет помечен как безопасный от автоматического кика, но эта новая настройка позволяет настраивать эти права отдельно.
    • afkKickMessage - Сообщение, отправляемое игрокам, которых кикнули, как причина их удаления. (Добавляет длительность, когда включён displayDuration)
    • whenKicked - Сообщение, транслируемое на сервер, когда игрока кикают за AFK. (Добавляет длительность, когда включён displayDuration)
    • ПРИМЕЧАНИЯ: Эта функция НЕ кикает автоматически ботов Carpet Mod, потому что 'фейковые' игроки не тикаются сервером.
    • Эта функция НЕ работает в одиночной игре/Open To Lan и требует выделенного серверного окружения для корректной работы.

Команды (Права через Luck Permissions или конфигурации afk_plus)

  • '/afkplus' с настройкой AfkPlusCommandPermissions (По умолчанию: 4), задающей стандартные ограничения. (Permission: afkplus.afkplus)

    • Показывает информацию о версии мода.
  • Команда '/afkplus reload'. (Permission: afkplus.afkplus.reload)

    • Позволяет администратору перезагрузить конфигурацию во время работы сервера.
  • Команда '/afkplus ex'. (Permission: afkplus.afkplus.ex)

    • Показывает простой "тест форматирования", демонстрирующий пользователю доступные базовые текстовые узлы, а также позволяет использовать это для копирования/вставки, кликая по цветам/форматам.
  • Команда '/afkplus set [Player] [Reason]'. (Permission: afkplus.afkplus.set)

    • Позволяет любому администратору задать AFK-статус игрока, а также снимает его статус NoAFK.
  • Команда '/afkplus clear [Player]'. (Permission: afkplus.afkplus.clear)

    • Позволяет любому администратору снять AFK-статус игрока.
  • Команда '/afkplus damage enable [Player]'. (Permission: afkplus.afkplus.damage.enable)

    • Позволяет администратору принудительно включить возможность нанесения урона AFK-игроку, пока он подключён.
  • Команда '/afkplus damage disable [Player]'. (Permission: afkplus.afkplus.damage.disable)

    • Позволяет администратору вернуть игроку возможность использовать "Disable Damage" после того, как она была принудительно снята.
  • Команда '/afkplus info [Player]'. (Permission: afkplus.afkplus.info)

    • Позволяет любому администратору проверить AFK-статус игрока и показать время и длительность с момента ухода в AFK.
  • Команда '/afkplus update [Player]'. (Permission: afkplus.afkplus.update)

    • Позволяет любому администратору принудительно обновить список игроков для игрока.
  • '/afkinfo [Player]' с настройкой AfkInfoCommandPermissions (По умолчанию: 2), задающей стандартные ограничения, (Permission: afkplus.afkinfo)

    • Делает то же самое, что и '/afkplus info [Player]', но может использоваться для модераторов, игроков или как угодно — настраивайте, как хотите, чтобы люди видели.
  • '/afkex' с настройкой AfkExCommandPermissions (По умолчанию: 0), задающей стандартные ограничения. (Permission: afkplus.afkex)

    • Показывает простой "тест форматирования", демонстрирующий пользователю доступные базовые текстовые узлы, а также позволяет использовать это для копирования/вставки, кликая по цветам/форматам.
  • '/afk [Reason]' с настройкой AfkCommandPermissions (По умолчанию: 0), задающей стандартные ограничения. (Permission: afkplus.afk)

    • Позволяет любому пользователю указать [Reason] вместе с установкой своего AFK-статуса.
  • [НОВОЕ] '/noafk' с настройкой noAfkCommandPermissions (По умолчанию: 0), задающей стандартные ограничения. (Permission: afkplus.noafk)

    • Позволяет любому пользователю установить себе состояние, в котором он не будет уходить в Afk по заданному значению таймаута.
  • [НОВОЕ] 'afkKickSafePermissions' (По умолчанию: 3) задаёт стандартные права для пометки AFK-игрока как безопасного от кика. (Permission: afkplus.kick.safe)

Возможные известные конфликты (Выбирайте сами)

  • afk display Data pack (Датапак Vanilla Tweaks, изменяет отображение списка игроков) -- Мод проверяет наличие датапаков со словом "afk" в названии.
  • AfkDisplay -- потому что это мод, на основе которого построен AfkPlus, и он предлагает меньше возможностей.
  • AntiLogout (команда /afk, обработка таймаута)
  • Auto AFK (команда /afk, обработка таймаута)
  • Sessility (обработка таймаута)
  • Playtime-Tracker (обработка таймаута)
  • SvrUtil (команда /afk, остальное безопасно)

Пример конфигурации

Конфигурация находится в afkplus.json в папке config вашего сервера.

{
  "___comment": "AfkPlus-1.21.4-1.7.4-SNAPSHOT Config",
  "config_date": "Fri, 3 Jan 2025 00:05:08 -0500",
  "afk_plus": {
    "_comment01": "# Позволяет отключить команду /afk для отметки себя как AFK, с необязательной [Причиной] (По умолчанию: true)",
    "enableAfkCommand": true,
    "_comment02": "# Позволяет отключить команду /noafk для снятия отметки AFK, что отключает таймаут (По умолчанию: true)",
    "enableNoAfkCommand": true,
    "_comment03": "# Позволяет отключить команду /afkinfo, чтобы игроки могли видеть чей-либо AFK-статус (Время, Длительность, Причина). (По умолчанию: true)",
    "enableAfkInfoCommand": true,
    "_comment04": "# Права по умолчанию для команды /afk, настраиваются через Luck Perms (узел afkplus.afk) (По умолчанию: 0)",
    "afkCommandPermissions": 0,
    "_comment05": "# Права по умолчанию для команды /noafk, настраиваются через Luck Perms (узел afkplus.noafk) (По умолчанию: 0)",
    "noAfkCommandPermissions": 0,
    "_comment06": "# Права по умолчанию для команды /afkinfo, настраиваются через Luck Perms (узел afkplus.afkinfo) (Обычно для модераторов) (По умолчанию: 2)",
    "afkInfoCommandPermissions": 2,
    "_comment07": "# Права по умолчанию для команды /afkplus, настраиваются через Luck Perms (узел afkplus.afkplus с .subcommands) (По умолчанию: 3)",
    "afkPlusCommandPermissions": 3,
    "_comment08": "# Базовый кулдаун, настраиваемый для предотвращения спама командой /afk (По умолчанию: 5 секунд)",
    "afkCommandCooldown": 5,
    "_comment09": "# Булев переключатель для включения / отключения отладочных сообщений логгера в моде",
    "debugMode": false
  },
  "packet": {
    "_comment01": "# Время без действий, после которого игрок считается AFK. Установите -1, чтобы отключить автоматическое определение AFK. (По умолчанию: 240)",
    "_comment02": "# --примечание; стандартный таймаут оригинального AfkDisplay был установлен на 180 секунд.",
    "timeoutSeconds": 240,
    "_comment03": "# Считать игроков, которые двигались, больше не AFK (включает лёгкие способы обхода, такие как AFK-бассейны) (По умолчанию: false)",
    "resetOnMovement": false,
    "_comment04": "# Считать игроков, которые осматривались, больше не AFK (По умолчанию: false)",
    "resetOnLook": false,
    "_comment05": "# Считать игроков, которые только машут мечом, AFK (По умолчанию: false)",
    "ignoreAttacks": false,
    "_comment06": "# Делает так, что AFK-игроки не учитываются при проверке процента сна (По умолчанию: true)",
    "bypassSleepCount": true,
    "_comment07": "# Делает так, что AFK-игроки блокируют попытки спавна Фантомов. (По умолчанию: true)",
    "bypassInsomnia": true,
    "_comment08": "# Причина AFK по умолчанию для \"таймаута\" (По умолчанию: \"<i><gray>timeout<r>\")",
    "afkTimeoutString": "<i><gray>timeout<r>",
    "_comment09": "# Сообщение о таймауте AFK по умолчанию для определения \"ignoreAttacks\"",
    "afkTimeoutIgnoreAttack": "<i><gray>only swinging their sword<r>"
  },
  "disable_damage": {
    "_comment01": "# Отключить урон через disableDamageCooldown секунд после того, как игрок ушёл в AFK (По умолчанию: false)",
    "disableDamage": false,
    "_comment02": "# Таймер кулдауна для включения функции \"DisableDamage\". (По умолчанию: 15 секунд)",
    "_comment03": "# - ВНИМАНИЕ! Учтите, что слишком низкое значение может поощрять плохое поведение игроков.",
    "disableDamageCooldown": 15,
    "_comment04": "# Содержимое сообщения, когда AFK-игрок помечается как Неуязвимый.",
    "_comment06": "# (По умолчанию: \"%player:displayname% <yellow>is marked as <red>Invulnerable.<r>\")",
    "whenDamageDisabled": "%player:displayname% <yellow>is marked as <red>Invulnerable.<r>",
    "_comment08": "# Содержимое сообщения, когда AFK-игрок больше не помечен как Неуязвимый.",
    "_comment09": "# (По умолчанию: \"%player:displayname% <yellow>is no longer <red>Invulnerable.<r>\")",
    "whenDamageEnabled": "%player:displayname% <yellow>is no longer <red>Invulnerable.<r>"
  },
  "afk_kick": {
    "_comment01": "# Включает систему авто-кика за AFK. (По умолчанию: false)",
    "afkKickEnabled": false,
    "_comment02": "# Позволяет кикать игроков не в режиме Выживания (Творческий, Наблюдатель и т.д.) (По умолчанию: false)",
    "afkKickNonSurvival": false,
    "_comment03": "# Время после `timeoutSeconds` для автоматического кика AFK-игрока (По умолчанию: 3600, т.е. 1 час)",
    "_comment04": "# --примечание; это значение \"прибавляется\" к значению `timeoutSeconds`, так что фактическое время будет 3840, т.е. 64 минуты.",
    "afkKickTimer": 3000,
    "_comment05": "# Уровень прав по умолчанию для отметки игроков как \"безопасных\" от автоматического кика, т.е. Администраторы сервера (По умолчанию: 3)",
    "afkKickSafePermissions": 3,
    "_comment06": "# Сообщение с причиной кика, отправляемое удалённым игрокам.  Можно установить в \"\" для базовой причины \"AFK timeout\".",
    "_comment07": "# (По умолчанию: \"<copper>AFK beyond the allowed time limit set by your Administrator.<r>\")",
    "_comment08": "# --примечание; к этому сообщению добавляется длительность AFK в конце, если `message.displayDuration` установлено в true.",
    "afkKickMessage": "<copper>AFK beyond the allowed time limit set by your Administrator.<r>",
    "_comment09": "# Содержимое сообщения, когда AFK-игрок кикается с сервера.",
    "_comment10": "# (По умолчанию: \"%player:displayname% <copper>was kicked for being AFK.<r>\")",
    "_comment11": "# --примечание; к этому сообщению добавляется длительность AFK в конце, если `message.displayDuration` установлено в true.",
    "whenKicked": "%player:displayname% <copper>was kicked for being AFK.<r>",
    "_comment12": "# Причина по умолчанию, когда игрок кикается",
    "_comment13": "# (По умолчанию: \"<copper>AFK timeout\")",
    "whenKickedDefaultReason": "<copper>AFK timeout",
    "_comment14": "# Префикс длительности AFK по умолчанию, используемый при кике игрока.  Используемый формат длительности соответствует конфигурации message.duration.",
    "_comment15": "# (По умолчанию: \" <gray>(Gone for: <green>\")",
    "whenKickedDurationDefaultPrefix": " <gray>(Gone for: <green>",
    "_comment16": "# Именованный префикс длительности AFK-игрока, используемый при кике игрока.  Используемый формат длительности соответствует конфигурации message.duration.",
    "_comment17": "# (По умолчанию: \" <gray>(%player:displayname% was gone for: <green\")",
    "whenKickedDurationNamedPrefix": " <gray>(%player:displayname% was gone for: <green>",
    "_comment18": "# Суффикс для любого префикса длительности кика",
    "_comment19": "# (По умолчанию: \" <gray>)\"",
    "whenKickedDurationSuffix": "<gray>)"
  },
  "player_list": {
    "_comment01": "# Изменять имя в списке игроков для AFK-игроков (По умолчанию: true)",
    "_comment02": "# -- примечание; Это для случая, когда вы НЕ используете моды отображения списка игроков.",
    "enableListDisplay": true,
    "_comment03": "# Имя, отображаемое в списке игроков, если игрок AFK, принимает узлы форматирования",
    "_comment04": "# (По умолчанию: \"<i><gray>[AFK%afkplus:invulnerable%] %player:displayname%<r>\")",
    "_comment05": "# -- примечание; Эта функция работает лучше всего, когда не используются моды списка игроков!*",
    "afkPlayerName": "<i><gray>[AFK%afkplus:invulnerable%] %player:displayname%<r>",
    "_comment06": "# Эта опция задаёт интервал обновления списка игроков по умолчанию.  Эта настройка во многом исправляет",
    "_comment07": "#  различные проблемы обновления списка игроков; особенно когда установлены другие моды управления списком игроков.",
    "_comment08": "#  (По умолчанию: 10 секунд)",
    "updateInterval": 10
  },
  "place_holder": {
    "_comment01": "# Это будет значением плейсхолдера %afkplus: afk%, если игрок AFK, опция принимает полные узлы форматирования",
    "_comment02": "# (По умолчанию: \"<i><gray>[AFK%afkplus:invulnerable%]<r>\")",
    "_comment03": "# -- примечание; *НЕ* ставит \"<r>\" в конце в коде (стараясь не изменять его поведение по умолчанию)",
    "afkPlaceholder": "<i><gray>[AFK%afkplus:invulnerable%]<r>",
    "_comment04": "# Плейсхолдер %afkplus:name% для переноса всего %displayname% для использования в других модах, таких как Styled Player List",
    "_comment05": "# (По умолчанию: \"<i><gray>[AFK%afkplus:invulnerable%] %player:displayname_unformatted%<r>\")",
    "_comment06": "# -- примечание; *НЕ* ставит \"<r>\" в конце в коде (стараясь не изменять его поведение по умолчанию)",
    "afkPlusNamePlaceholderAfk": "<i><gray>[AFK%afkplus:invulnerable%] %player:displayname_unformatted%<r>",
    "_comment07": "# Значение, когда игрок НЕ AFK, (т.е. по умолчанию \"%player:displayname%\")",
    "_comment08": "# -- примечание; *НЕ* ставит \"<r>\" в конце в коде (стараясь не изменять его поведение по умолчанию)",
    "afkPlusNamePlaceholder": "%player:displayname%",
    "_comment09": "# Добавляет узел префикса форматирования для %afkplus:duration% (по умолчанию: <green>)",
    "_comment10": "# -- примечание; ставит \"<r>\" в конце в коде, и это используется во время /afkinfo",
    "afkDurationPlaceholderFormatting": "<green>",
    "_comment11": "# Добавляет узел префикса форматирования для %afkplus: time% (по умолчанию: <green>)",
    "_comment12": "# -- примечание; ставит \"<r>\" в конце в коде, и это используется во время /afkinfo",
    "afkTimePlaceholderFormatting": "<green>",
    "_comment13": "# Добавляет узел префикса форматирования для %afkplus: reason%, не уверен, зачем кому-то может понадобиться это включить, потому что",
    "_comment14": "# форматировать свою [Причину] самостоятельно — это весело. (по умолчанию: none)",
    "_comment15": "# -- примечание; ставит \"<r>\" в конце кода, и это используется во время /afkinfo",
    "afkReasonPlaceholderFormatting": "",
    "_comment16": "# Добавляет опцию настройки базового \"Add-On\" плейсхолдера для прикрепления к тегу \"[AFK]\" для отметки, когда игрок",
    "_comment17": "# помечен как Неуязвимый с помощью %afkplus: invulnerable% (По умолчанию: \":<red>I<r>\")",
    "afkInvulnerablePlaceholder": ":<red>I<r>",
    "_comment18": "# Добавляет опцию использования пользовательских форматтеров для вывода плейсхолдера %duration%.  Допустимые варианты:",
    "_comment19": "# -- 'REGULAR' (HH:mm:ss.SSS) (По умолчанию: REGULAR)",
    "_comment20": "# -- 'PRETTY' (d' days 'H' hours 'm' minutes 's' seconds')",
    "_comment21": "# -- 'ISO_EXTENDED' ('P'yyyy'Y'M'M'd'DT'H'H'm'M's.SSS'S')",
    "_comment22": "# -- 'FORMATTED'; То же, что ISO_EXTENDED, но эта опция позволяет задать свой собственный форматтер DurationFormatUtils Formatter,",
    "_comment23": "#     -->  СМ.: \"org.apache.commons.lang3.time.DurationFormatUtils;\" для получения дополнительной информации",
    "duration": {
      "option": "REGULAR",
      "customFormat": ""
    },
    "_comment24": "# Добавляет опцию использования пользовательских форматтеров для вывода плейсхолдера %afkTime%.  Допустимые варианты:",
    "_comment25": "# -- 'REGULAR' (yyyy-MM-dd_HH.mm.ss); тот же формат, что использует Minecraft, и это конфигурация по умолчанию. (По умолчанию: REGULAR)",
    "_comment26": "# -- 'ISO_LOCAL' (yyyy-MM-ddTHH:mm:ss.n)",
    "_comment27": "# -- 'ISO_OFFSET' (yyyy-MM-ddTHH:mm:ss.nZ)",
    "_comment28": "# -- 'RFC1123' (EEE, dd MMM yyyy HH:mm:ss +HHMM)",
    "_comment29": "# -- 'FORMATTED'; (yyyy-MM-dd_HH.mm.ss); То же, что 'REGULAR', но эта опция позволяет задать свои собственные",
    "_comment30": "#     форматтеры на основе синтаксиса форматтера \"java.time.format.DateTimeFormatter\"; см. этот пакет для получения дополнительной информации.",
    "timeDate": {
      "option": "REGULAR",
      "customFormat": ""
    }
  },
  "message": {
    "_comment01": "# Включает сообщения в чате, когда игрок уходит в AFK или возвращается. (По умолчанию: true)",
    "enableMessages": true,
    "_comment02": "# Содержимое сообщения, когда игрок уходит в AFK, принимает узлы форматирования",
    "_comment03": "#  (По умолчанию: \"%player:displayname% <yellow>is now AFK<r>\")",
    "whenAfk": "%player:displayname% <yellow>is now AFK<r>",
    "_comment04": "# Необязательная настройка пунктуации \"whenAfk\" между ним и следующей Длительностью / Причиной.",
    "_comment05": "# (По умолчанию: \"<yellow>,<r> \")",
    "whenAfkPunctuation": "<yellow>,<r> ",
    "_comment06": "# Содержимое сообщения, когда игрок возвращается из AFK, принимает узлы форматирования.",
    "_comment07": "# (По умолчанию: \"%player:displayname% <yellow>is no longer AFK<r>\")",
    "_comment08": "# --примечание; к этому сообщению добавляется длительность AFK в конце, если `displayDuration` установлено в true.",
    "whenReturn": "%player:displayname% <yellow>is no longer AFK<r>",
    "_comment09": "# Форматирование префикса для части форматирования длительности \"whenReturn\".",
    "_comment10": "# (По умолчанию: \" <gray>(Gone for: <green>\")",
    "whenReturnDurationPrefix": " <gray>(Gone for: <green>",
    "_comment11": "# Форматирование суффикса для части форматирования длительности \"whenReturn\".",
    "_comment12": "# (По умолчанию: \"<gray>)\")",
    "whenReturnDurationSuffix": "<gray>)",
    "_comment13": "# Причина по умолчанию для ухода в AFK через команду /afk.  Исчезните в облачке дыма, не указывая причину.",
    "_comment14": "# (По умолчанию: \"<gray>poof!<r>\")",
    "_comment15": "# --примечание; \"\" — допустимое значение, и оно отключит причину /afk по умолчанию.",
    "defaultReason": "<gray>poof!<r>",
    "_comment16": "# Настраиваемое приветствие, когда игроки многократно вводят '/afk' и ожидают сломанного результата.",
    "_comment17": "# (По умолчанию: \"<yellow>Welcome back, <r>%player:display_name%<r>, <yellow>did you miss anything fun?\")",
    "afkCooldownGreeting": "<yellow>Welcome back, <r>%player:display_name%<r>, <yellow>did you miss anything fun?",
    "_comment18": "# Общее сообщение об ошибке, отправляемое, когда игрок помечен как Vanished модом \"melius-vanish\", поддерживаемым DrexHD",
    "_comment19": "# (По умолчанию: \"<red>You are vanished, and probably shouldn't be doing that.<r>\")",
    "whileYourVanished": "<red>You are vanished, and probably shouldn't be doing that.<r>",
    "_comment20": "# Общее сообщение об ошибке в третьем лице, отправляемое, когда игрок помечен как Vanished модом \"melius-vanish\", поддерживаемым DrexHD",
    "_comment21": "# (По умолчанию: \"<red> is vanished, and probably shouldn't be doing that.<r>\")",
    "whileVanished": "<red> is vanished, and probably shouldn't be doing that.<r>",
    "_comment22": "# Включает часть отображения длительности в сообщении whenReturn.  См. конфигурацию \"duration\" ниже.",
    "_comment23": "# (По умолчанию: true)",
    "displayDuration": true,
    "_comment24": "# Переформатирует \"duration\" в сообщениях чата и /afkinfo и 'whenReturn' и т.д.; в более удобочитаемый формат.",
    "_comment25": "# -- 'REGULAR' (HH:mm:ss.SSS)",
    "_comment26": "# -- 'PRETTY' (d' days 'H' hours 'm' minutes 's' seconds') (По умолчанию: PRETTY)",
    "_comment27": "# -- 'ISO_EXTENDED' ('P'yyyy'Y'M'M'd'DT'H'H'm'M's.SSS'S')",
    "_comment28": "# -- 'FORMATTED'; То же, что ISO_EXTENDED, но эта опция позволяет задать свой собственный форматтер DurationFormatUtils Formatter,",
    "_comment29": "#     -->  СМ.: \"org.apache.commons.lang3.time.DurationFormatUtils;\" для получения дополнительной информации",
    "duration": {
      "option": "PRETTY",
      "customFormat": ""
    },
    "_comment30": "# Добавляет опцию использования пользовательских форматтеров для вывода команды /afkinfo.  Допустимые варианты:",
    "_comment31": "# -- 'REGULAR' (yyyy-MM-dd_HH.mm.ss); тот же формат, что использует Minecraft, и это конфигурация по умолчанию. (По умолчанию: REGULAR)",
    "_comment32": "# -- 'ISO_LOCAL' (yyyy-MM-ddTHH:mm:ss.n)",
    "_comment33": "# -- 'ISO_OFFSET' (yyyy-MM-ddTHH:mm:ss.nZ)",
    "_comment34": "# -- 'RFC1123' (EEE, dd MMM yyyy HH:mm:ss +HHMM)",
    "_comment35": "# -- 'FORMATTED'; (yyyy-MM-dd_HH.mm.ss); То же, что 'REGULAR', но эта опция позволяет задать свои собственные",
    "_comment36": "#     форматтеры на основе синтаксиса форматтера \"java.time.format.DateTimeFormatter\"; см. этот пакет для получения дополнительной информации.",
    "timeDate": {
      "option": "REGULAR",
      "customFormat": ""
    }
  }
}

Частые вопросы

Как установить AfkPlus?

Установите Fabric под свою версию Minecraft, скачайте AfkPlus под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть AfkPlus?

У AfkPlus есть сборки для Minecraft 1.17–1.18.2, 1.19.1–26.3.

Нужен ли AfkPlus на сервере?

Ставится только на сервер; игрокам ставить не нужно

Лицензия и источник
MIT Licenseможно свободно использовать и распространять с указанием автора
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее