配色: 字号:
SYL的NBT教程17
2013-07-04 | 阅:  转:  |  分享 
  
【SYL出版社】NBT教程17.属性及修饰符(1.6)
好久不见了……
你们都当我弃坑了吧?
当然不会啦还要靠这个骗贡献的,怎么会弃坑呢?
今天就给大家带来1.6的新标签吧

呵呵呵呵呵呵,奇葩的生命值
好的进入教程
先是属性

熟悉的界面……当然了新版多了saveslot的功能……不过我没试过,应该像TMI那样运作吧?就是能把NBT标签存下来
不过这回要看的,是我翻白的部分:Attributes
翻译为属性,有什么用呢?
这个list标签里面存放了一些关于生物的数据

好的展开看看,这就是僵尸的属性系列标签了
格式很简单,list里面存放compound,compound内含一个flood标签名为Base,一个string标签名为Name,细心的人可能会发现有一个里面多了个Modifiers,这个就是修饰符了
然后Base是什么呢?基数,简单来说就是这个标签的基本数值
Name就是这个属性的名称和功能
generic.maxHealth生命值上限(以下的标签我都省略掉generic.)
knokbackResistance击退抗性(如字面意思,抵挡击退)
movementSpeed移动速度(正常来说就是大概0.1,0.2的样子)
followRange跟随距离(这个应该只在怪物身上出现,就是你惹到仇恨之后你要跑多长距离才能跑掉)
attackDamage攻击(所以我再也不用告诉你改攻击要靠药水效果啦)
然后还有一个特别的
zombie.spawnReinforcements
有没有注意到前面不同了?这个显示了只是僵尸拥有的标签,这个代表了每次攻击会有多
几率召唤出新僵尸,请自行换算百分比)

然后我们试试改移动速度为一



我才不告诉你我一打爆栏杆他就像瞬移一样飞了过去





这次改攻击力

只一口就把村民干掉了


这个是玩家的NBT,可以见到玩家一样拥有属性标签,现在我们改最大生命值




呵呵呵呵呵,快点去惊呆你的小伙伴吧!
























进入修饰符课题

修饰符是什么?改变属性的数值的东西!
这里就是一个修饰符的例子,同样是刚才的僵尸
可以看到修饰符的组成

一个short标签,Operation,这个代表了修饰符的类型,修饰子分3种
0:很简单,就是把这个数值加上去,当然负数就是减了
1:结果=Base+BaseAmount(所以这个Amount是小数的话就=百分比了,一样可以
负数)
2:结果=Base(1+Amount)(然后懂数学的就会吐槽,2和1个功能不是一样吗……老实说,结果是一样……不过区别在于1先运算然后到2)

UUIDLeast/Most关系到Java编程里面的UUID,我也不懂呵呵呵呵呵

Amount这个flood数值就是修饰符的数值了,看Operation

Name名字,这个不要紧的,自己该

当然啦,这个修饰符是系统随机给的,名字叫Randomspawnbonus,刷新的随机额外数值
可以看到就是增加约0.2的击退抗性
不过你就会怒艹我:
我TMD搞这么麻烦的修饰符干吗?直接改Base不就好了?
然后我就会告诉你
如果只有那么少功能,我TMD教你干吗?

这里是一把靠MCE插件弄出来的神剑!

可见手持的时候生命值上限增加了!

究竟怎么回事?请看,很熟悉吧?
这个就是作用于物品的属性修饰符了
这个要放置于tagcompound的里面
然后加入一个叫AttributeModifiers的list
里面放compound
然后就如你看到,格式和修饰子是一样的,分别在多了一个AttributeName
这个就是用来指定修改哪个属性的标签了
就用属性的名字就好了,复制粘帖不难吧?


然后我给你看看Operation1,2的效果
改成-0.5

这就上限减半了




不过值得一提的是,UUID呢,因为是MCE弄的,就会有了
然后你就纳闷,如果没有会不会有影响?

事实上没有就没有效果了

甚至连系统自带的+7攻击的修饰子(这个你看不到的)都弄没了(就是说,钻石剑的攻击废掉了,我试过了)

然后你就绝望了:我以后怎么样用NBTedit弄这么神奇的东西啊?
事实上,UUID只是从0到1000000000的随机数(我看过那个插件的源码了)
所以自己加,1,2,3,4一路去就好了
别重复了就行了
修饰子再次生效
而且修饰子对穿在身上的装备一样有用
看,SYL神拳!一拳把僵尸打死没难度!
只能说,修饰子压根就是RPG和PVP地图的福音啊
当然啦,速度什么的我不示范了,还是最大生命值直观啊……
然后
-Theend-
这个系列就写完了,我也不再更新了



















嘿你不是信吧?
献花(0)
+1
(本文系SYL出版社首藏)