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

2025-06-22

Java版1.21.6-、統合版v1.21.90-で動作確認。

攻撃すると、魔女がささやく。

魔女の剣。v1.30

アイテム名とメインハンド検知で、モブを攻撃した時に、効果音やパーティクルを再生する「魔女の剣」を作ります。Java版と統合版ではコマンドが大きく異なりますが、同じように動く装置になりました。v1.30のJava版は、装備の仕様変更に対応。統合版は、タグを使わない「ポーション式」に変更。ひとつの装置でマルチプレイに対応しました。Java版は初心者、統合版は上級者向けの装置になります。

 

◻︎装置の特徴
・ひとつの装置でマルチプレイ対応。

【Java版】
・メインハンドの検知。(セレクトアイテム)
・HurtTimeを使ったダメージ検知。
【統合版】
・アイテム名で装置を起動。
・耐久度(データ値)を使ったループ装置。
・ポーション式で、装置を簡略化。

 

更新履歴
2025-5-6/Java版の仕様変更に対応。統合版は装置を改良。
2024-5-7/古い情報を更新しました。Java版(1.20.5-)のデータコンポーネントに対応。
2023-5-26/統合版のターゲットの絞り込みを、専用コマンド「family」に変更しました。
2023-3-31/Java版のコマンドを変更しました。
2023-3-23/統合版の新コマンドに対応! 複雑な装備検知をやめ、アイテム名から動作するように変更しました。

 

プレイ動画。v1.1(旧式)

旧式/ v1.0はこちら。

 

 

目次

1.作成準備
・使用方法。

2.魔女の剣【Java版】
・鉄の剣の入手(名前を変更)。
・コマンドの結合。
・メインハンドを検知。

3.魔女の剣【統合版】
・装置のしくみ。
・革の帽子を入手(名前を変更)。
・ポーションを入手。
・捨てる式。
・ループ装置。

4.ワールドデータ
・完成データをダウンロード。

 

※「as」や「minecraft:」など、一部のコマンドは簡略化。必要な場合は記入してあります。

 

作成準備

使用方法。

コマンドブロックの使い方、「アイテム検知」や「hasitem」の詳細は、関連記事をご確認ください。

 

 

 

魔女の剣【Java版】

「魔女の剣」を持って敵を攻撃すると、ウィッチの声とパーティクルを再生します。装備はダメージを受け壊れると壊れます。※「魔女の剣」を持ったプレイヤーがいない時は、実行されません。

鉄の剣を入手(名前を変更)。

名前を変更したアイテムをコマンドから入手。説明文やエンチャントも追加出来ます。※コマンドは長くなるので、メモ帳やテキストエディタを使うと便利です。

◻︎コマンド 例

/give @s iron_sword 1

①鉄の剣を1個入手するコマンド。

 

◻︎コマンド 例

[custom_name="魔女の剣",lore=["説明文"]]

②アイテム名や説明文を追加します(NBT形式)。※item_nameにすると、金床で名前を変更出来ない装備になります。

 

コマンドの結合。

改行無しの1行で、チャットに入力して「魔女の剣」を入手します。

◻︎コマンド 例

/give @s iron_sword[custom_name="魔女の剣",lore=["説明文"]] 1

①のアイテムIDに②のコマンド(NBT形式)を繋げます。

 

◻︎コマンド 例

.....["説明文"],enchantments={"minecraft:unbreaking":1}] 1

「耐久度LV1」のエンチャントを付けた場合。

 

メインハンドを検知(Java版)。

「魔女の剣」を持っているプレイヤーの周辺で、ダメージを受けたモブを検知。コマンドを実行します。

「A」はチェスト。

【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 witch ~ ~ ~ 1 1 1 0 12 force

【装置の起動】①②
「魔女の剣」をメインハンドに持っているプレイヤーの10ブロック以内でモブがダメージを受けた時、ウィッチの声とパーティクルを再生。※アイテムIDや、説明文は省略可。

 

魔女の剣【統合版】

今回はタグよりも管理の簡単なポーション式を採用。コマンドでしか装備出来ないアイテムを、オフハンドに設置することで、プレイヤーを絞ることが出来ます。ひとつの装置を、複数人で同時に使うことが出来ます。

装置のしくみ。

ダメージ検知が出来ないので、装備の耐久度を使ったループ装置を作ります。「力のポーション」を捨てるとオフハンドに装着。さらに「魔女の剣」を捨てると鉄の剣を装着(データ値600)。モブを攻撃して鉄の剣が壊れた時、効果を再生。再び1回で壊れる剣を装備します。ポーションを外すと装置を停止。落とした「魔女の剣」も、インベントリに戻ります。※ホットバー「0」のアイテムは、鉄の剣に置き換えられます。

 

