Minecraft指令手册

你好MC

首页 >> Minecraft指令手册 >> Minecraft指令手册最新章节(目录)
大家在看踏天境 苟王,我的师兄太低调了 诡异药剂师:我的病人皆为恐怖 剑道第一魔 系统赋我长生,活着终会无敌 强欢 玄幻:杀猪百万头,我无敌世间 洪荒:开局夺舍殷洪得造化乾坤图 开创观想法的我,凭武道横推诸天 少林寺签到三十年,手撕邪魔 
Minecraft指令手册 你好MC - Minecraft指令手册全文阅读 - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - 好看的玄幻魔法小说

第一百零五章 属性修饰符 上-哪个MC玩家不想拥有一套神装呢?

上一章书 页下一章阅读记录

在minecraft中,最厉害的神装是怎样的?

在了解这一章的内容之前,你估计认为minecraft最厉害的神装就是:

→手拿下界合金剑(锋利、耐久、亡灵杀手、戒指杀手........LV.)

→身裹残骸(保护、耐久.......LV.)

→满满一潜影盒的附魔金苹果

这就是神装。

但这是最厉害的神装吗?

并不是,因为我们还可以堆料——使用mojang官方提供的minecraft内置属性修改器:

Attributemodifiers [mojang?]修改器

等等,什么是属性修改器?

『属性修改器』,确切的来说,是『属性修饰符』(Attribute modifiers)。它是一种能够修饰属性的东西。

什么是属性?

属性(Attributes)是minecraft中生物和玩家身上的增益\/减益特性系统。比如你的最大生命值、攻击速度、攻击距离等等,这些都是你的属性。

我们可以直接修改属性的基础值,也可以在属性上加上『属性修饰符』对属性的值进行一个修饰。比如,你可以为你的最大生命值加上一个修饰符,就可以将最大生命值提高到2048点。你也可以直接修改最大生命值的基础值,但这种直接修改和通过属性修饰符修改有很大不同,以后会讲到它们的差别。

那怎么添加属性修饰符呢?

有两种办法:1使用\/attribute指令2使用Nbt

至于第一种办法我们以后再讲,这两章我们就来了解使用Nbt该如何添加属性修饰符。更确切地说,我们接下来要研究的是:如何给物品添加上属性修饰符。

需要注意的是,物品没有属性,因此给物品添加上属性修饰符,本质上就是通过物品这个载体给拥有此物品的玩家\/生物添加上属性修饰符。

物品的属性修饰符存储于物品Nbt的Attributemodifiers标签下。Attributemodifiers标签的数据类型是『复合标签列表』,其中的每一个『复合标签』都代表着一个『属性修饰符』:

{Attributemodifiers:[{属性修饰符},{属性修饰符}......]}

每个属性修饰符都具有如下标签:

AttributeName(文本)——此属性修饰符要修饰的属性

Name(文本)——此属性修饰符的名称

Slot(文本)——此属性修饰符生效的栏位

operation(Int整形)——修饰的运算模式

Amount(double浮点数)——修饰数值

UUIdmost(Int整形)——这个修饰符的UUId的高位[JE1.16删除]

UUIdLeast(Int整形)——这个修饰符的UUId的低位[JE1.16删除]

UUId(Int整形数组)——这个属性的UUId[JE1.16新增]

在具体使用属性修饰符之前,让我们先来了解下都有哪些属性:

\\\\基础属性\\\\

generic.max_health——最大生命值[0.0~1024.0]

generic.movement_speed*——移动速度[0.0~1024.0]

\\\\攻击相关\\\\

generic.attack_damage——普通攻击伤害[0.0~2048.0]

generic.attack_knockback——攻击击退力度[0.0~???]

generic.attackReach?——玩家攻击距离[0.0~6.0]

generic.attack_speed——玩家攻击的速度[0.0~1024.0]

\\\\防御相关\\\\

generic.armor——盔甲防御点数[0.0~30.0]

generic.armor_toughness——盔甲韧性[0.0~20.0]

\\\\玩家的其他属性\\\\

generic.reachdistance?——玩家的触及半径,也就是你的手有多长[0.0~256.0]

generic.luck——玩家幸运度[-1024.0~1024.0]

\\\\更多属性\\\\

generic.follow_range——生物追踪距离[0.0~2048.0]

generic.knockback_resistance——生物抗击退效果[0.0~1.0]

generic.flying_speed*——鹦鹉的飞行速度[0.0~1024.0]

horse.jump_strength*——马的弹跳力[0.0~1.0]

zombie.spawn_reinforcements——僵尸攻击一次在周围生成另一个僵尸的可能性[0.0~1.0]

注:『*』代表此属性的度量标准不明,『?』代表此属性还未正式启用。

这些就是minecraft Java截止1.19.1版本的所有属性。

