生物的共通NBT还有许多和CanPickUpLoot一样是布尔值的标签,且都很简单:
本小章还未完,请点击下一页继续阅读后面精彩内容!
NoAI(值:true|fasle布尔值)——这个生物是否没有AI。true为没有AI,false为有AI。
PersistenceRequired(值:true|fasle布尔值)——这个生物是否不会被自然删除。true为不会被自然删除,false为会被自然删除。
LeftHanded(值:true|fasle布尔值)——这个生物渲染的主手是否为左手。true为渲染时主手为左手,false为渲染时主手为右手。
Leashed(值:true|fasle布尔值)——这个生物是否被拴住。true为被拴住,false为没有被拴住。
而其中,最复杂的应该要数Leashed。当这个为true时,就会有一个新的标签:
Leash
这个Leash稍微有点复杂,它有两种记录方式:
1.该实体为拴绳的头(没错,就是栏杆上那个长方形状的拴绳头,那也是个实体)或拿着拴的实体,那么将会记录它拴住的实体的UUID(1.15版本及以下是UUIDMost和UUIDLeast),即:
{Leash:{UUID:[I;-,,-,]}}
(1.15版本及以下:
{Leash:{UUIDMost:-,UUIDLeast:-}})
2.该实体为被拴住的生物,那么将会记录拴住它的拴绳头或拿着拴着它的绳子的实体位置,即:
{Leash:{X:921,Y:65,Z=343}}
嗯,还是挺简单的。
到目前为止,我们已经了解了大部分生物的共通NBT,只剩下了三个没讲的了:
Team(值:字符串)
Brain(值:复合标签{})
ActiveEffects(值:列表[])
其中,Team是这里面最简单的。但是它的作用并不是存储这个生物所加入的队伍,而是:
如果Team的值里面有填东西,该生物将会自动且立马加入Team所填的队伍,加入后自动清空Team的值。
所以这个标签实际上并不是个生物的NBT数据,而是方便在创建生物时让生物加入队伍。
所以这个标签的用武之地就是——
实现起床战争召唤自家队伍的铁傀儡!
........
然后是ActiveEffects。Brain最复杂,我们留最后。
ActiveEffects的作用是存储这个生物所有的状态效果。如果这个生物没有状态效果,就不会有这个标签。
ActiveEffects的格式是这样的:
{ActiveEffects:[{效果1},{效果2},{效果3},...]}
而这个效果,就要涉及到——效果的NBT(效果没有共通之说,因为效果的NBT都是一样的):
Id——效果id(值:数值)
Amplifier——效果等级,实际等级是这里的数值加上1。如这边填0,等级将是1(值:数值,范围:0~255)
Duration——距离效果消失的时间刻数。或者说是效果的剩余时间,单位为刻(值:数值[int整型])
Ambient——这个效果是否是信标施加。如果是由信标施加,则为true,将会减弱粒子效果。不是则为false(值:true|fasle布尔值)