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

Peak Stamina

Сбалансированная хардкорная переработка выносливости с множеством механик, вдохновлённых системой PEAK. Безумно настраиваемая

NeoForgeForge
Загрузчики
NeoForgeForge
Скачиваний на Modrinth
10,1 тыс.
Подписчиков на Modrinth
39
версий
35
Обновлён
26 сентября 202626 сент.
Опубликован
в 2025
Stamina bar latest version preview — Stamina bar with penalties · свайп

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

Работает на NeoForge и Forge
Для Minecraft 1.20.1, 1.21.1
Нужен и в игре, и на сервере
Последняя версия — 2.2.2 от 26 сентября 2026
Лицензия LGPL-3.0-or-later — бесплатно
Где нужен
В игреобязателенНа сервереобязателен

Нужен и в игре, и на сервере

Версии игры1.20.1, 1.21.1
Описание переведено автоматическиПоказать оригинал (EN)

Peak Stamina

Заменяет ванильную механику спринта системой управления ресурсами, основанной на усталости и голоде. Совместим с Tough as Nails, Cold Sweat, ParCool и Combat roll. Для дополнительных штрафов или интеграций смотрите раздел «Продвинутые возможности» ниже. СОВМЕСТИМ ТОЛЬКО С PARCOOL 3.4.3.3

Возможности

  • Затраты на действия: Выносливость расходуется при спринте, прыжках, атаках, добыче блоков, плавании, лазании и использовании предметов.
  • Усталость: Если выносливость опускается ниже 25% и остаётся там, накапливается Усталость, которая временно снижает ваш максимальный запас выносливости.
  • Пищевое отравление: Употребление плохой еды накладывает затяжной штраф Отравление (фиолетовая полоса), который блокирует часть вашего максимального запаса выносливости, пока не рассеется.
  • Система веса: Ношение тяжёлых предметов снижает ваш максимальный запас выносливости. Чем больше вы несёте, тем больше штраф.
  • Лазание: Лестницы расходуют выносливость. Удержание Shift включает медленное лазание (40% скорости), которое не тратит выносливость и позволяет постепенно восстанавливаться.
  • Штраф за голод: Низкий уровень еды снижает ваш максимальный запас выносливости.
  • HUD: Собственная компактная полоса выносливости с визуальными индикаторами усталости, отравления, веса и активных штрафов. Режим BAR
    Peak Stamina BAR HUD
    Режим ICON
    Peak Stamina ICON HUD

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

  • config/peak_stamina/common.toml: Все основные игровые значения (затраты, восстановление, штрафы).
  • config/peak_stamina/lists.toml: Система веса, затраты на предметы, расходники, универсальные штрафы/баффы и профили истощения.
  • config/peak_stamina/client.toml: Настройки HUD и визуала.
  • Примечание: С обновлением v2.0.0 появился внутриигровой интерфейс конфигурации! Как он выглядит, можно увидеть в галерее. Начиная с обновления v2.2.0 я больше не обновляю описание, так что здесь всё ещё можно увидеть некоторые старые возможности, но многого будет не хватать.

Базовые настройки

Общие

  • enableStamina (По умолчанию: true): Главный переключатель мода.
  • disableInCreative (По умолчанию: true): Если true, игроки в творческом режиме полностью исключены из системы выносливости.
  • disableInSpectator (По умолчанию: true): Если true, игроки в режиме наблюдателя полностью исключены из системы выносливости.
  • initialMaxStamina (По умолчанию: 100.0): Начальный максимальный запас выносливости для всех игроков. Все штрафы и модификаторы рассчитываются относительно этого базового значения.
  • slowClimbSpeed (По умолчанию: 0.4): Множитель скорости передвижения при медленном лазании (установите 1, чтобы отключить)

Затраты на действия

Установите любое значение в 0, чтобы отключить его. Используйте отрицательное значение, чтобы восстанавливать выносливость во время этого действия вместо её траты.

  • depletionSprint (По умолчанию: 0.15): Расход за тик во время бега.
  • depletionJump (По умолчанию: 0.85): Мгновенный расход при прыжке.
  • depletionAttack (По умолчанию: 3.45): Мгновенный расход при взмахе оружием.
  • depletionMissedAttack (По умолчанию: 1.0): Мгновенный расход при промахе.
  • depletionBlockBreak (По умолчанию: 1.1): Мгновенный расход при разрушении блока.
  • depletionBlockPlace (По умолчанию: 1.1): Мгновенный расход при установке блока.
  • depletionClimb (По умолчанию: 0.7): Расход за тик на лестницах.
  • depletionSwim (По умолчанию: 0.05): Расход за тик в воде.
  • itemInterruptionCooldown (По умолчанию: 120): Тики, в течение которых предмет остаётся непригодным для использования после того, как выносливость закончилась во время его применения.

Восстановление

  • recoveryPerTick (По умолчанию: 0.36): Базовая скорость регенерации.
  • recoveryRestMult (По умолчанию: 1.45): Множитель, применяемый при стоянии на месте.
  • recoveryClimbMult (По умолчанию: 0.7): Множитель, применяемый при отдыхе на лестнице.
  • recoveryDelay (По умолчанию: 50): Тики до начала регенерации после выполнения действия.

Зачарования