让我们来试一试,创建一个能够修改最大生命值的属性修饰符:

{Attributemodifiers:[{AttributeName:“generic.maxhealth“}]}

\\\\适用于Java1.6.1~1.15.2\\\\

{Attributemodifiers:[{AttributeName:'generic.max_health'}]}

\\\\适用于Java1.16及以上版本\\\\

上面仅仅指定了该属性修饰符要修饰的属性,我们还需要给这个修饰符添加更多的信息才能使其生效。

首先,我们需要添加Name标签,用于指定该修饰符的名称:

{AttributeName:xxxx,Name:“修饰生命值用“}

如你所见,Name标签的值随便填,只要合规就可以。

其次,作为一个物品的属性修饰符,我们需要使用Slot标签指定该修饰符要在物品放在哪个地方时才会生效。Slot标签虽然说填的是栏位,但游戏只允许我们选择下面六个栏位:

mainhand——拿在主手时才起作用

offhand——拿在副手时才起作用

feet——套在脚上才有用

legs——穿在腿上才有用

chest——当作胸甲穿才有用

head——顶在头上才有用

比如我们可以指定要把物品拿在副手时才起作用:

{AttributeName:xxxx,Name:xxxx,Slot:“offhand“}

第三,作为一个修饰符,肯定要通过Amount标签指定修饰的数值。Amount标签的数据类型是double双精度浮点数,你在这把它当做普通的浮点数来看就行了。

我们可以指定修饰的数值为5:

{......,Amount:5.0}

但需要注意的是,这里的数值并不代表最终修饰成的属性值。最终的值除了看Amount标签,还要看operation标签指定的是什么运算模式。

operation的作用是『用来指定修饰的计算模式』,也就是『这个修饰符要怎样修饰原来的属性』。它可以指定三个值,分别对应三种计算模式:

0——属性增量(也就是直接加上去)

1——倍率增量(并不是简单的乘上去)

2——最终倍乘(和倍率增量有点像)

我们先来看看『属性增量』计算模式,它是这样计算的:

R=c+A

c······属性基础值

A······Amount标签值

R······结果

举个例子,假设有一个修饰符,它的数值为4.4,计算模式为『属性增量』,修饰的属性『玩家幸运值』基础值为2.5,那么该属性经过修饰后的结果就是:

6.9=2.5+4.4

如果有两个修饰符都是修饰『玩家幸运值』的呢?而且它们俩都是『属性增量』,且数值分别为2.4和9.1。

结果就是:

14=2.5+2.4+9.1

『倍率增量』的计算模式有点复杂,它是这样计算的:

R=c?x(1+A)

c?······属性基础值经过『属性增量』计算后的值

A······Amount标签值

R······结果

1······基础倍率

举个例子,假设也有一个修饰符,它的数值为4.4,修饰的属性『玩家幸运值』基础值为2.5。但它的计算模式是『倍率增量』,也就是说属性的值经过它修饰后会变成:

13.5=2.5x(1+4.4)

这种只有一个修饰符的情况很简单。但如果是这样的情况呢:

→有四个修饰符,分别叫作A、b、c、d。这四个修饰符的大致SNbt标签如下:

{AttributeName:幸运值,Name:'A',Amount:4.1,operation:0}

{AttributeName:幸运值,Name:'b',Amount:3.6,operation:0}

{AttributeName:幸运值,Name:'c',Amount:1.7,operation:1}

{AttributeName:幸运值,Name:'d',Amount:2.5,operation:1}

属性『幸运值』的基础值为3.5。请问,该属性经过修饰后的值为多少?

答案是:

58.24=11.2x(1+1.7+2.5)=(3.5+4.1+3.6)x(1+1.7+2.5)

为什么是这样呢?

首先,游戏会进行『属性增量』计算,也就是:

11.2=3.5+4.1+3.6

然后,游戏会拿『属性增量』计算的结果再次经过『倍率增量』计算:

58.24=11.2x(1+1.7+2.5)

就得到了58.24这个值。

『最终倍乘』会在下一章讲到。在此之前,让我们看看最后的UUIdmost和UUIdLeast标签。这两个标签该填什么?

看到UUId这四个字母时你估计已经知道这就是属性的Id。

所以随便写,保证只要是数字就可以了。比如:

{UUIdmost:1,UUIdLeast:22}

至于1.16及之后的UUId标签,也一样,只不过从两个整数变成了四个整数:

{UUId:[I;1,1,1,1]}

我们会在第一百一十章具体了解到UUId的相关内容。

最后,让我们把上面的东西结合起来,就可以得到:

\/give @s diamond 1 0 {Attributemodifiers:[{AttributeName:“generic.maxhealth“,Name:“修饰生命值用“,Slot:“offhand“,Amount:5.0,operation:0,UUIdmost:1,UUIdLeast:22}]}

