Stamina Attributes 图标

Stamina Attributes

作者:rebot | 分类:模组

价格:0 墨喵币 下载量:0 点赞:0 版本 4.0.1
本资源为搬运资源,原资源地址: https://modrinth.com/mod/stamina-attributes
资源信息

Minecraft 版本: 26.1 26.1.1 26.1.2

平台: fabric

标签: adventure game-mechanics library

资源介绍

Stamina Attributes

This API adds a stamina system controlled by entity attributes.

Default implementation

LivingEntities can have up to _staminaattributes:maxstamina amounts of stamina. Stamina is regenerated by _staminaattributes:staminaregeneration every _staminaattributes:stamina_tickthreshold ticks.

When stamina is reduced, regeneration is stopped for _staminaattributes:stamina_regeneration_delaythreshold ticks.

When stamina is <= 0, regeneration is stopped for _staminaattributes:depleted_stamina_regeneration_delaythreshold ticks.

_staminaattributes:reservedstamina describes the percentage amount of maximum stamina that is currently not available.

_staminaattributes:item_use_staminacost is the amount of stamina that is reduced when using an item with a stamina cost.
There are two ways to give an item a stamina cost:

  1. Items in the "staminaattributes:using_costs_stamina" item tag reduce stamina by _staminaattributes:item_use_staminacost
    when they are used once. When stamina is < 0 the use action is not performed. In that case the item gets a cooldown,
    configured in the server config.
  2. Items in the "staminaattributes:continuous_using_costs_stamina" item tag reduce stamina by _staminaattributes:item_use_staminacost every tick while they are used. When stamina is < 0, the usage is cancelled. In
    that case the item gets a cooldown, configured in the server config.

The different _staminaattributes:*_tick_staminacost attributes describe the stamina cost for the corresponding activity. This cost is
applied every tick (20x per second). This includes the following activities:

  • sprinting
  • sneaking
  • walking
  • swimming
  • walking underwater
  • walking in water
  • climbing

The different _staminaattributes:*_action_staminacost attributes describe the stamina cost for the corresponding actions. This cost is
applied once every time the action is performed. This includes the following actions:

  • jumping
  • sprint jumping
  • attack blocking
  • attacking
  • block breaking

Several activities and actions can be configured to require stamina. If stamina is 0 or lower, they can't be performed.
This includes:

  • jumping
  • sprinting
  • swimming
  • attacking
  • block breaking
  • attacking
  • attack blocking

Blocks that can be broken instantly by hand (blocks with a "destroyTime" of 0) can be excluded from the stamina
requirement.

Exhaustion

If a player has 0 or less stamina, they are exhausted, which means that a status effect is applied. This status effect
is defined in the server config.

This feature can be enabled in the server config, but it's disabled by default.

Default attribute values

  • _staminaattributes:maxstamina: 10 (10 for players)
  • _staminaattributes:staminaregeneration: 0 (1 for players)
  • _staminaattributes:stamina_tickthreshold: 20
  • _staminaattributes:stamina_regeneration_delaythreshold: 20
  • _staminaattributes:depleted_stamina_regeneration_delaythreshold: 60
  • _staminaattributes:reservedstamina: 0
  • _staminaattributes:item_use_staminacost: 0 (0.05 for players)
  • _staminaattributes:sprinting_tick_staminacost: 0 (0.05 for players)
  • _staminaattributes:sneaking_tick_staminacost: 0 (0.05 for players)
  • _staminaattributes:walking_tick_staminacost: 0
  • _staminaattributes:swimming_tick_staminacost: 0 (0.05 for players)
  • _staminaattributes:walking_underwater_tick_staminacost: 0 (0.05 for players)
  • _staminaattributes:walking_in_water_tick_staminacost: 0 (0.05 for players)
  • _staminaattributes:climbing_tick_staminacost: 0 (0.05 for players)
  • _staminaattributes:jumping_action_staminacost: 0 (1 for players)
  • _staminaattributes:sprint_jumping_action_staminacost: 0 (1 for players)
  • _staminaattributes:attack_blocking_action_staminacost: 0 (1 for players)
  • _staminaattributes:attacking_action_staminacost: 0 (1 for players)
  • _staminaattributes:block_breaking_action_staminacost: 0 (1 for players)

All default values for players can be set in the server config.

Default item tags

"staminaattributes:using_costs_stamina":

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

"staminaattributes:continuous_using_costs_stamina":

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

Customization

The client config allows customizing the HUD element.

Using the stamina system

Java

Casting a "LivingEntity" to the "StaminaUsingEntity" interface gives access to all relevant methods.

Data packs

Stamina Attributes implements several data driven methods to interact with the current stamina value of an entity.

  • the "staminaattributes:add_stamina" enchantment effect allows adding a defined amount to the current stamina
  • the "staminaattributes:stamina_using_entity" entity sub predicate passes when the current stamina of an entity matches
    the defined range
Example

This enchantment reduces stamina of the attacker by 2, as long as the attacker has at least 5 stamina:

{
    "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
}
📥 下载与版本
评论(0)
登录 后发表评论。

暂无评论,抢个沙发吧~

举报此资源

请登录后举报

🔥 相关推荐
Many More Banners

价格:0 墨喵币
下载量:0

查看详情
Yamato Gun

价格:0 墨喵币
下载量:0

查看详情
Highlighter V2

价格:0 墨喵币
下载量:0

查看详情
Thermal Foundation

价格:0 墨喵币
下载量:0

查看详情