中文Minecraft Wiki是完全公開的。歡迎持續參與翻譯工作 中文Minecraft Wiki是完全公開的。歡迎持續參與翻譯工作Minecraft中文Wiki微博現已創建!或許有興趣去看看Minecraft中文Wiki微博現已創建!或許有興趣去看看翻譯或創建頁面之前,不妨看看譯名標準化Wiki條例頁面。翻譯或創建頁面之前,不妨看看譯名標準化Wiki條例頁面。需要管理員的協助?在管理員告示板留言也許可以幫到您。需要管理員的協助?在管理員告示板留言也許可以幫到您。想與其他用戶進行編輯上的溝通?社區專頁正是為此創建的。想與其他用戶進行編輯上的溝通?社區專頁正是為此創建的。

属性

来自Minecraft Wiki
跳转至: 导航搜索
Java Edition.pngMclogo.svg

属性(Attributes)生物和玩家身上的增益/减益特性系统。属性也存在修饰符(Modifiers)中,用于调整属性的强度。

属性应用[编辑 | 编辑源代码]

当应用到一个物品,一个物品的修饰符将增加或减少以修正相应的属性[1][2] 属性/修饰符可以在没有第三方的情况下使用NBT添加数据标签give和summon添加到物品或者生物。

下面的命令将给最近的玩家一把增加20(Heart.svgHeart.svgHeart.svgHeart.svgHeart.svgHeart.svgHeart.svgHeart.svgHeart.svgHeart.svg点额外伤害的钻石剑,如果你把Operation由0改变到1,那么会直接增加攻击伤害。

/give @p diamond_sword{AttributeModifiers:[{AttributeName:"generic.attackDamage",Name:"generic.attackDamage",Amount:20,Operation:0,UUIDLeast:894654,UUIDMost:2872}]}

下面命令将召唤一个僵尸,当它距离玩家100格或更少时,它将跟随玩家,而不是通常的35。

/summon zombie ~ ~ ~ {Attributes:[{Name:"generic.followRange",Base:100.0}]}

也可以指定槽位拥有一定属性

/give @p diamond_axe{AttributeModifiers:[{Slot:"mainhand",AttributeName:"generic.attackDamage",Name:"generic.attackDamage",Amount:20,Operation:0,UUIDLeast:1,UUIDMost:1}]}

槽位可以是:mainhand,offhand,head,legs,chest,feet。

属性[编辑 | 编辑源代码]

每个独立的属性都控制着一些性状,这由这个属性的Name(名字)决定。一个属性通常都有一个Base(基础值),有的时候会有一些Modifiers(修饰符)。属性通常也有一个默认值(例如用于生成一个没有定义过特别属性的生物),以及一个自带的规定值域。修饰符会修饰属性的基础值,但结果也是在规定值域内的。

除非另有说明,否则最小值和最大值均为包含值,或者等于1.7x10308

请注意,具有相同UUID并影响相同属性的属性修饰符将不会叠加;只有最近影响的玩家或生物的一个才会产生影响,且覆盖之前的修饰符。

所有实体均包含的属性项[编辑 | 编辑源代码]

这些属性均可在所有生物中找到,包括玩家这个实体

属性名称 概述 默认值 最小值 最大值
generic.maxHealth 这个生物的最大生命值;亦或这个生物通过生命恢复最多可以恢复至的极限。 20 0.0 1024.0
generic.followRange 这个生物追踪玩家或者其他生物的最大范围,以方块数为单位。目标离开这个区域意味着它们将停止追踪。目前大多数生物这个值为16,而僵尸则有40。 32 0.0 2048.0
generic.knockbackResistance 这个生物的抗击退效果(包括攻击的击退、爆炸和弹射物冲击)的程度,1.0代表完全抵抗。 0.0 0.0 1.0
generic.movementSpeed 在某种不明度量标准下这个生物的速度。以格/秒为单位的生物最大速度略高于此值的43倍,但可能会受到各种条件的影响,例如:骑马(如果是马),疾跑,逃跑(如果是被动生物),攻击(如果是一个末影人或僵尸猪人),被皮带牵引,受速度或缓慢药水影响,为幼年僵尸或者是一个女巫和喝药水。可以使用以下等式计算每秒格数的速度,其中x是movementSpeed属性y = 43.178x-0.02141
生物 generic.movementSpeed 格/秒

玩家
0.1 4.3m/s

玩家
跑步
0.15 6.5m/s

0.1125~0.3375的随机值 4.85m/s~14.55m/s的随机值

羊驼
0.175 7.5m/s


哞菇

雪傀儡
0.2 8.6m/s

僵尸村民

烈焰人


尸壳

僵尸

僵尸猪人
0.23 9.9m/s

爬行者

北极熊

铁傀儡

流浪者

末影螨

女巫
,

蠹虫

骷髅


凋灵骷髅
0.25 10.8m/s

末影人

远古守卫者

洞穴蜘蛛

兔子

杀手兔

豹猫

蜘蛛

0.3 12.9m/s

卫道士
0.35 15.1m/s

岩浆怪

史莱姆
0.4 17.2m/s

村民

巨人

守卫者

唤魔者
0.5 21.6m/s

凋灵
0.6 25.9m/s

末影龙

蝙蝠

恶魂

潜影贝

鱿鱼

恼鬼
0.7 30.2m/s
0.7* 0.0 1024.0
generic.attackDamage 普通攻击造成的伤害,一点表示半个心形标志。此属性在被动生物和傀儡中未找到。 1.0 0.0 2048.0
generic.armor 盔甲的防御点数。 0.0 0.0 30.0
generic.armorToughness 盔甲韧性 0.0 0.0 20.0

玩家的额外属性[编辑 | 编辑源代码]

这些属性只出现在玩家中。

属性名称 概述 默认值 最小值 最大值
generic.attackSpeed 决定攻击力度的填充速度,值代表每秒可以进行全力攻击的次数。 4.0 0.0 1024.0
generic.luck 影响战利品表使用的qualitybonus_rolls(例如当打开箱子、运输矿车,钓鱼和杀怪)。 0.0 -1024.0 1024.0

的额外属性[编辑 | 编辑源代码]

这些属性只出现在马中。

属性名称 概述 默认值 最小值 最大值
horse.jumpStrength 在某种不明度量标准下马的弹跳力。 0.7* 0.0 2.0

鹦鹉的额外属性[编辑 | 编辑源代码]

这些属性只出现在鹦鹉中。

属性名称 概述 默认值 最小值 最大值
generic.flyingSpeed 在某种不明度量标准下鹦鹉的飞行速度。 0.4* 0.0 1024.0

僵尸的额外属性[编辑 | 编辑源代码]

这些属性只出现在僵尸中。

属性名称 概述 默认值 最小值 最大值
zombie.spawnReinforcements 僵尸在一次攻击中在周围生成另一个僵尸的可能性。 0.0 0.0 1.0

一些未知属性的特性[编辑 | 编辑源代码]

当游戏找到一些非属性关键字的属性,这些特性将适用。当游戏发现无法识别的属性时,将应用这些特性于它。(请注意:执行此操作的代码行导致Minecraft崩溃。)

属性名称 概述 默认值 最小值 最大值
任何非常规名字的属性 未知。 0.0 0 1.7x10308

修饰符[编辑 | 编辑源代码]

修饰符会修饰一个属性的基础值,从结果看是增减它们。需要注意的是,修饰后的值也满足规定值域。像属性一样修饰符也拥有一个Name(名称),不过这个名字不会定义这个修饰符的效果;取而代之,一个修饰符的效果是由Operation(运算模式)决定的。一个修饰符同时带有一个Amount(数额)来决定改变的程度,另外还有一个UUID。(全称:Universally Unique IDentifier).

运算模式[编辑 | 编辑源代码]

修改的Operation(运算模式)决定这个属性被修饰的模式,大概的说明为:直接加减Amount,乘以Amount,乘以Amount+1;Operation可选值有三个: 0、1 或者2. 这个值将会决定修饰符对属性的基础数值的计算方式.

若该值为0:将X的增量设为Amount的值,例如:{Amount:2,Operation:0}和{Amount:4,Operation:0}与基础值3的结果是:9 (3 + 2 + 4 = 9)。

若该值为1:将Y的增量设为X×Amount的值; 例如:修饰符属性:{Amount:2,Operation:1}和{Amount:4,Operation:1}与基础值3的结果是21(3 *(1 + 2 + 4)= 21)。

若该值为2:则计算Y = Y × (1 + Amount的值) (等同于将Y的增量设为 Y × Amount的值)Minecraft会先设 X = Base, 然后执行所有Operation的值为0的修饰符, 紧接着设 Y = X, 之后再执行所有Operation值为1的修饰符, 最后才执行所有Operation的值为2的修饰符。例如:{Amount:2,Operation:2}和{Amount:4,Operation:2}与3的基础值结果是45(3 *(1 + 2)*(1 + 4)= 45)。[3]

数学行为如下:Operation0:按数量增加X,操作1:增加Y×X *数量,Operation2:Y = Y *(1 +数量)(相当于增量Y减去Y *数量)。 游戏首先设置X = Base,然后执行所有Operation 0修饰符,然后设置Y = X,然后执行所有Operation 1修饰符,最后执行所有Operation 2修饰符。

已知修饰符[编辑 | 编辑源代码]

像前文所述一样,一个修饰符可拥有任何一个Name(名字)且这不能影响这个修饰符的效果。下面是一些已知的修饰符的名字以及用于常规Minecraft的值(如果你在定制的地图中找到了这一栏,请不要修改它,因为地图设计者可能已经定制了这些东西)。需要注意的是一些UUID频繁出现,同时其他的有表现为固定字符串代码:这些UUID已经被采用了,请不要在本列表中添加这个修饰符不包含的UUID,这意味着每次这个修饰符创立时都是不同的。

修饰符名称 概述与已知值 已知效果
随机生成所附带的修饰符(Random spawn bonus) 由生成而产生,值呈高斯分布于0.0至0.05*。在僵尸的抗击退能力上,另一个成高斯分布于0.0至0.05*也会产生。 generic.followRange (Operation 1; 所有生物), Knockback Resistance抗击退能力 (Operation 0; 仅村民僵尸)
工具的修饰符(Tool modifier) 由工具决定 generic.attackDamage (Operation 0; 所有工具; UUID CB3F55D3-645C-4F38-A497-9C13A33DB5CF)
武器的修饰符(Weapon modifier) 由武器决定 generic.attackDamage (Operation 0; 所有武器; UUID CB3F55D3-645C-4F38-A497-9C13A33DB5CF (与工具的修饰符的UUID相同))
疾跑速度(Sprinting speed boost) 固定值为0.3*,应用于包括玩家在内的所有在跑动中的生物 generic.movementSpeed (Operation 2; 所有活跃的实体; UUID 662A6B8D-DA3E-4C1C-8813-96EA6097278D)
逃离速度(Sprinting speed boost) 固定值为2,应用于所有逃离中的被动的生物 generic.movementSpeed (Operation 2; 所有被动生物; UUID E199AD21-BA8A-4C53-8D13-6182D5C69D3A)
攻击冲刺(Attacking speed boost) 应用于末影人的固定值为6.2*;应用于僵尸猪人的固定值为0.45*。仅在攻击时出现。 generic.movementSpeed (Operation 0; 末影人 - UUID 020E0DFB-87AE-4653-9556-831010E291A0, 僵尸猪人 - UUID 49455A49-7EC5-45BA-B886-3B90B23A1718)
非成熟体速度(Baby speed boost) 固定值为0.5,仅出现于僵尸或者僵尸村民中。 generic.movementSpeed (Operation 1; 小型僵尸; UUID B9766B59-9566-4402-BC1F-2EE2A276D836)
饮用药水速度削减(Drinking speed penalty) 固定值为-0.25,应用于正在喝药水的女巫中。 generic.movementSpeed (Operation 0; 女巫; UUID 5CD17E52-A79A-43D3-A529-90FDE04B181E)
在僵尸随机生成中附带的修饰符(Random zombie-spawn bonus) 由生成而产生,是一个在0.0到1.5之间的伪随机数。 generic.followRange (Operation 2; 僵尸)
生成精英僵尸时所附带的修饰符(Leader zombie bonus) 有很小的概率在生成一个僵尸时出现。值为一个0.5至0.75之间的伪随机数并应用于僵尸连带生成新僵尸的可能性,或者是一个1.0至4.0至案件的伪随机数并应用于generic.maxHealth。 zombie.spawnReinforcements (Operation 0; 僵尸), generic.maxHealth (Operation 2; Zombies)
生成了新僵尸的僵尸的代价(Zombie reinforcement caller charge) 固定值为-0.05*当一个僵尸将其他僵尸作为援军生成于周围时产生。 zombie.spawnReinforcements (Operation 0; 僵尸)
被僵尸作为援军生成的新僵尸的代价(Zombie reinforcement callee charge) 固定值为-0.05*当一个僵尸作为援军被其他僵尸生成于周围时产生。 zombie.spawnReinforcements (Operation 0; 僵尸)
potion.moveSpeed potion.moveSpeed # (#代表药水的等级) 固定值为0.2*,应用于有速度效果时,可由药水等级增倍。 generic.movementSpeed (Operation 2; 所有活跃的实体; UUID 91AEAA56-376B-4498-935B-2F7F68070635)
potion.moveSlowdown potion.moveSlowdown # (#代表药水的等级) 固定值为-0.15*,应用于有缓慢效果时,可由药水等级增倍。 generic.movementSpeed (Operation 2; 所有活跃的实体; UUID 7107DE5E-7CE8-4030-940E-514C1F160890)
potion.damageBoost potion.damageBoost # (#代表药水的等级) 固定值为3,应用于有力量效果时,可由药水等级增倍。 generic.attackDamage (Operation 2; 所有活跃的实体; UUID 648D7064-6A60-4F59-8ABE-C2C23A6DD7A9)
potion.weakness potion.weakness # (#代表药水的等级) 固定值为2,应用于有虚弱效果时,可由药水等级增倍。 generic.attackDamage (Operation 0; All living entities; UUID 22653B89-116E-49DC-9B6B-9971489B5BE5)
potion.healthBoost potion.healthBoost # (#代表药水的等级) 固定值为4,应用于有生命恢复效果时,可由药水等级增倍。 generic.maxHealth (Operation 0; 所有活跃的实体; UUID 5D6F0BA2-1186-46AC-B896-C61C5CEE99CC)
effect.luck effect.luck# (#代表药水的等级) 固定值为1,乘以效果的等级。 generic.luck(Operation 0; 所有活跃的实体; UUID 03C3C89D-7037-4B42-869F-B146BCB64D2E)
effect.unluck effect.unluck # (#代表药水的等级) 固定值为-1,乘以效果的等级。 generic.luck(Operation 0; 所有活跃的实体; UUID CC5AF142-2BD2-4215-B636-2605AED11727)
未知修饰符 未知; 在终端读取服务器所传送的属性数据时出现。 可变

历史[编辑 | 编辑源代码]

正式版
1.6.1 13w16a 加入了属性。
1.7.2 13w36a 属性/修饰符可以在没有第三方的情况下使用NBT添加数据标签give和summon添加到物品或者生物。
1.9 15w34b 加入了攻击速度属性。
15w36d 加入了盔甲属性。
15w44b 加入了幸运值属性。
1.9.1-pre1 加入了盔甲韧性属性。
携带版(Alpha)
0.12.1 build 1 加入了属性。


参考资料[编辑 | 编辑源代码]

Promotional Content