Эти значения действуют как множители. Например, 0.15 означает снижение на 15%, а 0.60 — снижение на 60%.

  • lightweightLvl1 (По умолчанию: 0.25): Множитель снижения веса для зачарования Lightweight I.
  • lightweightLvl2 (По умолчанию: 0.50): Множитель снижения веса для зачарования Lightweight II.
  • lightweightLvl3 (По умолчанию: 0.75): Множитель снижения веса для зачарования Lightweight III.
  • tirelessLvl1 (По умолчанию: 0.20): Множитель снижения затрат выносливости для зачарования Tireless I.
  • tirelessLvl2 (По умолчанию: 0.40): Множитель снижения затрат выносливости для зачарования Tireless II.
  • tirelessLvl3 (По умолчанию: 0.60): Множитель снижения затрат выносливости для зачарования Tireless III.

Штрафы и ограничения

  • fatigueThreshold (По умолчанию: 0.25): Процент выносливости, при котором начинает накапливаться усталость.
  • fatigueDurationToPenalty (По умолчанию: 180): Тики, проведённые в критической зоне, до активации штрафа за усталость.
  • maxExertionPenalty (По умолчанию: 30.0): Максимальная потеря выносливости из-за усталости.
  • maxHungerPenalty (По умолчанию: 30.0): Максимальная потеря выносливости из-за голода.
  • hungerPenaltyThreshold (По умолчанию: 6): Уровень еды (3 иконки), при котором начинаются штрафы за голод.
  • minMaxStamina (По умолчанию: 10.0): Жёсткий минимум максимальной выносливости: она никогда не может быть снижена ниже этого значения.
  • penaltyRecoveryDelay (По умолчанию: 100): Тики до начала восстановления усталости после улучшения условий.
  • penaltyBuildupRate (По умолчанию: 0.1): Штраф, накапливаемый за тик при ухудшении условий.
  • penaltyDecayRate (По умолчанию: 0.05): Штраф, восстанавливаемый за тик при улучшении условий.

Промежуточные возможности

Механика сна

  • sleepMode (По умолчанию: DEFAULT): Управляет тем, как рассеивается усталость:

    • DEFAULT: Усталость рассеивается естественным образом со временем. Сон и употребление еды, снимающей усталость, также уменьшают её.
    • HARDCORE: Усталость никогда не рассеивается сама по себе. Вы должны спать или есть еду, снимающую усталость, чтобы избавиться от неё.
  • sleepFatigueReduction (По умолчанию: 20.0): Фиксированное количество штрафа усталости, снимаемого после успешного сна. Установите большое число, чтобы полностью его убрать.

Примечание: Усталость снимает только еда с тегом CURE;FATIGUE;value. Несколько записей CURE можно объединить на одном предмете: например, CURE;FATIGUE;10;CURE;universalpenalty;10 снимает по 10 пунктов обоих. Полное руководство см. в разделе «Расходники».

Бой и динамический вес оружия

Формула масштабирования веса: Когда масштабирование веса включено, затраты выносливости на атаку умножаются на рассчитанный коэффициент веса, основанный на оружии в руке. Multiplier = 1.0 + (((WeaponWeight - Normalizer) / Normalizer) * ScaleFactor) Настройки попадающих атак:

  • depletionAttack (По умолчанию: 3.45): Базовая выносливость, расходуемая за успешную атаку.
  • attackCostScalesWithWeight (По умолчанию: true): Включает или отключает динамическую формулу веса для успешных попаданий.
  • attackWeightNormalizer (По умолчанию: 3.0): Базовый вес оружия, при котором множитель затрат выносливости равен ровно 1.0x.
  • attackWeightScaleFactor (По умолчанию: 1.0): Насколько сильно вес влияет на стоимость атаки.
  • attackWeightMinMultiplier (По умолчанию: 0.4): Абсолютный минимальный множитель затрат выносливости.
  • attackWeightMaxMultiplier (По умолчанию: 5.0): Абсолютный максимальный множитель затрат выносливости.

Настройки промахов:

  • depletionMissedAttack (По умолчанию: 1.0): Базовая выносливость, расходуемая при взмахе в воздух.
  • missedAttackCostScalesWithWeight (По умолчанию: true): Включает или отключает динамическую формулу веса для промахов.
  • missedAttackWeightNormalizer (По умолчанию: 3.0): Базовый вес оружия для множителя 1.0x при промахах.
  • missedAttackWeightScaleFactor (По умолчанию: 1.0): Насколько сильно вес влияет на стоимость промаха.
  • missedAttackWeightMinMultiplier (По умолчанию: 0.4): Минимально возможный множитель затрат выносливости при промахах.
  • missedAttackWeightMaxMultiplier (По умолчанию: 5.0): Максимально возможный множитель затрат выносливости при промахах.

Механика Elytra

Управляет тем, что происходит, когда у игрока заканчивается выносливость во время полёта.

  • depletionElytra (По умолчанию: 0.25): Расход за тик во время полёта.
  • disableElytraWhenExhausted (По умолчанию: true): Если true, Elytra аэродинамически срывается, когда выносливость достигает 0. Если false, полёт продолжается как обычно.
  • exhaustedElytraDrag (По умолчанию: 0.86): Сохраняемая горизонтальная скорость за тик во время срыва. Меньше = быстрее замедление. (0.9 = потеря 10% скорости за тик.)
  • exhaustedElytraGravity (По умолчанию: -0.025): Дополнительная вертикальная гравитация за тик во время срыва. Отрицательные значения тянут игрока вниз.
  • exhaustedElytraMinSpeed (По умолчанию: 0.5): Порог скорости, ниже которого Elytra принудительно закрывается и сбрасывает игрока.
  • exhaustedElytraTickInterval (По умолчанию: 3): Как часто в тиках применяется физика сопротивления. 1 = каждый тик.

