前倆天我做了一個可選擇職業的e頭盔,那么今天我就來介紹下e頭盔第二個職業人類法師的做法。
可以看到法師職業的做法比戰神職業多了一些方塊。實際上這是因為法師的魔法星彈需要檢測玩家朝向才能夠正確釋放所致。在這里我只用了4個區域檢測(每個90度),即魔法星彈只能上下左右發射,而不能夠斜著發射。但是這個機關的方向檢測可以擴充。只需要把檢測玩家朝向的角度再細分一下就可以做到斜發子彈。有興趣的小伙伴們可以自行嘗試。
那么首先來介紹每個指令方塊的指令,順便說一下做法
1號指令:/replaceitem entity @p slot.armor.chest minecraft:leather_chestplate 1 0 {ench:[{id:0s,lvl:3s}],display:{Name:"塔·拉夏的領悟",Lore:[0:"赫拉迪姆舍生忘死地追獵并囚禁地獄魔神,保護人類免受地獄黑暗力量的侵蝕。",],color:0},AttributeModifiers:[{Operation:0,UUIDLeast:1635823789,UUIDMost:1635823789,Amount:10,AttributeName:generic.maxHealth,Name:Health,Slot:chest}],Unbreakable:1}
2號指令:/replaceitem entity @p slot.armor.legs minecraft:leather_leggings 1 0 {ench:[{id:0s,lvl:3s}],display:{Name:"塔·拉夏的束帶",Lore:[0:"赫拉迪姆服飾的每一絲一縷都經過仔細選擇,以強化其穿戴者的魔法力量。",],color:0},AttributeModifiers:[{Operation:1,UUIDLeast:1400012888,UUIDMost:1400012888,Amount:0.3,AttributeName:generic.knockbackResistance,Name:KnockbackResistance,Slot:legs}],Unbreakable:1}
3號指令:/replaceitem entity @p slot.armor.feet minecraft:leather_boots 1 0 {ench:[{id:0s,lvl:3s}],display:{Name:"塔·拉夏的步伐",Lore:[0:"所有赫拉迪姆都對穿戴極其講究,他們喜歡充滿精妙能量的服飾。在這一點上,沒有人能比得過塔·拉夏。",],color:0},AttributeModifiers:[{Operation:1,UUIDLeast:-75766684,UUIDMost:-75766684,Amount:0.1,AttributeName:generic.movementSpeed,Name:Speed,Slot:feet}],Unbreakable:1}
4號指令:/replaceitem entity @p slot.hotbar.1 minecraft:fishing_rod 1 0 {ench:[{id:17s,lvl:3s},{id:18s,lvl:3s},{id:19s,lvl:3s}],display:{Name:"塔·拉夏的堅定目光",Lore:[0:"在犧牲自己囚禁魔神巴爾之前,塔·拉夏將自己的絕大部分力量儲存到了這顆法杖之中。",]},AttributeModifiers:[{Operation:0,UUIDLeast:509228639,UUIDMost:509228639,Amount:5,AttributeName:generic.attackDamage,Name:Attack,Slot:mainhand}],Unbreakable:1}
5號指令:/replaceitem entity @p slot.hotbar.0 minecraft:iron_ingot 1 0 {display:{Name:"暴風眼",Lore:[0:"手持此物可釋放技能暴風眼",]},Unbreakable:1}
這1-5號方塊的指令是給玩家盔甲欄替換上對應的盔甲,并在1、2號快捷欄給玩家一個特殊的鐵錠和特殊的魚竿。方便我們下一步進行檢測。
6號指令:/testfor @a {SelectedItemSlot:0,Inventory:[{Slot:0b,id:"minecraft:iron_ingot",tag:{display:{Name:"暴風眼"}}}]}
7號指令:/execute @a ~ ~ ~ particle endRod ~ ~ ~ 3 3 3 1 7
8號指令:/execute @p ~ ~ ~ effect @e[type=!Player,r=6] wither 3 7 true
9號指令:/execute @p ~ ~ ~ effect @e[type=!Player,r=6] slowness 3 20 true
10號指令:/execute @p ~ ~ ~ effect @e[type=!Player,r=6] levitation 3 1 true
11號指令:/effect @p minecraft:slowness 1 9 true
其中6號方塊是檢測玩家是否在1號快捷欄上手持特殊鐵錠的指令。該指令是施放技能暴風眼的信號輸出端。7號方塊是粒子效果。8-10號方塊是給玩家附近6格內非玩家實體(type=!Player)附加一些buff(我這里分別使用了凋零、緩慢和浮空)。11號方塊則是給玩家自己一個強緩慢buff。
12號指令:/testfor @a[ry=135,rym=45]
13號指令:/testfor @a[ry=225,rym=135]
14號指令:/testfor @a[ry=315,rym=225]
15號指令:/testfor @a[ry=360,rym=315]、16號指令:testfor @a[ry=45,rym=0]
這里就是在對應方向釋放子彈的核心指令,可以看到我把平面上的360°劃分成了4個90°的區域。其中15.16為一組,共同組成一個90°的區域。而其中的角度則是史蒂夫正前,正后,正左,正右四個方向。
17號指令:/execute @e[name=未知] ~ ~ ~ summon Shulker_bullet ~-1 ~ ~ {direction:[-1.0,.0,0.0],Motion:[-1.0,0.0,0.0],ExplosionPower:3}
18號指令:/execute @e[name=未知] ~ ~ ~ summon Shulker_bullet ~ ~ ~-1 {direction:[0.0,.0,-1.0],Motion:[0.0,0.0,-1.0],ExplosionPower:3}
19號指令:/execute @e[name=未知] ~ ~ ~ summon Shulker_bullet ~1 ~ ~ {direction:[1.0,.0,0.0],Motion:[1.0,0.0,0.0],ExplosionPower:3}
20號指令:/execute @e[name=未知] ~ ~ ~ summon Shulker_bullet ~ ~ ~1 {direction:[0.0,.0,1.0],Motion:[0.0,0.0,1.0],ExplosionPower:3}
上述4個指令是在對應的檢測指令激活后才會激活的指令。在同一時間,4個指令只會激活一個。可以看到我這里使用了與門來使指令一一對應。但是后來我發現與門似乎是多此一舉,因為信號輸入端,也就是檢測魚鉤的指令在與門之后。在這里我詳細講下指令方塊的對應關系,以防有些小伙伴們看不太懂。12-17、13-18、14-19、15.16-20。
21號指令:/kill @e[name=未知]
22號指令:/kill @e[name=未知]
23號指令:/kill @e[name=未知]
24號指令:/kill @e[name=未知]
21-24號指令都是刪除魚鉤的指令。
最后我額外講一點點,該機關中的檢測玩家朝向指令可以把角度再次細分,從而構成8個,甚至16個檢測區域。而且同時修改對應的子彈朝向可以做到多角度斜發子彈。最重要的是,檢測方向不一定限于x-z平面。立體360°無死角檢測都可以。只要你有耐心做足夠多方塊。