9、物品屬性
首先,這一節要講啥?直接上圖:
我們先上一只正常的鉆石劍:
/summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword}}
物品生成后,我們可以看到,這里有個“攻擊傷害 +7”,這貨就是物品的屬性(有些人叫“DNA數據”),我們今天就要拿它開刀。
我們再使用這個命令:
/summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,tag:{AttributeModifiers:[{Operation:0,UUIDLeast:1,UUIDMost:1,Amount:7,AttributeName:generic.attackDamage,Name:Damage}]}}}
生成的物品似乎與剛才的沒有區別,但它的屬性卻是人工指定的。
那么,剛才那一串到底是哪里在控制攻擊力?大家再用這個命令:
/summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,tag:{AttributeModifiers:[{Operation:0,UUIDLeast:1,UUIDMost:1,Amount:1000,AttributeName:generic.attackDamage,Name:Damage}]}}}
我的天,真是1000的攻擊力!
我們來驗證一下是不是真的有一千攻擊,怎么驗證呢?
不要吐槽我欺負BOSS,總之,這個屬性修改確實有效!那么,我們來分析一下命令:
/summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,tag:{
AttributeModifiers:[
{Operation:0,UUIDLeast:1,UUIDMost:1,Amount:1000,AttributeName:generic.attackDamage,Name:Damage}
]
}}}
多出來的這個“AttributeModifiers”,就是修改的屬性了。這些代碼比較繁雜,通常復制粘貼吧= =……修改數值,只需要修改第3行的“Amount”后面的數字。比如這樣會發生什么?
/summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,tag:{
AttributeModifiers:[
{Operation:0,UUIDLeast:1,UUIDMost:1,Amount:-233,AttributeName:generic.attackDamage,Name:Damage}
]
}}}
負攻擊真的沒關系么?會不會負負得正,給怪物補血了?還是實驗一下吧。
你會發現,你TMD打不動小果凍了。但是根據測試,不會補血,當傷害小于0只會攻擊無效。
然后,第二個屬性:速度上代碼。
/summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,tag:{
AttributeModifiers:[
{Operation:0,UUIDLeast:4,UUIDMost:4,Amount:0.1,AttributeName:generic.movementSpeed,Name:Speed}
]
}}}
喂,這個弱渣,增加0.1的速度有毛用!但是我要告訴你,0.1就是提升1倍,史蒂夫的基礎速度就是0.1!
繼續測試。沒拿鉆石劍的時候:
拿著的時候,視野明顯增大了,走起來那可是。
大家需要注意的是,這個千萬別亂弄,設置個幾萬,走一步就是幾十區塊,然后MC就崩了!這個數據對飛行速度沒有加成。然后是負數測試。
/summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,tag:{
同樣,負數不會負負得正,也不會讓你倒著走,只會讓你無法移動,你就只能當!兔!子!
看這神奇的視野
或許大家注意到了,剛才設置了速度的鉆石劍的攻擊屬性消失了,所以我們必須得手動把它補上來,以后設置了屬性的都是這樣。
/summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,tag:{
AttributeModifiers:[
{Operation:0,UUIDLeast:4,UUIDMost:4,Amount:0.1,AttributeName:generic.movementSpeed,Name:Speed},
{Operation:0,UUIDLeast:1,UUIDMost:1,Amount:7,AttributeName:generic.attackDamage,Name:Damage}
]
}}}
看吧,實際上設置多屬性也是很簡單的!注意第3行末尾的逗號。
掌握了這些,上第3個屬性,生命提升,這可不是藥水效果,是貨!真!價!實!的!生命提升。 /summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,tag:{ AttributeModifiers:[ {Operation:0,UUIDLeast:1,UUIDMost:1,Amount:7,AttributeName:generic.attackDamage,Name:Damage}, {Operation:0,UUIDLeast:3,UUIDMost:3,Amount:10,AttributeName:generic.maxHealth,Name:Health} ] }}} 召喚出的物品也確實帶上了這個屬性。
改成生存測試一下?
嗯,這個也要注意!不要改太大,很卡的,比如作死的一百萬。
然后,負數可以減少生命值,如果在0以下。
心會全部消失,但是也不會無限秒殺,而是你輕輕碰一下仙人掌就洗白白了!
這里有個需要注意的地方,比目前最大生命多出來的生命值不會清空而會保留,但是受傷后多出來的這部分會被無視。
舉例:1、你拿生命+20的物品前,生命只有20,但是拿著之后,20的生命慢慢恢復成了40。
2、這時,你不拿物品,最大生命從40變成了20,所以看起來只有20的生命。
3、但是如果你再把物品拿起來,會發現你沒有經歷1.中的從20恢復到40的過程,而直接就是40。
4、現在不拿物品,最大生命還原到20,如果這時受傷,再拿起物品,卻發現生命不是40。
上面的看不懂就算了。
第四個屬性:擊退抗性。
/summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,tag:{
AttributeModifiers:[
{Operation:0,UUIDLeast:1,UUIDMost:1,Amount:7,AttributeName:generic.attackDamage,Name:Damage},
{Operation:0,UUIDLeast:2,UUIDMost:2,Amount:0.5,AttributeName:generic.knockbackResistance,Name:K_Resistance}
]
}}}
注意,擊退抗性的最高值就是1,1即為100%。由于默認是0,所以負數無用。
截圖就不上了,原因你懂。但是根據我的測試結果,這個數據會減少被擊退的概率,還會減少部分擊退距離。
比如說,擊退抗性0.2(20%)的時候,你只有80%的幾率被擊退,并且被擊退的距離也會減少(但是不是20%,具體未知)。
所以,當抗性是1(100%),你就不會被擊退了,所以再高也沒用。
大家注意一下,實際使用時,不同裝備的“UUIDLeast”和“UUIDMost”必須不一樣,要不然屬性會沖突的OwO!
最后,放出本節第一張圖的物品代碼:
/summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,tag:{AttributeModifiers:[{Operation:0,UUIDLeast:1,UUIDMost:1,Amount:1000.0,AttributeName:generic.attackDamage,Name:Damage},{Operation:0,UUIDLeast:2,UUIDMost:2,Amount:10,AttributeName:generic.knockbackResistance,Name:K_Resistance},{Operation:0,UUIDLeast:3,UUIDMost:3,Amount:100.0,AttributeName:generic.maxHealth,Name:Health},{Operation:0,UUIDLeast:4,UUIDMost:4,Amount:0.01,AttributeName:generic.movementSpeed,Name:Speed}]}}}
瀏覽量:72022-07-19
瀏覽量:12021-05-31
瀏覽量:02021-05-29
瀏覽量:02021-05-17
瀏覽量:02021-04-23
瀏覽量:02019-10-13