
Out of Combat
Активный0.0
Установок
Последнее обновление
Out of Combat - Выход из боя
Данная модификация вводит в Minecraft удобную и настраиваемую механику определения состояния "вне боя", которая помогает четко отслеживать, когда игрок перестает участвовать в сражениях.
Поддерживаемые версии
Мод совместим с большинством актуальных версий Minecraft: 1.12.2, 1.16.1-1.16.5, 1.18-1.18.2, 1.20.1 и 1.20.6.
Как работает система
Механика основана на трех независимых временных интервалах (T1, T2, T3), измеряемых в игровых тиках:
Фаза отслеживания: Система проверяет, не атаковал ли игрок в течение времени T1 и не получал ли урона за период T2.
Переходное состояние: Если оба условия выполнены, запускается отсчет времени до выхода из боя. Любая атака или получение урона сбрасывают соответствующие таймеры.
Выход из боя: Когда накопленное время бездействия превышает T3, игрок официально считается вышедшим из состояния боя.
Система таймеров
Для реализации этой логики используются четыре NBT-тега, сохраняемые в данных игрока:
ForgeData: {
PlayerPersisted: {
out_of_combat: {
noAttackingTime: 0L // Таймер без атак
noAttackedTime: 0L // Таймер без получения урона
stopOutOfCombatTimer: 0L // Обратный отсчет. Пока не достигнет 0, таймер выхода из боя приостановлен
outOfCombatTime: 0L // Таймер состояния вне боя
}
}
}
Эти теги расположены в ForgeData/PlayerPersisted, что позволяет легко управлять их значениями через моды, скрипты CraftTweaker или KubeJS без необходимости сложных API или специальных интеграций.
Дополнительные возможности
Мод включает дополнительный таймер обратного отсчета, который приостанавливает отсчет времени выхода из боя без его сброса. Эта функция полезна для ситуаций, когда игрок активирует способности типа "Неуязвимость" - система будет ждать завершения действия способности перед продолжением отсчета.