/scoreboard objectives add CraftNeeds dummy 合成
名稱: CraftNeeds
類型: dummy
顯示名稱: 合成
第一頁的效果是,將5個皮革,1個鐵錠丟到地上,就合成了一個馬鞍
所以我們先檢測有沒有所需的物品
rcb(循環型命令方塊)執行以下2條命令:
/scoreboard players set @e[type=item] CraftNeeds 1 {Item:{id:"minecraft:leather",Count:5b,Damage:0s}}
看上去有點長? 我們拆開慢慢看
第一條命令:
/scoreboard players set -- 這個就不用說了,有點計分板基礎的都知道
@e[type=item] -- 所有實體中,類型是Item的實體,Item就是物品
CraftNeeds 1 -- 這個也是,有點計分板基礎的都知道是什麽意思
{Item:{id:"minecraft:leather",Count:5b,Damage:0s}}
藍色:這個NBT是用來限制物品的
紅色:物品必須是leather(皮革)
綠色:數量必須是5
紫色:資料必須是0(資料也叫資料值,損傷值,損害值,附加值)
第二條命令:
/scoreboard players set @e[type=item] CraftNeeds 2 -- 這個部分和第一條命令的意思是一樣的,只不過分數從1改為2
{Item:{id:"minecraft:iron_ingot",Count:1b,Damage:0s}}
藍色:這個NBT是用來限制物品的
紅色:物品必須是iron_ingot(鐵錠)
綠色:數量必須是1
紫色:資料必須是0
以上2條命令,起到的作用是給2種合成需要的物品一個編號,讓之後的檢測物品更加方便
接下來是檢測物品是否重疊,如果是,就清除材料,並且生成成品,如果不是,就什麽也不做。
rcb(循環型命令方塊)執行:
execute @e[type=item,score_CraftNeeds_min=1,score_CraftNeeds=1] ~ ~ ~ execute @e[type=item,r=1,score_CraftNeeds_min=2,score_CraftNeeds=2] ~ ~ ~ /summon item ~ ~3 ~ {Item:{id:"minecraft:saddle",Count:1b,Damage:0s}}
execute @e[type=item,score_CraftNeeds_min=1,score_CraftNeeds=1] ~ ~ ~ execute @e[type=item,r=1,score_CraftNeeds_min=2,score_CraftNeeds=2] ~ ~ ~ /particle fireworksSpark ~ ~2 ~ 0.2 0 0.2 0 50 force
execute @e[type=item,score_CraftNeeds_min=1,score_CraftNeeds=1] ~ ~ ~ execute @e[type=item,r=1,score_CraftNeeds_min=2,score_CraftNeeds=2] ~ ~ ~ /kill @e[type=item,r=1]
看上去又又複雜?拆開看看:
第一條命令:
execute @e[type=item,score_CraftNeeds_min=1,score_CraftNeeds=1] ~ ~ ~ -- 檢測是否有CraftNeeds分數=1的物品存在,如果有就執行後面的命令
execute @e[type=item,r=1,score_CraftNeeds_min=2,score_CraftNeeds=2] ~ ~ ~ -- 檢測周圍1格內是否有CraftNeeds分數=2的物品存在,如果有,就執行後面的命令
/summon item ~ ~3 ~ {Item:{id:"minecraft:saddle",Count:1b,Damage:0s}} -- 在CraftNeeds分數=2的物品上方3格,生成一個物品,物品是saddle(鞍),數量為1,資料為0
第二條命令:
execute @e[type=item,score_CraftNeeds_min=1,score_CraftNeeds=1] ~ ~ ~ execute @e[type=item,r=1,score_CraftNeeds_min=2,score_CraftNeeds=2] ~ ~ ~
-- 與第一條命令的前面意義相同(難道你沒發現都一模一樣嗎= =)
/particle fireworksSpark ~ ~2 ~ 0.2 0 0.2 0 50 force -- 在CraftNeeds分數=2的物品上方2格,播放粒子效果,粒子數量50,類型fireworksSpark
第三條命令:
execute @e[type=item,score_CraftNeeds_min=1,score_CraftNeeds=1] ~ ~ ~ execute @e[type=item,r=1,score_CraftNeeds_min=2,score_CraftNeeds=2] ~ ~ ~
-- 與第一條命令的前面意義相同(難道你還沒發現都一模一樣?!)
/kill @e[type=Item,r=1] -- 清除以CraftNeeds分數=2的物品為中心,周圍1格的所有物品。
本文原地址點此進入