Minecraft【Java版/統合版】
そよ風のブーツ。(装備スロット検知)

2022-09-29

身に付けるとそよ風のように走れる。

Java版1.19.2、統合版はv1.19.22で動作確認。

【Java版】では、アイテム名と装備スロット検知してエフェクトコマンドを実行。
【統合版】では、clearやreplaceitemを駆使して、装備スロット検知。
コマンドブロックは多くなりますが、Java版と同じような動作が出来ました。
※hasitemが使えるともう少し楽になりそうですが、通常版ではまだ使えないようです。

 

 

目次

1.そよ風のブーツ【Java版】
・アイテム名の変更。
・Java版のコマンド作成。

2.そよ風のブーツ【統合版】
・アイテム名の変更。
・統合版のコマンド作成。

 

完成動画

 

そよ風のブーツ【Java版】

装備している間、移動速度上昇効果が持続。外すと効果が消えます。

 

アイテム名の変更。

Java版では名前を変更したアイテムを、コマンドから直接出せるので便利です。
※メモ帳やテキストエディタでコマンドを作ります。

①名前を付けた革のブーツ入手するコマンドを作成。
通常の/giveコマンドに、アイテム名や説明文を足します。
※アイテムIDを変更すれば、革のブーツ以外でも作れます。

/give @s minecraft:leather_boots 1

②赤字の部分を好きな名前に変更して、①の_bootsの後ろに繋げます。

{display:{Name:"\"そよ風のブーツ\"",Lore:["\"説明文\""]}}

③チャットやコマンドブロックに入力。

/give @s minecraft:leather_boots{display:{Name:"\"そよ風のブーツ\"",Lore:["\"説明文\""]}} 1

※エンチャントを付ける場合。(ダメージ軽減Lv1)
.....["\"説明文\""]},Enchantments:[{id:protection,lvl:1}]} 1

 

Java版のコマンド作成。

2つのコマンドを作り、NBTフォーマット①を追加します。

【装備検知】
そよ風のブーツを装備しているプレイヤーを検知。@aの後ろにNBTフォーマット①を追加。

execute if entity @a

【エフェクト効果】
誰に移動速度上昇効果を付けるかを指定。@eの後ろにNBTフォーマット①を追加。

effect give @e speed 1 1

NBTフォーマット①
ブーツスロットに、そよ風のブーツを装備を装備しているかどうか。
※見やすくするために改行しています。

[nbt={Inventory:[{Slot:100b,tag:
{display:{Name:"\"そよ風のブーツ\"",Lore:["\"説明文\""]}}
}]}]

 

【装備検知】と【エフェクト効果】をrunで繋げる。
2つのコマンドに「run」を追加して、改行無しの1行で繋げます。

execute if entity @a[nbt={Inventory:[{Slot:100b,tag:{display:{Name:"\"そよ風のブーツ\"",Lore:["\"説明文\""]}}}]}] run effect give @e[nbt={Inventory:[{Slot:100b,tag:{display:{Name:"\"そよ風のブーツ\"",Lore:["\"説明文\""]}}}]}] speed 1 1

コマンドブロックを1個設置して、作成したコマンドを入力。
リピート/無条件/常時実行

装備を外すとエフェクト効果も消えます。(マルチプレイ対応)

 

そよ風のブーツ【統合版】

Java版と同じく装備している間、移動速度上昇効果が持続。外すと効果が消えます。

 

アイテム名の変更。

統合版ではアイテム名での検知や、名前を付けたアイテムをコマンドで出せないので手順が増えます。

①革のブーツをコマンドで入手。(データ値180)

/give @s leather_boots 1 180

②金床を使ってチェストと革のブーツの名前を変更しておきます。

チェスト→ブーツケース
革のブーツ(データ値180)→そよ風のブーツ

※革のブーツに付けるエンチャントは、消滅の呪い以外はダミーになります。
説明文など付けてもOKです。

 

統合版のコマンド作成。

画像を参考に、ブロックを配置。
◎配置したコマンドブロックの状態/すべて無条件