\\\\适用于Java1.6.1~1.12.2\\\\

\/give @s diamond{Attributemodifiers:[{AttributeName:“generic.maxhealth“,Name:“修饰生命值用“,Slot:“offhand“,Amount:5.0,operation:0,UUIdmost:1,UUIdLeast:22}]}

\\\\适用于Java1.13~1.15.2\\\\

\/give @s diamond{Attributemodifiers:[{AttributeName:'generic.max_health',Name:'修饰生命值用',Slot:'offhand',Amount:5.0,operation:0,UUId:[I;1,1,1,1]}]}

\\\\适用于Java1.16及以上版本\\\\

一个『在副手时』能够『+5 最大生命值』的钻石!

本章到此为止。

——附录:属性的历史

Java

1.6.1——加入了属性

1.7.2——属性现在可通过SNbt用于指令中

1.9——加入了攻击速度属性、盔甲属性、盔甲韧性属性和幸运值属性。

1.14——加入了击退距离属性。

1.16——更改了大部分属性的Id,加入了\/attribute指令。

bat test[即将到来]——正式加入攻击距离属性

携带版\/基岩版

0.12.1——加入了属性

......

......

......

......

太棒了!一个特别棒的苹果:

\/give @p apple{Enchantments:[{lvl:255,id:“sharpness“}],Attributemodifiers:[{operation:0,Amount:2048,UUId:[I;1,1,1,1],AttributeName:“generic.attack_damage“,Name:“a“,Slot:“mainhand“},{operation:0,Amount:1024,UUId:[I;1,1,1,2],AttributeName:“generic.attack_speed“,Name:“b“,Slot:“mainhand“},{operation:0,Amount:1024,UUId:[I;1,1,1,3],AttributeName:“generic.max_health“,Name:“c“,Slot:“mainhand“},{operation:0,Amount:30,UUId:[I;1,1,1,4],AttributeName:“generic.armor“,Name:“d“,Slot:“mainhand“},{operation:0,Amount:20,UUId:[I;1,1,1,5],AttributeName:“generic.armor_toughness“,Name:“e“,Slot:“mainhand“},{operation:0,Amount:1024,UUId:[I;1,1,1,6],AttributeName:“generic.luck“,Name:“f“,Slot:“mainhand“}],display:{Name:'“苹果手机“',Lore:['“乔布斯开发的可以吃的苹果手机!“']}}

(乔布斯表示很淦)

上一章目 录下一章存书签
站内强推【快穿】欢迎来到手撕白莲炼狱 我的钢铁萌心:以德皇之名 女帝痛哭,她杀死了自己最爱的人 综影视穿越 穿成假千金,真千金对我嘎嘎狂宠 凡人策 抄家前,小奶包搬空京城去流放 傻驴驴驴驴驴驴驴驴 我跟极品娘把缺德奶奶嫁出去了 港综:开局死靓仔南,邻居马小玲 快穿:病美人仙君又拿白月光剧本 仙府:资质平平的我只好苟出长生 废柴光明圣女的异世界求生指南 忘羡的孩子们从天而降 混沌不灭珠 特摄:我,贪欲者,欲望成神! 小师妹别浪,师尊盯上你了 先婚后爱之军婚锁爱 报告三爷,夫人又去打架了 穿越海贼,开局就把卡普气炸 
经典收藏学霸的军工科研系统 综武:我在华山客栈摆烂 开局签到,我是叶家无敌老祖 苟王,我的师兄太低调了 代号修罗最新章节 体育无解王 重生美利坚,这是我的时代 伏天鼎 全球高武,提前破局 从阳神开始掠夺 洪荒第一教 开创观想法的我,凭武道横推诸天 洪荒,不成圣照样逍遥 听说你想掰弯我 在霍格沃兹的中国留学生 邪鼎 吞噬古帝 巫师:从骑士呼吸法开始肝经验 高武:我的食物盲盒 仙尊下凡开局遭遇道侣轻蔑 
最近更新别叨扰!我要去思量岛搞大事 我在修仙界从废柴一路躺赢成大佬 炼神炉 时空织语者 重生申公豹之逆世封神 灵幻苍穹:诸世主宰 破碎天域 万古唯一剑仙 巨龙:转生天彗龙,无限叠加盛宴 万古第一剑 穿越之汴京秘恋 京都透视神眼 为何穿越后,人人都把我当英雄 仙尊,杀死那个机器人! 天命中的凡人 洪荒:开局忽悠女娲,别去紫霄宫 灵渊启世录 造化仙王 异界重生狮族之君王天下 末世穿越:召唤萌宠,携妻归地球 
Minecraft指令手册 你好MC - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - Minecraft指令手册全文阅读 - 好看的玄幻魔法小说