我的世界自定義裝備藥水BUFF效果的NBT寫法
記錄一下我的世界自定義裝備藥水BUFF的NBT代碼寫法,方便以后查詢,個人版本是JAVA1.19和1.20

先說結(jié)論:通過給裝備自定義Tags,然后循環(huán)命令方塊找到對應(yīng)tags循環(huán)effect給藥水效果即可,有一些小細(xì)節(jié)需要注意

首先貼一下各種藥水對應(yīng)的英文:
傷害吸收–minecraft:absorption 數(shù)字ID:22
不祥之兆–minecraft:bad_omen 數(shù)字ID:31
失明–minecraft:blindness 數(shù)字ID:15
潮涌能量–minecraft:conduit_power 數(shù)字ID:29
海豚的恩惠–minecraft:dolphins_grace 數(shù)字ID:30
防火–minecraft:fire_resistance 數(shù)字ID:12
發(fā)光–minecraft:glowing 數(shù)字ID:24
急迫–minecraft:haste 數(shù)字ID:3
生命提升–minecraft:health_boost 數(shù)字ID:21
村莊英雄–minecraft:hero_of_the_village 數(shù)字ID:32
饑餓–minecraft:hunger 數(shù)字ID:17
瞬間傷害–minecraft:instant_damage 數(shù)字ID:7
瞬間治療–minecraft:instant_health 數(shù)字ID:6
隱身–minecraft:invisibility 數(shù)字ID:14
跳躍提升–minecraft:jump_boost 數(shù)字ID:8
漂浮–minecraft:levitation 數(shù)字ID:25
幸運(yùn)–minecraft:luck 數(shù)字ID:26
挖掘疲勞–minecraft:mining_fatigue 數(shù)字ID:4
反胃–minecraft:nausea 數(shù)字ID:9
夜視–minecraft:night_vision 數(shù)字ID:16
中毒–minecraft:poison 數(shù)字ID:19
生命恢復(fù)–minecraft:regeneration 數(shù)字ID:10
抗性提升–minecraft:resistance 數(shù)字ID:11
飽和–minecraft:saturation 數(shù)字ID:23
緩降–minecraft:slow_falling 數(shù)字ID:28
緩慢–minecraft:slowness 數(shù)字ID:2
速度–minecraft:speed 數(shù)字ID:1
力量–minecraft:strength 數(shù)字ID:5
霉運(yùn)–minecraft:unluck 數(shù)字ID:27
水下呼吸–minecraft:water_breathing 數(shù)字ID:13
凋零–minecraft:wither 數(shù)字ID:20
虛弱–minecraft:weakness 數(shù)字ID:18
黑暗-minecraft:darkness 數(shù)字ID:33

這里普通的裝備屬性和附魔nbt就不再贅述,就比如改變裝備的附魔屬性,改變裝備的最大生命值還有盔甲值等,本文只涉及裝備的藥水效果。
首先是裝備的定義,nbt代碼如下:
{Count:1,
id:"minecraft:stick",
tag:{
Damage:0,
Enchantments:[{id:"minecraft:knockback",lvl:5}],
display:{
Name:"{\"text\":\"無敵木棍\",\"color\":\"dark_red\",\"italic\":false,\"bold\":true}",
Lore:["{\"text\":\"在主手時獲得抗性提升V\",\"italic\":false,\"bold\":false,\"color\":\"red\"}"],
},
Tags:["test"]
}
}
定義了一根木棍,名字和Lore修飾可以隨便改,帶擊退附魔,這里獲得藥水BUFF的關(guān)鍵在于
Tags:["test"],用于標(biāo)簽綁定,盔甲等同理,必須是獨(dú)一無二的tags用于綁定。
接下來放置一個循環(huán)命令方塊,如果是主手持道具,參考代碼如下:
/effect give @a[nbt={SelectedItem:{tag:{Tags:["test"]}}}] minecraft:resistance 2 4
自行替換藥水效果即可,當(dāng)?shù)谰咴谥魇謺r就會生效
如果是穿在身上才生效的裝備,裝備示例如下:
{
Count:1b,id:"minecraft:diamond_helmet",
tag:{
Damage:0,Unbreakable:true,
Enchantments:[{id:"minecraft:protection",lvl:10}],
display:{
Lore:["{\"text\":\"限定頭盔\",\"italic\":false,\"bold\":false,\"color\":\"gold\"}",
"{\"text\":\"穿上獲得力量提升X\",\"italic\":false,\"bold\":false,\"color\":\"dark_purple\"}"],
Name:"{\"text\":\"定制頭盔\",\"italic\":false,\"color\":\"light_purple\",\"bold\":true}"},
Tags:["Rhead"],
AttributeModifiers:[{Operation:0,Amount:12,UUID:[I;1,251,3,4],Slot:head,AttributeName:"generic.armor"},
{Operation:0,Amount:5,UUID:[I;2,2,3127,4],Slot:head,AttributeName:"generic.armor_toughness"},
{Operation:0,Amount:0.5,UUID:[I;1111,251,3,4],Slot:head,AttributeName:"generic.knockback_resistance"},
{Operation:0,Amount:20,UUID:[I;3,2,3128,4],Slot:head,AttributeName:"generic.max_health"}]
}
}
命令方塊參考代碼如下:
/effect give @a[nbt={Inventory:[{Slot:103b,id:"minecraft:diamond_helmet",tag:{Tags:["Rhead"]}},],}] minecraft:strength 3 9
以下是其他部位的裝備參考:
/effect give @a[nbt={Inventory:[{Slot:102b,id:"minecraft:diamond_chestplate",tag:{Tags:["Rchest"]}},],}] minecraft:resistance 3 2
/effect give @a[nbt={Inventory:[{Slot:101b,id:"minecraft:diamond_leggings",tag:{Tags:["Rlegs"]}},],}] minecraft:absorption 3 9
/effect give @a[nbt={Inventory:[{Slot:100b,id:"minecraft:diamond_boots",tag:{Tags:["Rfeet"]}},],}] minecraft:regeneration 3 4
其中Slot對應(yīng)裝備位置,不能錯誤,103對應(yīng)頭部,102對應(yīng)胸部等等,id需要改成裝備的英文,然后更改Tags為自定義裝備的Tags即可,后面的藥水效果等級和持續(xù)時間自己替換。