此特性为Java版独有。
用于更改或读取属性。
语法[]
attribute <target> <attribute> [base] get [<scale>]
attribute <target> <attribute> base set <value>
attribute <target> <attribute> modifier add <uuid> <name> <value> (add|multiply|multiply_base)
attribute <target> <attribute> modifier remove <uuid>
attribute <target> <attribute> modifier value get <uuid> [<scale>]
具体用法[]
attribute <target> <attribute> ...
... get [<scale>]
- 返回指定属性的总值。
... base get [<scale>]
- 返回指定属性的基值。
... base set <value>
- 用给定值覆盖指定属性的基值。
... modifier (add|remove|value get)
... add <uuid> <name> <value> (add|multiply|multiply_base)
- 如果已不存在具有相同UUID的修饰符,则添加具有指定属性的属性修饰符。
... remove <uuid>
- 删除具有指定UUID的属性修饰符。
... value get <uuid> [<scale>]
- 返回具有指定UUID的修饰符的值。
参数[]
<target>
:entity
<attribute>
:resource_location
<scale>
:double
<uuid>
:uuid
<name>
:string
- 指定该属性修饰器的名称。
- 必须为字符串。且必须为带引号词组(单个词或者引号括起的字符串,允许的字符包括:
-
、+
、.
、_
、A
-Z
、a
-z
和0
-9
)。
<value>
:double
- 指定使用的值。
- 必须为双精度浮点数。
结果[]
命令 | 触发条件 | Java版 |
---|---|---|
任意 | 不正确的参数 | 无法解析 |
<target> 无法解析为单个玩家、盔甲架、生物(指定的玩家必须在线) | 执行失败 | |
... modifier add ... | 属性不存在(例如玩家没有minecraft:horse.jump_strength 属性) | |
... modifier add ... | 修饰符已存在 | |
... modifier remove ... modifier value get ... | 修饰符不存在 | |
任意 | 执行成功时 | 更改或返回属性值。 |
输出[]
命令 | 版本 | 条件 | 成功次数 | /execute store success ... | /execute store result ... |
---|---|---|---|---|---|
任意 | Java版 | 执行失败 | 0 | 0 | 0 |
... get [<scale>] | 执行成功 | 1 | 1 | 指定属性的值 (乘以 <倍率> ),小数会向下取整。) | |
... base get [<scale>] | 执行成功 | 1 | 1 | 指定属性的基值 (乘以 <倍率> ),小数会向下取整。) | |
... modifier value get <uuid> [<scale>] | 执行成功 | 1 | 1 | 指定属性修饰符的值 (乘以 <倍率> ),小数会向下取整。) | |
... base set ... | 执行成功 | 1 | 1 | 1 |
示例[]
将自己的基础盔甲值设定为5:
/attribute @s minecraft:generic.armor base set 5
将所有玩家的最大生命值设置为2(经典极限生存):
/execute as @a run attribute @s minecraft:generic.max_health base set 2
历史[]
Java版 | |||||
---|---|---|---|---|---|
1.16 | 20w17a | 加入了/attribute 。 |
语言