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

Stamina Attributes

Небольшой API, добавляющий систему выносливости, управляемую атрибутами сущностей.

Fabric
Загрузчики
Fabric
Скачиваний на Modrinth
39,8 тыс.
Подписчиков на Modrinth
26
версий
28
Обновлён
16 апреля 202616 апр.
Опубликован
в 2024
Это библиотека — она нужна другим модам и сама ничего не добавляет в игруНужна 7 модам. Скачайте её, если этого требует другой мод.
Default Stamina Bar · свайп

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

Библиотека — нужна другим модам: её требуют 7
Работает на Fabric
Для Minecraft 1.21–1.21.1, 1.21.10–26.1.2 …
Нужен и в игре, и на сервере
Последняя версия — 4.0.1 от 16 апреля 2026
Нужен Fabric API и Resource Bar API
Где нужен
В игреобязателенНа сервереобязателен

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

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

Атрибуты выносливости

Этот API добавляет систему выносливости, управляемую атрибутами сущностей.

Реализация по умолчанию

LivingEntities могут иметь до staminaattributes:max_stamina единиц выносливости. Выносливость восстанавливается на staminaattributes:stamina_regeneration каждые staminaattributes:stamina_tick_threshold тиков.

Когда выносливость снижается, восстановление останавливается на staminaattributes:stamina_regeneration_delay_threshold тиков.

Когда выносливость <= 0, восстановление останавливается на staminaattributes:depleted_stamina_regeneration_delay_threshold тиков.

staminaattributes:reserved_stamina описывает процент от максимальной выносливости, который в данный момент недоступен.

staminaattributes:item_use_stamina_cost — это количество выносливости, которое снижается при использовании предмета со стоимостью выносливости. Есть два способа задать предмету стоимость выносливости:

  1. Предметы в теге предметов "staminaattributes:using_costs_stamina" снижают выносливость на staminaattributes:item_use_stamina_cost при однократном использовании. Когда выносливость < 0, действие использования не выполняется. В этом случае предмет получает перезарядку, настроенную в конфиге сервера.
  2. Предметы в теге предметов "staminaattributes:continuous_using_costs_stamina" снижают выносливость на staminaattributes:item_use_stamina_cost каждый тик, пока они используются. Когда выносливость < 0, использование отменяется. В этом случае предмет получает перезарядку, настроенную в конфиге сервера.

Различные атрибуты staminaattributes:*_tick_stamina_cost описывают стоимость выносливости для соответствующей активности. Эта стоимость применяется каждый тик (20 раз в секунду). Сюда входят следующие активности:

  • спринт
  • приседание
  • ходьба
  • плавание
  • ходьба под водой
  • ходьба в воде
  • лазание

Различные атрибуты staminaattributes:*_action_stamina_cost описывают стоимость выносливости для соответствующих действий. Эта стоимость применяется один раз каждый раз, когда действие выполняется. Сюда входят следующие действия:

  • прыжок
  • прыжок в спринте
  • блокирование атаки
  • атака
  • разрушение блока

Несколько активностей и действий можно настроить так, чтобы они требовали выносливость. Если выносливость равна 0 или ниже, их нельзя выполнить. Сюда входят:

  • прыжок
  • спринт
  • плавание
  • атака
  • разрушение блока
  • атака
  • блокирование атаки

Блоки, которые можно сломать мгновенно рукой (блоки со значением "destroyTime" равным 0), можно исключить из требования выносливости.

Истощение

Если у игрока 0 или меньше выносливости, он истощён, что означает, что на него накладывается эффект состояния. Этот эффект состояния определяется в конфиге сервера.

Эту функцию можно включить в конфиге сервера, но по умолчанию она отключена.

Значения атрибутов по умолчанию

  • staminaattributes:max_stamina: 10 (10 для игроков)
  • staminaattributes:stamina_regeneration: 0 (1 для игроков)
  • staminaattributes:stamina_tick_threshold: 20
  • staminaattributes:stamina_regeneration_delay_threshold: 20
  • staminaattributes:depleted_stamina_regeneration_delay_threshold: 60
  • staminaattributes:reserved_stamina: 0
  • staminaattributes:item_use_stamina_cost: 0 (0.05 для игроков)
  • staminaattributes:sprinting_tick_stamina_cost: 0 (0.05 для игроков)
  • staminaattributes:sneaking_tick_stamina_cost: 0 (0.05 для игроков)
  • staminaattributes:walking_tick_stamina_cost: 0
  • staminaattributes:swimming_tick_stamina_cost: 0 (0.05 для игроков)
  • staminaattributes:walking_underwater_tick_stamina_cost: 0 (0.05 для игроков)
  • staminaattributes:walking_in_water_tick_stamina_cost: 0 (0.05 для игроков)
  • staminaattributes:climbing_tick_stamina_cost: 0 (0.05 для игроков)
  • staminaattributes:jumping_action_stamina_cost: 0 (1 для игроков)
  • staminaattributes:sprint_jumping_action_stamina_cost: 0 (1 для игроков)
  • staminaattributes:attack_blocking_action_stamina_cost: 0 (1 для игроков)
  • staminaattributes:attacking_action_stamina_cost: 0 (1 для игроков)
  • staminaattributes:block_breaking_action_stamina_cost: 0 (1 для игроков)

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

Теги предметов по умолчанию

"staminaattributes:using_costs_stamina":

{
    "values": [
        "minecraft:snowball"
    ]
}

"staminaattributes:continuous_using_costs_stamina":

{
    "values": [
        "minecraft:bow",
        "minecraft:crossbow",
        "minecraft:shield"
    ]
}

Настройка

Клиентский конфиг позволяет настроить элемент HUD.

Использование системы выносливости

Java

Приведение "LivingEntity" к интерфейсу "StaminaUsingEntity" даёт доступ ко всем нужным методам.

Датапаки

Stamina Attributes реализует несколько методов на основе данных для взаимодействия с текущим значением выносливости сущности.

  • эффект зачарования "staminaattributes:add_stamina" позволяет добавить определённое количество к текущей выносливости
  • подпредикат сущности "staminaattributes:stamina_using_entity" срабатывает, когда текущая выносливость сущности попадает в заданный диапазон
Пример

Это зачарование уменьшает выносливость атакующего на 2, пока у атакующего есть хотя бы 5 выносливости:

{
    "anvil_cost": 1,
    "description": {
        "translate": "enchantment.staminaattributes.test"
    },
    "effects": {
        "minecraft:post_attack": [
            {
                "affected": "attacker",
                "effect": {
                    "type": "staminaattributes:add_stamina",
                    "amount": {
                        "type": "minecraft:linear",
                        "base": -2.0,
                        "per_level_above_first": -2.0
                    }
                },
                "enchanted": "attacker",
                "requirements": {
                    "condition": "minecraft:entity_properties",
                    "entity": "direct_attacker",
                    "predicate": {
                        "type_specific": {
                            "type": "staminaattributes:stamina_using_entity",
                            "stamina_amount": {
                                "min": 5.0
                            }
                        }
                    }
                }
            }
        ]
    },
    "max_cost": {
        "base": 25,
        "per_level_above_first": 8
    },
    "max_level": 1,
    "min_cost": {
        "base": 5,
        "per_level_above_first": 8
    },
    "slots": [
        "hand"
    ],
    "supported_items": "#minecraft:swords",
    "weight": 5
}

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

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

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

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

У Stamina Attributes есть сборки для Minecraft 1.20.1, 1.21–1.21.1, 1.21.10–26.1.2.

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

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

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

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