Бонусная выносливость

Управляет тем, как игроки получают бонусную выносливость и как она со временем убывает. Когда бонусная выносливость превышает вашу максимальную ёмкость, полоса HUD динамически наслаивается сама на себя. Каждый уровень переполнения затенён чуть темнее, а слева от полосы появляется метка множителя (например, 2x, 3x).

  • enableExcessStaminaConversion (По умолчанию: true): Если true, восстановление выносливости сверх максимума с помощью расходников превращает излишек в бонусную выносливость.
  • excessConversionRate (По умолчанию: 0.5): Процент преобразуемого излишка. 0.5 = 50% (например, 10 излишка → 5 бонусной выносливости).
  • bonusStaminaDecayDelay (По умолчанию: 20): Тиков до начала убывания бонусной выносливости после её получения или использования. (20 тиков = 1 секунда.)
  • bonusDecayScalesWithAmount (По умолчанию: true): Если true, убывание составляет процент от текущей бонусной выносливости: она сгорает быстрее, когда её больше. Если false, убывание фиксированное.
  • bonusStaminaDecayRate (По умолчанию: 0.05): Бонусная выносливость, теряемая в секунду. При включённом масштабировании 0.05 = 5% в секунду.

Продвинутые функции

Продвинутая конфигурация находится в config/peak_stamina/lists.toml.

Система веса

Отслеживает суммарный вес предметов в вашем инвентаре и накладывает штраф к выносливости, когда вы несёте слишком много. Штраф масштабируется линейно между порогом и пределом.

  • enableWeightSystem (По умолчанию: true): Включает или отключает расчёт веса.
  • weightPenaltyThreshold (По умолчанию: 125.0): Суммарный вес, при котором начинается штраф (0%).
  • weightPenaltyLimit (По умолчанию: 400.0): Суммарный вес, при котором штраф достигает максимума (100%).
  • maxWeightPenaltyAmount (По умолчанию: 40.0): Максимальное снижение выносливости при полном весе.
  • maxWeightRecursionDepth (По умолчанию: 3): На сколько уровней вглубь сканировать вложенные контейнеры.
  • autoWeightBase (По умолчанию: 10.0): Базовый вес для предметов, не указанных явно.
Как рассчитывается вес

Вес каждого предмета определяется одним из четырёх уровней приоритета (высший побеждает):

  1. Явные веса предметов: задаются в customItemWeights (поддерживаются стандартные ID и виртуальные NBT ID).
  2. Веса тегов: задаются в customTagWeights.
  3. Продвинутое извлечение NBT: задаётся в nbtWeightPaths (извлекает скрытые ID для сверки с явными весами).
  4. Авто-взвешиватель: эвристический запасной вариант: Weight = (autoWeightBase / MaxStackSize) × Count.

При autoWeightBase = 10.0 меч (стак 1), 16 Ender Pearls и 64 блока земли весят в сумме 10.0: ношение большего количества стакающегося предмета не умножает вес бесконечно. Контейнеры (шалкеровые ящики, рюкзаки) включают вес своего содержимого. Shulker Boxes, Curios и PackedUp поддерживаются автоматически.

Явные веса предметов

Формат: "modid:item;weight": вес указывается на отдельный предмет, а не на стак. Примечание: этот список также принимает «виртуальные ID», извлечённые продвинутой системой NBT (например, "tacz:9mm;0.05").

customItemWeights = [
    "minecraft:netherite_chestplate;15.0",
    "minecraft:diamond_sword;4.0",
    "minecraft:obsidian;1.2",
    "tacz:9mm;0.05"
]
Веса тегов

Формат: "tag;weight": вес применяется к каждому отдельному предмету внутри тега.

customTagWeights = [
    "forge:ores;0.25",
    "forge:storage_blocks;0.15",
    "forge:ingots;0.2"
]
Пользовательские пути контейнеров

Для модов рюкзаков, которые хранят предметы в собственном NBT. Нужно только если мод не определяется автоматически. Формат: "modid:item;path.to.list"

customContainerPaths = [
    "somemod:satchel;Inventory",
    "anothermod:backpack;StorageTag.Items"
]
Продвинутое извлечение веса из NBT (для сложных модов)

КОГДА ЭТО ИСПОЛЬЗОВАТЬ: Большинство предметов в Minecraft используют стандартный ID предмета (например, minecraft:apple). Для них этот список НЕ нужен; просто добавьте их напрямую в список явных весов предметов. Однако некоторые сложные моды (например, TACZ) используют один базовый предмет (например, tacz:ammo) и хранят фактический конкретный ID предмета (например, tacz:9mm) скрытым внутри папок NBT. Этот список указывает системе весов, где именно искать внутри данных NBT, чтобы найти этот настоящий «виртуальный ID». КУДА ВПИСЫВАТЬ ID: Как только вы определите путь здесь, система весов извлечёт скрытый виртуальный ID. Затем вы должны добавить этот извлечённый ID в свой список Explicit Item Weights, чтобы назначить ему вес. Формат: "base_item_id ; nbt.path.to.id ; fallbackWeight ; applyFallbackIfMissing" Примеры:

