Out of Combat avatar

Out of Combat [1.20.6] [1.18.2] [1.16.5]

Вне боя


Обзор

Модификация «Вне боя».

Поддерживает почти ВСЕ основные версии, а именно: 1.12.2, 1.16.1-1.16.5, 1.18-1.18.2, 1.20.1, 1.20.6.

Как следует из названия, она добавляет в Minecraft простую, но легко настраиваемую механику состояния «Вне боя».

Простота означает незамысловатую логику и механику:

(T1, T2, T3 — независимые переменные, обозначающие количество игровых тиков Minecraft)

  1. Определяет, не атаковал ли игрок в течение заданного времени T1 / не получал ли урон в течение заданного времени T2.

  2. Если игрок не атаковал в течение T1 и не получал урон в течение T2, начинается отсчёт времени «Вне боя».

    Если игрок атакует или получает урон, соответствующий таймер и таймер «Вне боя» сбрасываются.

  3. Если время «Вне боя» превышает T3, игрок считается находящимся вне боя.

3 NBT-тега, обновляемые событиями, служат таймерами для реализации указанной логики.

Дополнительно, таймер обратного отсчёта приостанавливает работу таймера «Вне боя», но не сбрасывает его. Он может использоваться в других боевых механиках.

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

Документация по использованию

Файл конфигурации

Версия 1.12.2: config/out_of_combat.cfg (GitHub)

Версия 1.16.x: config/out_of_combat-common.toml (GitHub)

Версия 1.18+: config/out_of_combat-common.toml (GitHub)

Параметры подробно документированы в комментариях файлов.

Значения по умолчанию велики, что означает неактивность мода до изменения конфигурации.

Имена и структура NBT

Эти 4 NBT-тега сохраняются в постоянных данных игрока: ForgeData/PlayerPersisted, со следующей структурой:

ForgeData: {
    PlayerPersisted: {
        out_of_combat: {
            noAttackingTime: 0L         // Таймер без атак
            noAttackedTime: 0L          // Таймер без получения урона
            stopOutOfCombatTimer: 0L    // Таймер обратного отсчёта. Пока не достигнет 0, таймер «Вне боя» не тикает.
            outOfCombatTime: 0L         // Таймер состояния «Вне боя»
        }
    }
}

Таким образом, вы можете легко управлять значениями через свои моды, скрипты CraftTweaker/KubeJS или аналоги.

Сложные API или специальные интеграции не требуются.


Планы на будущее

Поддержка других версий Minecraft.

Скачать Out of Combat

 
Тип Скачать Версия Загрузчик Обновлено Размер
Releaseout_of_combat-1.20.1-1.1.1.jar1.20.1Forge10 мая 202521,8 КБ
Releaseout_of_combat-1.16.x-1.1.0.jar1.16.1+4 Forge19 сентября 202421,1 КБ
Releaseout_of_combat-1.18.x-1.1.0.jar1.18+2 Forge19 сентября 202421,5 КБ
Releaseout_of_combat-1.12.2-1.0.0.jar1.12.2Forge17 сентября 202419,8 КБ
Releaseout_of_combat-1.20.1-1.1.0.jar1.20.1Forge17 сентября 202421,5 КБ
Releaseout_of_combat-1.20.6-1.1.0.jar1.20.6Forge17 сентября 202421,6 КБ
Releaseout_of_combat-1.12.2-1.1.0.jar1.12.2Forge17 сентября 202420 КБ
Пожалуйста авторизуйтесь, чтобы оставить свой комментарий.