コマンドブロックの色 ブロックの種類 レッドストーン
黄色 衝撃 レッドストーンが必要
青色 チェーン 常にアクティブ
紫色 反復 常にアクティブ

 

①には石のボタンを付けておきます。

 

❶タグ付け

①tag @p add w_boots

①近くのプレイヤーに「w_boots」のタグを付けます。
※装置の完成後は、プレイヤーにタグが付いた時点でアイテムが手に入るようになります。

 

❷装備スロットの検知とブーツの置き換え装置

タグ付きプレイヤー対象

①replaceitem entity @a[tag=w_boots] slot.armor.feet 0 keep air
②clear @a[tag=w_boots] leather_boots 180 1
③replaceitem entity @a[tag=w_boots] slot.armor.feet 0 keep leather_boots 1 200
④give @a[tag=w_boots] leather_boots 1 180
⑤setblock ~~~ air
⑥setblock ~~~ redstone_block

①プレイヤーのブーツスロットが空いているか確認。
②プレイヤーから革のブーツを1個削除。(データ値180)
③プレイヤーのブーツスロットに、革のブーツを設置。(データ値200)
④革のブーツをプレイヤーに1個与える。(データ値180)
⑤⑥は、❹エフェクトスイッチ「あ」レッドストーンブロックの座標。
「A」の場所に、そよ風のブーツを入れたブーツケースを設置。座標を調べておきます。

 

❸ブーツの置き換え装置2

タグ付きプレイヤー対象

①clear @a[tag=w_boots] leather_boots 200 0
②clear @a[tag=w_boots] leather_boots 200 1
③replaceitem entity @a[tag=w_boots] slot.armor.feet 0 keep leather_boots 1 180
④clear @a[tag=w_boots] leather_boots 180 1

①プレイヤーが革のブーツを持っているか確認。(データ値200)
②プレイヤーから革のブーツを1個削除。(データ値200)
③プレイヤーのブーツスロットに、革のブーツを設置。(データ値180)
④プレイヤーから革のブーツを1個削除。(データ値180)

 

2段目、通常のピストンを向かい合わせにして、レッドストーンブロックを設置。

 

❹ステータス効果

①effect @a[tag=w_boots] speed 1 1

①タグ付きプレイヤーに、移動速度上昇のステータス効果を与えます。
コマンドでブロックのレッドストーンは「レッドストーンが必要」にします。
※装備中は効果が持続します。

 

❺ブーツの差し替え(名前付きブーツに戻す)

タグ付きプレイヤー対象

①execute @a[tag=w_boots] ~~~ clone ~~~ ~~~ ~~1~
②execute @a[tag=w_boots] ~~~ setblock ~~1~ air 0 destroy
③kill @e[name=ブーツケース]
④clear @a[tag=w_boots] leather_boots 180 1

①「~~~」には「A」の座標(2回)。プレイヤーの頭上にチェストをクローンさせます。
②頭上のチェストを壊し、中身を取り出します。
③クローンしたチェストを削除。
④プレイヤーから革のブーツを1個削除。(データ値180)

 

①には石のボタンを付けておきます。

 

❻タグ消し

①tag @a remove w_boots
②反復装置2個(3回クリック)
③clear @a leather_boots 180

①全てのプレイヤーから、タグ「w_boots」を削除。
②信号を少し遅らせる。
③全てのプレイヤーから革のブーツを削除。(データ値180)

 

注意点

敵から攻撃を受けると一撃で装備が壊れますが「w_boots」のタグが付いている間は、すぐに装備がクローンされます。なので敵に装備を解除される感じになります。

マルチプレイでも動作しますが、タグ「w_boots」が重複しているとうまく動作しません。
同時に使いたい場合は、タグ名を変えて人数分の装置を作る必要があります。

ショップでアイテム購入時にタグを付けて、死んだ時にタグを消すなど、タグをうまく管理出来れば、実用性がアップします。

※装備の変更が早すぎると、革のブーツが増える事があります。

 

 

おすすめ記事もどうぞ!