nbtWeightPaths = [
    # Пример 1: Патроны (использует 'true' для флага запасного веса)
    # Ищет внутри 'tacz:ammo' значение 'AmmoId'. Если находит ID вроде 'tacz:9mm', сверяется с явными весами.
    # Если 'tacz:9mm' не настроен явно, добавляет вес 0.05. 
    # Если тег AmmoId отсутствует полностью, всё равно добавляет 0.05, потому что флаг равен true.
    "tacz:ammo;AmmoId;0.05;true",

    # Пример 2: Обвесы (использует 'false' для флага запасного веса)
    # Пробирается через папки NBT оружия (открывает AttachmentSCOPE, затем tag, чтобы прочитать AttachmentId) для проверки прицела.
    # Если прицел найден, сверяется с явными весами, иначе добавляет 0.5.
    # Если прицел не установлен (папка пуста), добавляет вес 0.0, потому что флаг равен false.
    # (Если бы он был true, добавлялся бы фантомный вес 0.5, даже если у оружия нет прицела. Так что false здесь лучше)
    "tacz:modern_kinetic_gun;AttachmentSCOPE.tag.AttachmentId;0.5;false"
]
Атрибут предела веса

Увеличьте грузоподъёмность игрока с помощью `/stamina attr weight_limit . Каждая точка добавляет +0.5к порогу и+1.0` к пределу.

Затраты выносливости на предметы

Назначайте затраты выносливости любым предметам. Несколько типов затрат можно совмещать на одном предмете (например, щит, который тратит выносливость и на удержание, и на блокирование).

Используйте отрицательное значение затрат, чтобы восстанавливать выносливость во время действия, а не тратить её.

  • itemInterruptionCooldown (По умолчанию: 80): Кулдаун в тиках, если у вас закончилась выносливость во время использования предмета.
  • enableAttackCooldownWhenExhausted (По умолчанию: false): В отличие от itemInterruptionCooldown, это касается оружия, мечей, топоров и т.д.
  • exhaustedAttackCooldownDuration (По умолчанию: 80): Как долго длится кулдаун оружия при ударе, когда выносливость исчерпана.

    Формат: "ItemId;TYPE;Cost;TYPE;Cost..." Типы затрат:
  • TICK: Непрерывно тратит выносливость, пока предмет используется. Отменяет действие, если выносливость достигает 0.
  • BLOCK: Тратит выносливость только когда щит успешно блокирует урон. Поддерживает динамическое масштабирование: BLOCK;BaseCost;DamageMultiplier.
  • USE: Мгновенно тратит выносливость при правом клике.
  • USE_ON_BLOCK: Тратит выносливость только когда инструмент успешно изменяет состояние блока. Примеры:
# Щит: `0.2/тик` на удержание; при ударе `2.0` фиксированно + `80%` входящего урона:
"minecraft:shield;TICK;0.2;BLOCK;2.0;0.8"

Лук: 0.5/тик на натяжение:

"minecraft:bow;TICK;0.5"

Удочка: 3.0 выносливости на заброс:

"minecraft:fishing_rod;USE;3.0"

> Также доступен список на основе тегов с тем же форматом, но с ID тега вместо ID предмета. Записи конкретных предметов всегда имеют приоритет над записями тегов.
----------
### Система расходников
Объединяйте несколько эффектов на одном предмете, чтобы создавать сложные взаимодействия еды и расходников.
-   `penaltyReliefDuration` _(По умолчанию: `25`)_: Секунды, сколько длится бафф _Resistance_ после употребления облегчающего предмета.
-   `maxPoisonPenalty` _(По умолчанию: `40.0`)_: Максимальная выносливость, блокируемая пищевым отравлением.
-   `poisonDecayDelay` _(По умолчанию: `45`)_: Секунды после еды, прежде чем штраф от отравления начнёт спадать.
-   `poisonDecayRate` _(По умолчанию: `0.05`)_: Как быстро спадает шкала отравления после истечения задержки.
**Формат:** `"ItemId;TYPE;Args...;TYPE;Args..."`
**Типы эффектов:**
-   `INSTANT;Amount`: Мгновенно восстанавливает `Amount` выносливости.
-   `BONUS;Amount`: Даёт `Amount` бонусной выносливости (золотая полоса). Расходуется раньше обычной выносливости и со временем спадает.

- `POISON;Amount`: накладывает штраф пищевого отравления (фиолетовая полоса) величиной `Amount`. Снижается через `poisonDecayDelay` секунд.
- `REGEN;Amount;Seconds`: изменяет скорость регенерации на `Seconds`. Положительное значение = быстрее, отрицательное = медленнее. (`0.2 = +20%`, `-0.3 = -30%`.)
- `PENALTY;Amount`: даёт _Resistance_ на `penaltyReliefDuration` секунд. Формула: **30% базово + (Amount / 100)**. Максимум 80%.
- `CURE;Target;Amount`: убирает `Amount` у конкретного штрафа. Допустимые цели: `FATIGUE`, `HUNGER`, `POISON`, `WEIGHT`, `ALL` или любой свой ключ (например, `temperature` или `modid:effectid`).
**Примеры:**

Восстанавливает 10.0 выносливости и даёт 5.0 бонусной выносливости.

"minecraft:apple;INSTANT;10.0;BONUS;5.0"

Даёт ~50% сопротивления набору штрафов на настроенную длительность облегчения.

"minecraft:golden_carrot;PENALTY;20.0"

Убирает 100.0 очков пищевого отравления.

"minecraft:milk_bucket;CURE;POISON;100.0"

Убирает 50.0 отравления и 20.0 усталости.

"modid:herbal_tea;CURE;POISON;50.0;CURE;FATIGUE;20.0"

Убирает 100.0 очков штрафа от эффекта Wither.

