此特性为Java版独有。
attribute
需要的权限等级 | 2 |
---|---|
限制条件 | 无 |
用于更改或读取属性。
语法
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
- 应用属性的实体。只有玩家、生物和盔甲架有属性。
- 必须为玩家名、目标选择器或UUID。且目标选择器只允许1个实体。
<attribute>
:resource_location
- 指定属性的命名空间ID。
- 必须为命名空间ID。
<scale>
:double
- 用于
/execute store result
命令,将获取的值与该值相乘的数字作为返回值(小数会向下取整)。 - 必须为双精度浮点数。
<uuid>
:uuid
- 以字符串格式指定修饰符的UUID。具有相同UUID的修饰符不堆叠。
- 必须为带连字符的十六进制UUID。接受下列字符:
-
A
–F
a
–f
0
–9
。
<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