前回にひきつづき、魔法の杖の作り方。今回は特定の杖じゃないと魔法がつかえないようにします。
scoreboadは前回作ったのをそのまま使います。前回の内容はこちら
アイテムを作成
MCStackerでアイテムを作成します。MCStackerで/giveを選択し、アイテムに「魔法の杖ですよ」のタグをつけたいので、こんな感じ。
CustomTagsのところにタグ名:1を入れます。今回はタグ名を「mahou」にしたので「mahou:1」を入れています。
生成されたコマンドはこちら。
/give @p carrot_on_a_stick{display:{Name:'{"text":"魔法の杖"}'},mahou:1} 1
右手に魔法の杖をもっているときだけ魔法が使えるようにする
次に、先ほど作ったアイテムを持っている時だけ魔法が発動するようにします。
前回作った、ひとつめのリピートコマンドブロックの内容を少し変更。
/execute as @a[scores={repulser=1..}] at @s run effect give @e[distance=1..10] levitation 1 10
だったのを、
/execute at @a[nbt={SelectedItem:{tag:{mahou:1}}},scores={repulser=1..}] run effect give @e[distance=1..10] minecraft:levitation 1 20
をに。SelectedItemにtag:{mahou:1}を指定することで、「右手にmahouというタグがついたアイテムを持っているすべてのプレイヤー」と指定しています。簡単。
パーティクルと効果音をつける
ついでにパーティクルと効果音を付ける方法を教えてもらったのでメモ。
結果、コマンドブロックは全部で4つ。
ひとつめ(リピートコマンドブロック):右手にアイテムを持っていてrepulserのscoreobadが1以上(ニンジン棒を使った)ひとから距離が1~10にいるエンティティに浮遊の効果を与える
/execute at @a[nbt={SelectedItem:{tag:{mahou:1}}},scores={repulser=1..}] run effect give @e[distance=1..10] minecraft:levitation 1 20
ふたつめ(チェーンコマンドブロック):cloudのparticleを表示
/execute at @a[nbt={SelectedItem:{tag:{mahou:1}}},scores={repulser=1..}] at @e[distance=1..10] run particle minecraft:cloud ~ ~ ~ 0.2 0.2 0.2 0.1 30
みっつめ(チェーンコマンドブロック):playsoundで音を鳴らす(playsoundについてはこちら)
/execute at @a[nbt={SelectedItem:{tag:{mahou:1}}},scores={repulser=1..}] at @e[distance=1..10] run playsound minecraft:item.trident.riptide_1 master @a ~ ~ ~ 0.3 1
よっつめ(チェーンコマンドブロック):scoreboadをリセットします。
/scoreboard players set @a[scores={repulser=1..}] repulser 0
結果こんな感じ。
コメント