"minecraft:honey_bottle;CURE;minecraft:wither;100.0"

Убирает 50.0 у всех активных штрафов и даёт ~55% сопротивления.

"minecraft:golden_apple;CURE;ALL;50.0;PENALTY;25.0"

----------
### Штрафы истощения
Определяют, что происходит, когда выносливость игрока падает до 0.
- `exhaustionCooldownDuration` _(По умолчанию: `60`)_: тики (3 секунды), в течение которых штрафы держатся после падения до 0.
- `exhaustedSpeedPenalty` _(По умолчанию: `-0.65`)_: снижение скорости спринта при беге с 0 выносливости. При этом выносливость не восстанавливается.
- `customExhaustionPenalties`: список модификаторов атрибутов, применяемых при истощении.
**Формат:** `"AttributeName;Amount;Operation"`
Операции: `0` = добавить плоское значение, `1` = умножить базовое, `2` = умножить итоговое.
Пример: замедлить игрока на 15%:

"minecraft:generic.movement_speed;-0.15;2"

----------
### Универсальные штрафы (NBT и эффекты)
Свяжите данные любого мода — жажду, температуру, радиацию, магию — с системой выносливости через компараторы. Поддерживается постепенное накопление или мгновенное применение.
- `universalPenalties`: список правил, задающих внешние штрафы.
- `showIcons` _(По умолчанию: `true`)_: включает иконки штрафов на HUD. _(Находится в `peak_stamina-client.toml`. Проверьте комментарии к конфигу вашей версии насчёт доступности.)_
**Формат:** `"Type;Key;Comparator;Threshold;WorstValue;MaxPenalty;ColorInt;IconText"`
| Параметр |Описание |
| ---------- |--------------------------------------------------------------------------------------------------------------------- |
| <strong>Type</strong> |<code>NBT</code> (проверяет данные игрока) или <code>EFFECT</code> (проверяет усилитель/уровень зелья). |
| <strong>Key</strong> |Путь NBT (например, <code>thirstLevel</code>) или ID эффекта (например, <code>minecraft:poison</code>). |
| <strong>Comparator</strong> |Логика расчёта штрафа. См. режимы компаратора ниже. |
| <strong>Threshold</strong> |Безопасное значение, с которого начинается штраф (0%). |
| <strong>WorstValue</strong> |В режиме SCALE: значение, при котором штраф достигает 100%.<br>В режиме MULTIPLIER: максимально допустимый суммарный штраф (жёсткий предел). |
| <strong>MaxPenalty</strong> |В режиме SCALE: суммарный штраф при WorstValue.<br>В режиме MULTIPLIER: штраф за 1 единицу разницы. |
| <strong>ColorInt</strong> |Десятичный код цвета для оверлея HUD (например, <code>16711680</code> — красный). |
| <strong>IconText</strong> |Эмодзи или текст на полосе. Напишите <code>none</code>, чтобы отключить.
> `EFFECT` проверяет усилитель, а не отображаемый уровень. Усилитель `0` = уровень I.
#### Режимы компаратора
| Оператор | Поведение |
| :--- | :--- |
| `>` | Линейный штраф по мере роста значения выше Threshold, максимум при WorstValue. |
| `<` | Линейный штраф по мере падения значения ниже Threshold, максимум при WorstValue. |
| `*` | Каждая единица выше Threshold добавляет MaxPenalty, с ограничением WorstValue. Формула: `(Current - Threshold) * MaxPenalty` |
| `*<` | Каждая единица ниже Threshold добавляет MaxPenalty, с ограничением WorstValue. Формула: `(Threshold - Current) * MaxPenalty` |
Поставьте `!` перед любым оператором (например, `!>`, `!*<`), чтобы штраф применялся мгновенно, а не накапливался постепенно.
8-й аргумент (IconText) задаёт, что отображается на полосе. Введите любой символ или эмодзи напрямую (например, `💧`, `🔥`) или используйте `none`, чтобы скрыть.
#### Примеры

Линейный штраф по мере падения жажды ниже 6

"NBT;thirstLevel;<;6;0;20.0;38143;💧"

**Cold Sweat (жара и холод):**

Линейный штраф за экстремальную жару (> 2) или экстремальный холод (< 2)

"NBT;targetTemperatureLevel;>;2;4;20.0;16724016;🔥" "NBT;targetTemperatureLevel;<;2;0;20.0;65535;❄"

**Множитель (жажда):**

Каждая единица ниже 6 добавляет 2.0 штрафа, максимум 30

"NBT;thirstLevel;*<;6;30;2.0;38143;💧"

**Множитель (эффект отравления):**

Каждый уровень усилителя добавляет 5.0 штрафа, максимум 50

"EFFECT;minecraft:poison;*;0;50;5.0;4488448;☣"

**Мгновенное применение:**

Мгновенно применяет штраф с префиксом !

"EFFECT;hordes:infected;!*;0;80;10.0;8388736;🦠"

### Универсальные баффы (NBT и эффекты)
Работают так же, как универсальные штрафы, но дают бонусную выносливость вместо штрафа игроку.
* `universalBuffs`: список правил, задающих внешние баффы.
* `universalBuffRegenWhileActive` *(По умолчанию: `false`)*: если false, бонусная выносливость от режимов PASSIVE/BOTH приостанавливает регенерацию, пока игрок активно тратит выносливость или находится на перезарядке регенерации.
**Формат:** `"Type;Key;ActionMode;Threshold;LimitOrCooldown;Amount;BurstAmount;ScalingFactor"`
> `BurstAmount` доступен только в режимах `BOTH`. `ScalingFactor` доступен только в режимах `MULTIPLIER`.
**Режимы действия:**
| Режим действия | Поведение |
| :--- | :--- |

