Minecraft【武器・防具・道具】魔女の剣。(メインハンド検知)

Java版1.20.6、統合版はv1.20.81で動作確認。
攻撃すると魔女がささやく。
魔女の剣。v1.20
モブを攻撃した時、ウィッチの声やパーティクルを再生します。Java版と統合版では検知対象や方法が大きく異なりますが、似たような動作になります。マルチプレイ対応。Java版、統合版とも中級者向けの装置となります。キーボード、コントローラー推奨。※Java版は新コマンド、データコンポーネントに対応。統合版は「hasitem」で装備のデータ値(耐久値)を検知します。
◻︎装置の特徴
【Java版】
・メインハンドの検知。(セレクトアイテム)
・HurtTimeを使ったダメージ検知。
【統合版】
・アイテム名をトリガーにして装置を起動。
・ホットバーにアイテムを固定。
・耐久度を使った検知。
更新履歴
2024-5-7/古い情報を更新しました。Java版(1.20.5〜)のデータコンポーネントに対応。
2023-5-26/統合版のターゲットの絞り込みを、専用コマンド「family」に変更しました。
2023-3-31/Java版のコマンドを変更しました。
2023-3-23/統合版の新コマンドに対応! 複雑な装備検知をやめ、アイテム名から動作するように変更しました。
プレイ動画。v1.1(旧式)
魔女の剣(まじょのけん)を、統合版の新コマンドに対応! 複雑な装備検知から、簡単装置に変更(完成データ付き)。Java版はHurtTime、メインハンド検知、統合版はヘッド、インベントリ検知など。#マイクラhttps://t.co/AtitH3tNcB pic.twitter.com/OdZJdDf7GS
— tokoton0ch (@tokoton0ch) March 23, 2023
旧式/ v1.0はこちら。
目次
1.作成準備
・ログの非表示。
2.コマンドブロックの設置
3.魔女の剣【Java版】
・鉄の剣の入手(名前を変更)。・メインハンドの検知(Java版)。・コマンドの詳細。
4.魔女の剣【統合版】
・アイテム名の変更。・タグ付け装置。・テレポート式。・アイテムの保存。
5.ワールドデータ
・完成データのダウンロード。
※「as」や「minecraft:」などのコマンドは簡略化しています。一部のコマンド、マルチプレイやサーバーでは必要な場合があります。
作成準備
マルチプレイ対応。※統合版での同時使用には、複数の装置を作る必要があります。
ログの非表示。
◻︎ログの非表示とコマンドブロックを入手。
/gamerule commandBlockOutput false /give @s command_block |
コマンドブロックの設置
コマンドブロックは画像に合わせて配置。「ブロック種類」「レッドストーン」を変更します。 変更がある場合は、個別に解説していきます。
◎配置したコマンドブロックの状態/すべて無条件。※()内は統合版の名称。
コマンドブロックの色 | ブロックの種類 | レッドストーン |
黄色 | インパルス | 動力が必要 |
青色 | チェーン(鎖) | 常時実行 |
紫色 | リピート | 常時実行 |
魔女の剣【Java版】
「魔女の剣」を持って敵を攻撃すると、ウィッチの声とパーティクルを再生します。装備はダメージを受けると壊れます。※「魔女の剣」を手にしていない時は、コマンドは実行されません。
鉄の剣の入手(名前を変更)。
アイテムIDにアイテム名や説明文、エンチャントを追加します。※コマンドは長くなるので、メモ帳やテキストエディタを使うと便利です。
【鉄の剣】
①鉄の剣を1個入手するコマンド。
/give @s iron_sword 1 |
【アイテム名と説明文】
②アイテム名や説明文を追加します(NBT形式)。※item_nameにすると、金床で名前を変更出来ない装備になります。
[custom_name="魔女の剣",lore=["説明文"]] |
【コマンドの結合】
アイテムIDに②のコマンド(NBT形式)を繋げます。
/give @s iron_sword[custom_name="魔女の剣",lore=["説明文"]] 1 |
※さらに、エンチャントを付ける場合。(耐久度Lv1)
.....["説明文"],enchantments={levels:{"unbreaking":1}}] 1
改行無しの1行で、チャットに入力して「魔女の剣」を入手します。
メインハンドの検知(Java版)。
メインハンドで選択している装備を、アイテム名で検知してコマンドを実行します。
【Java版】
①execute at @a[nbt={SelectedItem:{components:{"minecraft:custom_name":"\"魔女の剣\""}}}] as @e[distance=..10,nbt={HurtTime:1s}] run playsound entity.witch.ambient player @a[nbt={SelectedItem:{components:{"minecraft:custom_name":"\"魔女の剣\""}}}] ~ ~ ~ ②execute at @e[type=!player,nbt={HurtTime:1s}] as @a[distance=..10,nbt={SelectedItem:{components:{"minecraft:custom_name":"\"魔女の剣\""}}}] run particle minecraft:witch ~ ~ ~ 1 1 1 0 12 force |
①②「魔女の剣」をメインハンドに持っているプレイヤーの10ブロック以内でモブがダメージを受けた時、 ウィッチの声とパーティクルを再生(ダメージを受けたモブを対象)。 ※アイテムIDや、説明文は省略可。金床が使える環境では注意が必要。「minecraft:」が必要です。
「playsound」と「particle」でコマンドの実行者や場所を変えています。対象範囲は10ブロック。コマンド数は増えますが、タグを使うとコマンドは簡略化出来そうです。
コマンドの詳細。
ターゲットセレクターに、データコンポーネント(NBT形式)で詳細を追加。
【プレイサウンド】
ウィッチの声を再生するコマンドに、実行者と場所を追加。
execute at @a as @e run playsound entity.witch.ambient player @a ~ ~ ~ |
コマンド実行者「@e」、場所「@a」。
@a[nbt={SelectedItem:{components:{"minecraft:custom_name":"\"魔女の剣\""}}}] @e[distance=..10,nbt={HurtTime:1s}] |
【パーティクル】
パーティクルを再生するコマンドに、実行者と場所を追加。
execute at @e as @a run particle minecraft:witch ~ ~ ~ 1 1 1 0 12 force |
コマンド実行者「@a」、場所「@e」。
@e[type=!player,nbt={HurtTime:1s}] @a[distance=..10,nbt={SelectedItem:{components:{"minecraft:custom_name":"\"魔女の剣\""}}}] |
魔女の剣【統合版】
統合版ではモブのダメージ検知が出来ないので、装備の耐久度を使ったループ装置を作ります。モブを攻撃し装備が壊れた時に効果を再生。再び1回で壊れる装備を手にします。ループ装置を停止するために、帽子を使います。
今回は「give」ではなく「replaceitem」を使ってホットバーにアイテムを固定。サバイバルでは使いにくくなりますが、より安定した装置になると思います。簡単なタグの切り替え装置と、テレポート式の装置を紹介。※耐久度の減った装備を投げた時も効果が発動します。
アイテム名の変更。
金床を使ってチェストと革の帽子の名前を変更します。※装置は名前で動作するので、鉄の剣や他のアイテムでも可。データ値が区別出来ないアイテムもあります。
革の帽子→「魔女の剣」を3個作成。
チェスト→「剣ケース」を2個作成。
タグ付け装置。
マルチプレイ用に装備を出し入れする時に、タグの切り替えが出来る剣ケースを作ります(切り替え式)。※同じタグ名のプレイヤーが複数いるとうまく動作しません。
開始点は座標(0 -60 0)。「A」は座標(1 -60 0)、「B」は座標(1 -60 4)。②レッドストーンランプ、トーチを設置。
【統合版】
①execute if blocks 1 -60 0 1 -60 0
1 -60 4 all ②tag @a remove w_sword ③tag @p add w_sword |
①座標「A」と「B」のチェストの中身が同じ時、信号を出す。
②全てのプレイヤーからタグ「w_sword」を削除。
③近くのプレイヤーにタグ「w_sword」を追加。
「A」と「B」のチェストの中身が同じ時、プレイヤーのタグが消えレッドストーンランプが点灯。 ※チェストの向き、装備の位置や耐久度も合わせる必要があります。 ◻︎タグの確認。 /tag @a list
テレポート式。
「魔女の剣」を投げた時、「魔女の剣」を頭上に追尾して、ループ装置を起動します。スマホやゲーム機でも作れますが、頭上のアイテムは5分で消滅します。
①はティックの遅延10。⑤は動力が必要。⑩はティックの遅延6。
【統合版】
①execute if entity @e[name=魔女の剣] run replaceitem entity @a[tag=w_sword] slot.armor.head 0 keep leather_helmet 1 180 ②execute at @a[hasitem={item=leather_helmet,location=slot.armor.head,data=180}] run replaceitem entity @a[tag=w_sword] slot.hotbar 0 iron_sword 1 600 ③execute at @a[hasitem={item=leather_helmet,location=slot.armor.head,data=180}] run tp @e[name=魔女の剣] ~~3~ ------ ④clear @a[tag=w_sword] iron_sword 600 0 ⑤kill @e[name=鉄の剣] ⑥execute as @e[type=!villager,type=!armor_stand,family=mob] at @a[tag=w_sword] run playsound mob.witch.ambient @a[tag=w_sword] ~~~ ⑦execute at @e[type=!villager,type=!armor_stand,family=mob] as @a[tag=w_sword,c=1,r=10] run particle minecraft:dragon_breath_fire ~~~ ------ ⑧replaceitem entity @a[tag=w_sword] slot.armor.head 0 keep air ⑨clear @a leather_helmet 180 ⑩clear @a iron_sword 600 |
◻︎タグ付きプレイヤー対象
①「魔女の剣」 が落ちている時、ヘッドスロットに革の帽子を設置(データ値180)。
②革の帽子(データ値180)を被っている時、一番左のホットバーに鉄の剣を設置(データ値600)。
③革の帽子(データ値180)を被っている時、頭上に「魔女の剣」 を追尾。
------
④鉄の剣(データ値600)が無くなった時、信号を出す。
⑤鉄の剣を削除。
⑥敵対モブがいる時、ウィッチの声を再生。
⑦10ブロック以内の近くの敵対モブに、パーティクルを再生。※「minecraft:」が必要。
------
⑧ヘッドスロットが空の時、信号を出す。
⑨革の帽子を削除(データ値180)。
⑩鉄の剣を削除(ティックの遅延6、データ値600)。
ダメージを受けた時、革の帽子を脱いだ時に頭上のアイテムが戻って来ます。※①にティックの遅延を入れないとうまく動作しません。④壊れた時と投げた時の違いには未対応。
ストラクチャー式(Windows推奨)。
テレポート式の弱点を克服したストラクチャー式も紹介しています。
- ストラクチャー式はこちら→ 【武器・防具・道具】そよ風のブーツ。
ワールドデータ
完成データのダウンロード。
【統合版】 v1.20.81〜対応
ダウンロード/魔女の剣v1.20.mcworld
「テレポート式」と「ストラクチャー式」のワールドデータをダウンロード出来ます。
【Java版】 v1.20.6〜対応
ダウンロード/魔女の剣v1.20.zip
解凍後「saves」フォルダに入れてください。
※二次配布は禁止です。