跳转到内容
捐助本站

attribute 指令

/attribute <目标实体> <属性名称> get [<倍率>]
/attribute <目标实体> <属性名称> base get [<倍率>]
/attribute <目标实体> <属性名称> base reset
/attribute <目标实体> <属性名称> base set <数值>
/attribute <目标实体> <属性名称> modifier add <自定义名称> <数值> <add_value|add_multiplied_total|add_multiplied_base>
/attribute <目标实体> <属性名称> modifier remove <自定义名称>
/attribute <目标实体> <属性名称> modifier value get <自定义名称> [<倍率>]

查询或增添、修改、删除实体的属性。

参数说明
<目标实体>玩家名称、目标选择器(@a、@e、@p、@r、@s)或者UUID
<属性名称>实体的属性,比如生命值、护甲值等
get获取属性的总值(最终值)
base get获取属性的基值
base reset重置属性的基值为默认值
base set更改属性的基值
modifier进行参与属性最终值运算的自定义参数修饰符操作
modifier add添加参与该属性最终值运算的自定义参数修饰符
modifier remove移除参与该属性最终值运算的自定义参数修饰符
modifier value get获取参与该属性最终值运算的自定义参数修饰符的值
add_value指定该自定义参数修饰符的值将用于增量操作(详见下文关于属性最终值的运算)
add_multiplied_base指定该自定义参数修饰符的值将用于倍率操作(详见下文关于属性最终值的运算)
add_multiplied_total指定该自定义参数修饰符的值将用于最终倍乘操作(详见下文关于属性最终值的运算)

在计算属性最终值的运算中,自定义参数修饰符将按照以下计算公式进行计算: ( 属性的基值 + 所有选择 add_value 的自定义参数修饰符的值的总和 ) × ( 1 + 所有选择 add_multiplied_base 的自定义参数修饰符的值的总和) × (1 + 选择 add_multiplied_total 的自定义参数修饰符1的值) × (1 + 选择 add_multiplied_total 的自定义参数修饰符2的值) × ... × (1 + 选择 add_multiplied_total 的自定义参数修饰符n的值) 示例:假如玩家Steve的最大生命值max_health基值为默认值20,通过以下指令为max_health添加了以下6个自定义参数修饰符:

/attribute Steve max_health modifier add a 2 add_value
/attribute Steve max_health modifier add b 5 add_value
/attribute Steve max_health modifier add c 2 add_multiplied_base
/attribute Steve max_health modifier add d 3 add_multiplied_base
/attribute Steve max_health modifier add e 1 add_multiplied_total
/attribute Steve max_health modifier add f 2 add_multiplied_total

则玩家Steve最终的最大生命值为(20 + a + b) × (1 + c + d) × (1 + e) × (1 + f) = 972 为了方便演示,上述自定义参数均使用整数,实际可以设置双精度浮点数(小数)。

属性名称属性ID说明
护甲值minecraft:armor护甲值与盔甲韧性共同作用,减少生物受到的伤害
盔甲韧性minecraft:armor_toughness护甲值与盔甲韧性共同作用,减少生物受到的伤害
攻击伤害minecraft:attack_damage生物的近战攻击伤害
击退minecraft:attack_knockback生物的攻击造成的击退强度的增量
攻击速度minecraft:attack_speed玩家的攻击速度
方块破坏速度minecraft:block_break_speed玩家破坏方块的速度乘数
方块交互距离minecraft:block_interaction_range玩家可以与方块交互的距离
着火时间minecraft:burning_time设置生物剩余着火时间效果的乘数
镜头距离minecraft:camera_distance设置第三人称视角下摄像机与玩家或被旁观实体的距离
实体交互距离minecraft:entity_interaction_range玩家可以与实体交互的距离
爆炸击退抗性minecraft:explosion_knockback_resistance生物对爆炸击退的抵抗强度
摔落伤害倍数minecraft:fall_damage_multiplier生物受到的摔落伤害的乘数
飞行速度minecraft:flying_speed生物的飞行移动的速度
生物跟随距离minecraft:follow_range生物AI可追踪和寻路的最大范围
重力minecraft:gravity生物在垂直方向上持续受到的向下加速的加速度
跳跃力度minecraft:jump_strength生物进行跳跃时获得的垂直速度
击退抗性minecraft:knockback_resistance生物对击退的抵抗强度
幸运值minecraft:luck高幸运值使玩家获得更好的战利品
最大伤害吸收值minecraft:max_absorption生物的最大伤害吸收值
最大生命值minecraft:max_health生物的最大生命值
挖掘效率minecraft:mining_efficiency玩家的挖掘速度增量
移动效率minecraft:movement_efficiency生物对脚下方块影响移动效果的抵抗
速度minecraft:movement_speed生物的地面移动速度
额外氧气minecraft:oxygen_bonus生物抵抗氧气下降的能力
安全摔落高度minecraft:safe_fall_distance生物不受摔落伤害的高度
尺寸minecraft:scale生物的尺寸乘数
僵尸增援minecraft:spawn_reinforcements僵尸生成僵尸增援的能力
潜行速度minecraft:sneaking_speed玩家的潜行时的速度乘数
最大行走高度minecraft:step_height生物不需要跳跃就可以走上的最大高度
水下挖掘速度minecraft:submerged_mining_speed玩家浸没在水中时的挖掘速度乘数
横扫伤害比率minecraft:sweeping_damage_ratio玩家的横扫伤害与近战伤害的比例
生物引诱范围minecraft:tempt_range生物能被玩家引诱的最大距离
水中移动效率minecraft:water_movement_efficiency生物对水影响移动效果的抵抗
路径点传输距离minecraft:waypoint_transmit_range设置玩家路径点传输距离,用于定位栏
路径点接收距离minecraft:waypoint_receive_range设置玩家路径点接收距离,用于定位栏
# 将自己的最大生命值基值设置为30
/attribute @s max_health base set 30
# 将自己的最大生命值基值重置成默认值
/attribute @s max_health base reset
# 给已生成的所有猪的重力值添加一个名为反重力的自定义参数修饰符
/attribute @e[type=minecraft:pig] minecraft:gravity modifier add antigravity -0.16 add_value
# 将已生成的所有猪的重力值中名为反重力的自定义参数修饰符移除
/attribute @e[type=minecraft:pig] minecraft:gravity modifier remove antigravity
  • 需要权限等级 2