| `PASSIVE_OVER` / `PASSIVE_UNDER` | Восстанавливает бонусную выносливость в секунду, пока показатель выше/ниже порога. |
| `BURST_OVER` / `BURST_UNDER` | Единовременно начисляет бонусную выносливость, когда показатель пересекает порог. |
| `BOTH_OVER` / `BOTH_UNDER` | Начисляет разовый всплеск при пересечении порога, затем пассивно восстанавливает до жёсткого лимита. |
Добавьте `_MULTIPLIER` к любому режиму (например, `PASSIVE_OVER_MULTIPLIER`), чтобы масштабировать эффект в зависимости от того, насколько далеко игрок вышел за порог.
`LimitOrCooldown` зависит от контекста: для режимов PASSIVE/BOTH задаёт жёсткий лимит бонусной выносливости; для режимов BURST задаёт кулдаун в тиках до повторного срабатывания всплеска.
**Примеры:**
**Пассивный (эффект регенерации):**
```toml
# Генерирует 1.0/сек пока активно, лимит 20.0
"EFFECT;minecraft:regeneration;PASSIVE_OVER;-1;20.0;1.0"

Всплеск + пассивный (NBT-показатель маны):

# Всплеск 30.0 когда мана превышает 50, затем 2.0/сек пассивно до лимита 100.0
"NBT;player_mana;BOTH_OVER;50;100.0;2.0;30.0"

Множитель (эффект силы):

# Strength I (Amp 0): 1.25x -> 2.5/сек, лимит 25.0
# Strength II (Amp 1): 1.50x -> 3.0/сек, лимит 30.0
"EFFECT;minecraft:strength;PASSIVE_OVER_MULTIPLIER;-1;20.0;2.0;1.25"
Вложенные NBT-пути

Используйте . для навигации внутри вложенных NBT-тегов, добавляя столько уровней, сколько нужно:

# Тег ForgeCaps → тег legendarysurvivaloverhaul:thirst → значение hydrationLevel 
"ForgeCaps.legendarysurvivaloverhaul:thirst.hydrationLevel" 

# Тег ForgeCaps → тег legendarysurvivaloverhaul:temperature → значение temperature 
"ForgeCaps.legendarysurvivaloverhaul:temperature.temperature" 

# Тег ForgeCaps → тег somemod:player_stats → тег skills → значение mining_level 
"ForgeCaps.somemod:player_stats.skills.mining_level"

Решение проблем: Если правильный путь всё ещё не работает, попробуйте добавить префикс ForgeCaps. перед остальной частью пути. Пример: "NBT;ForgeCaps.legendarysurvivaloverhaul:temperature.temperature;*<;12;40;2.0;65535;❄"


⚠️ Экспериментальные функции

Эти функции экспериментальны и могут повлиять на производительность или баланс игры. Используйте с осторожностью.

Выносливость сущностей

Привносит механику истощения неигровым сущностям, позволяя мобам выдыхаться и получать дебаффы атрибутов в бою.

  • enableMobStamina (По умолчанию: false): Главный переключатель системы выносливости мобов.
  • enableExhaustionParticles (По умолчанию: true): Включает визуальный эффект частиц «пота», когда моб входит в состояние истощения.
Профили истощения

Определяют переиспользуемые шаблоны дебаффов атрибутов, которые можно назначить любому мобу. Атрибуты из модов полностью поддерживаются. Формат: "ProfileName;AttributeID=Multiplier,AttributeID=Multiplier..." Примеры:

"MeleeTired;minecraft:generic.movement_speed=-0.40,minecraft:generic.attack_damage=-0.4"
"HeavyMelee;minecraft:generic.movement_speed=-0.60,minecraft:generic.attack_damage=-0.50"
Пользовательская выносливость мобов (белый список)

Определяет, какие именно мобы участвуют в системе выносливости. Мобы, не указанные здесь, полностью не затронуты. Примечание: Боссы не гарантированно работают корректно с этой системой. Формат: "EntityID;MaxAttacks;ExhaustionTicks;ProfileName"

  • EntityID: Реестровое имя моба (например, minecraft:zombie).
  • MaxAttacks: Количество ударов в ближнем бою или выстрелов из дальнего оружия до срабатывания истощения. Для дальнобойных мобов считаются выстрелы независимо от того, попали они или нет.
  • ExhaustionTicks: Длительность состояния истощения моба. (20 тиков = 1 секунда.)
  • ProfileName: Профиль истощения для применения, как определено выше. Дальнобойные мобы с луками или арбалетами, у которых в профиле истощения есть снижение урона от атаки, также будут страдать от сниженной скорости стрел в состоянии истощения.

Пользовательские действия выносливости

Эта система позволяет задавать конкретные триггеры, которые расходуют или восстанавливают выносливость. Каждое действие следует определённому строковому формату из трёх основных компонентов. Формат: "Event_Type;Argument;Cost"

ПараметрОписание
Event_TypeКонкретная категория взаимодействия или события, вызывающего затрату (например, MOUNT, HURT).
ArgumentФильтрует событие. Используйте конкретный ID для нацеливания на один объект или ANY для срабатывания затраты на все события в этой категории.
CostКоличество расходуемой выносливости.
Доступные типы событий и аргументы
Тип событияАргументОписание
MOUNTentity_idСрабатывает, когда игрок садится на сущность (например, minecraft:horse, minecraft:boat)
INTERACT_ENTITYentity_idСрабатывает при клике правой кнопкой по сущности (например, minecraft:villager, minecraft:pig).
HURTdamage_sourceСрабатывает, когда игрок получает урон (например, fall, onFire, mob, arrow).
FISHdamage_sourceСрабатывает, когда игрок успешно что-то вылавливает удочкой.

Примеры

  • "HURT;fall;10.0" Потеря 10 выносливости при получении урона от падения.
  • "MOUNT;minecraft:horse;25.0" Разовая затрата 25 выносливости для посадки на лошадь.
  • "FISH;ANY;-5.0" Восстановление 5 выносливости каждый раз, когда вы ловите рыбу.
  • "INTERACT_ENTITY;ANY;2.0" Небольшой расход выносливости за взаимодействие с любым мобом.

Примечание: Используйте ANY в качестве аргумента, если хотите, чтобы затрата выносливости применялась независимо от конкретной сущности или типа источника урона. Отрицательные значения восстанавливают выносливость.

Совместимость с ParCool

Пока остаётся хоть какая-то выносливость (> 0), вы можете начать действие ParCool: даже если затрата превышает текущий запас. Вы просто опуститесь до 0. Затраты на быстрый бег и быстрое плавание добавляются поверх базовых затрат на спринт и плавание. Используйте отрицательное значение затраты, чтобы восстанавливать выносливость во время действия, а не тратить её.

  • parCoolActionCosts: Список, задающий затраты выносливости для конкретных паркур-движений. Формат: "ActionName;START;Cost;CONTINUE;Cost"
  • START: Разовая затрата при начале действия.
  • CONTINUE: Затрата за тик, пока действие активно. Примеры:
# Vault: 8.0 stamina instantly:
"Vault;START;8.0"

Wall Run: 15.0 to start, then 0.5/tick:

"WallRun;START;15.0;CONTINUE;0.5"

----------
### Совместимость с Combat Roll
Вы можете использовать кувырок только при достаточном запасе выносливости для его начала. Иначе — не можете.
- `combatRollCost`: Сколько стоит каждый кувырок.
----------
### Система Auto HUD
> Все настройки визуала и HUD находятся в `config/peak_stamina/client.toml`. По умолчанию отключено.
-   `autoHudMode`: Как анимируется полоса: `FADE`, `SLIDE` или `BOTH`.
-   `autoHudSlideDir`: Направление, в котором полоса уезжает при скольжении: `UP`, `DOWN`, `LEFT`, `RIGHT`.
-   `autoHudEasing`: Кривая анимации: `LINEAR`, `SMOOTHSTEP`, `EASE_OUT_SINE` или `EASE_OUT_EXPO`. Подробные описания — в комментариях к файлу конфигурации.
-   `autoHudFadeInSpeed` / `autoHudFadeOutSpeed`: Независимые настройки скорости для переходов прозрачности.
-   `autoHudSlideInSpeed` / `autoHudSlideOutSpeed`: Независимые настройки скорости для движения скольжением.
-   `autoHudSlideDistance`: На сколько пикселей полоса смещается при уезде за экран.
-   `autoHudLingerTime`: Сколько тиков полоса остаётся видимой после того, как выносливость перестала меняться.
-   `autoHudThreshold`: Автоматически показывает полосу, если выносливость опускается ниже этого процента.
-   `autoHudShowOnPenalties`: Принудительно держит полосу видимой, пока действует какой-либо активный штраф.
### Пользовательские подсказки
> Все настройки визуала и HUD находятся в `config/peak_stamina/client.toml`.
Эта система позволяет задавать, какая статистика, связанная с выносливостью, отображается в подсказках предметов в игре.
-   `enableTooltips` _(По умолчанию: `true`)_: Переключатель, включающий или отключающий информацию о выносливости в подсказках предметов.
-   `advancedTooltipsOnly` _(По умолчанию: `false`)_: Если true, подсказки о выносливости будут появляться только при активных расширенных подсказках (F3+H) в игре.
**Формат:** `"Content_Type;Placement;Label_Color;Value_Color"`
| Параметр | Описание |
| :--- | :--- |
| **Content_Type** | Конкретная характеристика или эффект выносливости для отображения (например, `WEIGHT`, `INSTANT_STAMINA`). |
| **Placement** | Где появляется подсказка: `BOTTOM` (в конце подсказки) или `BELOW_NAME` (сразу под названием предмета). |
| **Label_Color** | Цвет названия характеристики (например, "Weight:"). См. список цветов ниже. |
| **Value_Color** | Цвет числового значения или эффекта (например, "15.0"). См. список цветов ниже. |
#### Доступные типы содержимого
-   `WEIGHT`: Показывает вес предмета.
-   `ATTACK_COST`: Показывает затрату выносливости за успешный удар.
-   `MISSED_ATTACK_COST`: Показывает затрату выносливости при ударе по воздуху.
-   `USE_COST`: Показывает разовую затрату при нажатии правой кнопкой мыши.
-   `TICK_COST`: Показывает непрерывную затрату, пока предмет удерживается/используется.
-   `BLOCK_COST`: Показывает затрату выносливости при блокировании щитом.
-   `INSTANT_STAMINA`: Показывает, сколько выносливости восстанавливается при употреблении.
-   `BONUS_STAMINA`: Показывает количество золотой «бонусной выносливости», которое даётся.
-   `REGEN_MODIFIER`: Показывает процентное повышение или штраф к скорости восстановления.
-   `CURES`: Перечисляет, какие штрафы (Fatigue, Poison и т. д.) снимает предмет.
> Вы также можете настроить, что будет отображаться в подсказках для каждого из них.
#### Палитра цветов
Для названий и значений можно использовать следующие стандартные названия цветов Minecraft:
`BLACK`, `DARK_BLUE`, `DARK_GREEN`, `DARK_AQUA`, `DARK_RED`, `DARK_PURPLE`, `GOLD`, `GRAY`, `DARK_GRAY`, `BLUE`, `GREEN`, `AQUA`, `RED`, `LIGHT_PURPLE`, `YELLOW`, `WHITE`.
#### Примеры
Порядок, в котором вы перечисляете эти записи, определяет порядок их появления в подсказках.

customTooltips = [ "WEIGHT;BOTTOM;DARK_GRAY;WHITE", "ATTACK_COST;BOTTOM;DARK_GRAY;WHITE", "INSTANT_STAMINA;BOTTOM;DARK_GRAY;GREEN", "BONUS_STAMINA;BOTTOM;DARK_GRAY;GOLD", "CURES;BOTTOM;DARK_GRAY;WHITE" ]

> **Примечание:** Подсказки будут появляться только у предметов, которые действительно обладают соответствующей характеристикой или эффектом. Например, подсказка `WEIGHT` не появится у предмета с нулевым весом, если это явно не настроено.
----------
## Атрибуты и команды
### Атрибуты

peak_stamina:max_stamina
peak_stamina:stamina_regen
peak_stamina:stamina_action_recovery          # Умножает выносливость, восстанавливаемую во время действий
peak_stamina:regen_delay_multiplier
peak_stamina:exhaustion_duration_multiplier
peak_stamina:current_stamina
peak_stamina:penalty_gain_multiplier
peak_stamina:penalty_decay_multiplier
peak_stamina:max_global_penalty_multiplier
peak_stamina:max_fatigue_penalty_multiplier
peak_stamina:max_hunger_penalty_multiplier
peak_stamina:max_poison_penalty_multiplier
peak_stamina:max_weight_penalty_multiplier
peak_stamina:slow_climb_speed
peak_stamina:exhausted_sprint_speed
peak_stamina:weight_limit
peak_stamina:current_weight
peak_stamina:weight_calculation_multiplier    # Умножает вес всех предметов
peak_stamina:global_stamina_usage
peak_stamina:jump_cost_multiplier
peak_stamina:sprint_cost_multiplier
peak_stamina:attack_cost_multiplier
peak_stamina:missed_attack_cost_multiplier
peak_stamina:shield_block_cost_multiplier
peak_stamina:shieldexp_parry_cost_multiplier
peak_stamina:item_cost_multiplier
peak_stamina:block_break_cost_multiplier
peak_stamina:block_place_cost_multiplier
peak_stamina:swim_cost_multiplier
peak_stamina:climb_cost_multiplier
peak_stamina:elytra_cost_multiplier
peak_stamina:parcool_cost_multiplier
peak_stamina:walljumptxf_cost_multiplier
peak_stamina:combatroll_cost_multiplier
peak_stamina:bonus_stamina_capacity
peak_stamina:bonus_stamina_decay_rate
peak_stamina:bonus_stamina_decay_delay
peak_stamina:excess_conversion_multiplier
peak_stamina:shieldexp_bonus_gain_multiplier

Команды

  • /stamina get: Показать текущую и максимальную выносливость.
  • `/stamina set `: Установить текущую выносливость на указанное значение.
  • `/stamina attr `: Изменить личный атрибут выносливости.
  • /stamina debug: Полный отладочный вывод всех параметров выносливости, штрафов и множителей атрибутов.
  • /stamina reload: Перезагружает все кэши и значения конфигурации.

Отладка

Как найти правильный путь NBT

Угадайте путь в конфиге, затем запустите игру и проверьте logs/latest.log. Если путь неверный, мод выведет WARNING со списком доступных ключей на этом уровне: используйте их, чтобы исправить путь.

Если правильный путь всё равно не работает, попробуйте добавить префикс ForgeCaps. перед остальной частью пути. Пример: "NBT;ForgeCaps.legendarysurvivaloverhaul:temperature.temperature;*<;12;40;2.0;65535;❄"

Как получить десятичные цвета

В конфигах Minecraft используются десятичные значения цветов. Возьмите свой hex-цвет (например, FF0000), прогоните его через любой конвертер Hex в Decimal и вставьте результат в конфиг (например, 16711680).

Вопросы и ответы

В: Можете добавить совместимость с модом X (жажда, температура и т.д.)? Вы можете сделать это сами с помощью раздела «Универсальные штрафы и бонусы» выше. В: Как отключить штраф за голод? Установите maxHungerPenalty в 0.0. Также можно установить maxExertionPenalty в 0.0, чтобы отключить усталость. В: Как отключить систему веса? Установите enableWeightSystem в false. В: Нужен ли этот мод на сервере? Да. В: Работает ли это в мультиплеере? Хотя это не тестировалось исчерпывающе на всех версиях, тестирование не выявило проблем.

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

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

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

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

У Peak Stamina есть сборки для Minecraft 1.20.1, 1.21.1.

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

Нужен и в игре, и на сервере

Лицензия и источник
GNU Lesser General Public License v3.0 or laterможно использовать и распространять; изменённые версии — под той же лицензией и с исходным кодом
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

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