革の帽子を入手(名前を変更)。

金床を使って革の帽子を「魔女の剣」に変更。※名前が同じなら、他のアイテムでも動作します。

 

ポーションを入手。

装置はポーションと「魔女の剣」の組み合わせで動く、ダブルトリガーを採用。スコアボードで回数を決めたり、購入アイテムにしたり、ポーションをうまく管理することで、使う場所を限定することが出来ます。今回の装置では「力のポーション」を、1人1個しか持てないようにしています。

◻︎コマンド 例

/give @s potion 1 31

力のポーションを1個入手するコマンド。

 

捨てる式。

ポーションを捨てた時、オフハンドにポーションを設置します。オフハンドに盾など、アイテムを持っている時は使えません。一度外してから使用してください。※長いコマンドは、メモ帳やテキストエディタを使うと見やすくなります。

「A」はチェスト。⑥は条件付き。

【統合版】

①execute at @a[hasitem={item=iron_sword,data=600,quantity=2..}] run clear @a[r=1,c=1] iron_sword 600
②execute at @a[hasitem={item=potion,data=31,quantity=2..}] run clear @a[r=1,c=1] potion 31 1
------
③execute at @a[hasitem={item=potion,data=31,location=slot.inventory}] run clear @a[r=1,c=1] iron_sword 600
④execute at @a[hasitem={item=potion,data=31,location=slot.hotbar}] run clear @a[r=1,c=1] iron_sword 600
------
⑤execute at @e[name=力のポーション] run replaceitem entity @p[r=1] slot.weapon.offhand 0 keep potion 1 31
⑥kill @e[name=力のポーション]
------
⑦execute at @e[name=魔女の剣] run replaceitem entity @a[r=1,hasitem={item=potion,data=31,location=slot.weapon.offhand}] slot.hotbar 0 iron_sword 1 600
⑧execute at @a[hasitem={item=potion,data=31,location=slot.weapon.offhand}] run tp @e[name=魔女の剣,r=3] ~~~

◻︎鉄の剣(データ値600)

【数の制限】①②
鉄の剣、力のポーションが2個以上になった時、1個を削除。
------
【装置の停止】③④
力のポーションを外した時、鉄の剣を削除。
------
【装置の起動】⑤⑥
「力のポーション」が落ちている時、近くのプレイヤーに、力のポーションを設置。
------
【ターゲットの検知】⑦⑧
「魔女の剣」をプレイヤーに戻す。

 

ループ装置。

マルチプレイ対応。剣の破壊と装備の、最小ループ装置になります。コマンドブロックを減らすため、一部を共有しています。

③は動力が必要。⑥はティックの遅延:10(最初のティックで実行:オフ)。⑦にレッドストーントーチ。

【統合版】

①execute unless entity @a[hasitem={item=iron_sword,data=600,location=slot.weapon.mainhand,quantity=1}]
②⑧replaceitem entity @a[hasitem={item=potion,data=31,location=slot.weapon.offhand}] slot.hotbar 0 iron_sword 1 600
③kill @e[name=鉄の剣]
------
④execute unless entity @a[hasitem={item=iron_sword,data=600,quantity=1}]
⑤execute at @e[family=mob] as @a[hasitem={item=potion,data=31,location=slot.weapon.offhand},r=10] run playsound mob.witch.ambient @a[hasitem={item=potion,data=31,location=slot.weapon.offhand}] ~~~
------
⑥execute unless entity @a[hasitem={item=iron_sword,data=600,quantity=0}]
⑦execute at @e[family=mob] as @a[hasitem={item=potion,data=31,location=slot.weapon.offhand},r=10] run particle minecraft:dragon_breath_fire ~~~

◻︎鉄の剣(データ値600)

【装置の起動】①②③
メインハンドに鉄の剣がない時、ホットバー「0」に鉄の剣を設置。
------
【効果の再生a】④⑤
鉄の剣を持っていない時、信号を出す。効果音とエフェクトを再生。
------
【効果の再生b】⑥⑦⑧
鉄の剣を持っている時、信号を出す。効果音とエフェクトを再生。

 

ワールドデータ

ワールドデータは、コマンド入力不要。アイテムの入った「トラップチェスト」を開くと装置が起動します。

完成データをダウンロード。

ダウンロード先/魔女の剣v1.30

◻︎統合版
【武器・防具・道具】魔女の剣v1.30.mcworld
iOS、Android/Minecraftで開く。Windows/ダブルクリックでインポート。

◻︎Java版
【武器・防具・道具】魔女の剣v1.30.zip
解凍後、ワールド内の「saves」フォルダに入れる。

※二次配布は禁止です。