【心得】Minecraft Attributes–属性介绍 (20w14a后)

各位安安,我是疯子((怎么你名字又改了(((其实没有人知道你
自从没有在盖地图之后,我就一直在钻研那个snapshot快照版本
那个,先来介绍一下背景吧
1.13
大家应该也知道那个版本发生甚么事了
指令的文法大改
那些像是testforblocks之类的都没有了
这次的20w12a,
把属性的格式稍微的改了一下
20w14a,又把属性id稍微的又改了一下

那我就轻轻的把20w12a之前的属性介绍一下吧
喔对,这里我会使用一个叫”NBT Explorer”的工具辅助介绍,有兴趣的好朋友可以点一下前面的超链接

属性是增益/减益效果(buff/debuff),有点像是状态效果(effect),但是它可以做一些跟状态效果不同的东西,时间在特定情况下是永久的
听起来很棒对不?他就是这么棒
那我们一起来看看属性的格式(旧版,即20w12a之前)
Amount:值,它是控制属性的强度的东…东西?总之它就是一个数字越大效果越强的东西啦
AttributeName:属性名称,之后会介绍
Name:同上,应该是与上面一样才会发动,我也没有特意去试
Operation:运算模式(0=Amount就是它的终极值,1=基础乘Amount,2=基础乘Amount在加1(?)
Slot:(在图中没有显示)在甚么格子才会发动,mainhand是惯用手(当前选择的格子),offhand是副手,head是头,chest是衣服,legging是裤子,boots是鞋子
UUID(Least/Most):这个是随便的数字,这个可以用来区分是否可叠加,例如左手的UUID是1,右手的UUID是2,属性就可以叠加;那左右手的UUID都是1,那就不会叠加了

那接下来要介绍属性名称(旧版,即20w12a之前)了,不过我只介绍常用的属性名称就算了((懒
generic.maxHealth=最大生命值,跟那个/effect的health boost是一样的,不过效果可以保留
generic.knockbackResistance=抗击退,只有狱髓装备在没有修改的情况下拥有抗击退的效果(我果然好爱1.16)
generic.movementSpeed=移动速度,跟speed/slowness是一样的,但是不会使用上图的Int tag(因为Int不能设置小数),而是使用Double tag((移动速度越接近1越快
generic.attackDamage=攻击伤害,跟strength/weakness一样
generic.armor=盔甲值,平常穿盔甲就可以获得,但是使用属性的话,你可以在握着剑的时候获得盔甲值((之类的
generic.armorToughness=盔甲强度,它没有显示在原生Minecraft,但是你在受伤的时候可以减免一点伤害
generic.attackSpeed=CD时间,够快的话(我是指Amount够大拉)你可以回归1.9之前的爽快连打

那以上就是旧版的属性
那新版的,其实好像也没有甚么大改
只是它的格式和id有改而已
先说20w12a的改动吧
20w12a把UUIDLeast和UUIDMost给砍掉
变成4组数字的组合UUID
可以看到这串Int Array tag由4组数字组合而成
如果用之前的UUIDLeast/Most会令属性整个没有办法用哦((我还特意去回报bug,其实我只是没有翻清楚wiki((MC-175259(不是我回报的
而且,你升级成20w12a的时候它不会帮你把UUID改成4组,使得你必须使用NBT Explorer改tag

然后就是20w14a的改动,
第二张图可以看到AttributeName和Name有底线,下面显示了20w14a的改动
generic.maxHealth   →  generic.max_health
generic.knockbackResistance    generic.knockback_Resistance
generic.movementSpeed    generic.movement_speed
generic.attackDamage  →  generic.attack_damage
generic.armorToughness  →  generic.armor_toughness
generic.attackSpeed  →  generic.attack_speed
直白来说,就是armor的盔甲值没有改动
如果用之前的没有底线的名称不会发动属性,但是AttributeName在升级成20w14a的时候会自动帮你改
所以AttributeName跟Name不一样是可以的吗((不知道w

接下来就是升级成20w14a的属性的方法
首先要找到你的物品的AttributeModifiers
然后就是把AttributeName和Name改成上面的id(有底线的)
接着就是把UUIDLeast和UUIDMost删掉
点那个5entries,在上方的空间找<I> (Int Array Tag)
Tag的名字是UUID
打开你刚刚用出来的tag
随便打一些数字(例如:1498693494  1027158888  1898994005  860320107)
OK然后保存
然后就升级完了

这次的介绍就结束了
如果有问题的都可以问,有补充的都可以补充
感谢各位耐心阅读
本文来自网络,不代表3楼猫立场,转载请注明出处:https://www.3loumao.org/957.html
返回顶部