Minecraft【武器・防具・道具】そよ風のブーツ。(ブーツスロット検知)

2024-02-16

Java版1.19.4、統合版はv1.19.83で動作確認。

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

そよ風のブーツ。

アイテム名とブーツスロット検知して、ステータス効果を付ける「そよ風のブーツ」を作ります。
【Java版】ではマルチプレイ対応で、1ブロックで制作可能です。
【統合版】では名前を変更したアイテムを直接検知出来ないので、やや複雑な装置になります。マルチプレイでは、ブーツケース(チェスト)でタグを切り替えて使う事が出来ます。

※統合版の新コマンド「hasitem」は、名前を変更したアイテムや装備の耐久値を検知出来ないので使用しません。

◻︎装置の特徴
【Java版】
・名前、説明文付き装備の入手。
・ブーツスロット検知でステータス効果を適用。
【統合版】
・タグとアイテム名検知でステータス効果を適用。
・clearとデータ値を使ったブーツスロット検知。
・tpを使った装備の追尾。

 

完成動画(旧式)

 

更新履歴
2023-3-19/統合版の新コマンドに対応! 複雑な装備検知を止め、アイテム名で動作するように変更しました。

 

 

目次

1.作成準備
・フラットワールド。
・チャットコマンド。
2.コマンドブロックの設置
3.そよ風のブーツ【Java版】
・名前を付けた革のブーツ。
・Java版のコマンド作成。
4.そよ風のブーツ【統合版】
・アイテム名の変更。
・タグ付け装置。
・ステータス効果(AND回路)。
・ブーツスロット の検知と追尾。
5.ワールドデータ
・完成データのダウンロード。

※一部Java版と統合版のコマンドに違いがあるので気をつけてください。

 

作成準備

フラットワールド。

マインクラフトのバージョンも上がり、フラットワールドの作成が簡単になりました。 詳しくは、下記の関連記事を参考に作成してください。

 

 

 

チャットコマンド。

チャットに大量のコマンドログが流れ、装置作成の邪魔になるのでログを非表示にしておきます。 ※Java版では、新規ワールド作成時にも非表示に出来ます。

◻︎コマンドログの非表示 ※表示する場合 「false」を「true」に変更。

/gamerule commandBlockOutput false

装置作成に必要なコマンドブロックを手に入れます。

◻︎コマンドブロックの入手

/give @s command_block

 

コマンドブロックの設置

Java版と統合版では、コマンドやブロックの名称など違いがあります。装置の解説はJava版の名称で統一しています。

コマンドブロックは画像に合わせて配置。「ブロックの種類」「レッドストーン」を変更します。変更がある場合は、個別に解説していきます。

配置したコマンドブロックの状態/すべて無条件 ※()内は統合版の名称。

コマンドブロックの色 ブロックの種類 レッドストーン
黄色 インパルス
(衝撃)
動力が必要
(レッドストーンが必要)
青色 チェーン 常時実行
(常にアクティブ)
紫色 リピート
(反復)
常時実行
(常にアクティブ)

 

装置は開始点座標(0 -60 0)を基準に、南が正面がになるよう設置にしています。座標を合わせてブロックを設置していくと、コマンドはコピー&ペーストで作れます。

◻︎南向きを確認するには
ストラクチャーブロックを設置して、境界線の青い線が伸びる方が南。※赤い線は東。
/give @s structure_block

 

そよ風のブーツ【Java版】

装備している間、移動速度上昇効果が持続。外すと効果が消えます。Java版ではアイテム名の変更はもちろん、エンチャントや説明文を追加した装備も検知可能。装備はダメージを受け壊れると無くなります。

 

名前を付けた革のブーツ。

Java版では名前や説明文を付けた装備を、コマンドから直接出す事が出来ます。※コマンドは長くなるので、メモ帳やテキストエディタを使うと作りやすいです。

【革のブーツ】
①革のブーツを1個入手するコマンド。

/give @s minecraft:leather_boots 1

【アイテム名と説明文】
②アイテム名や説明文を追加します。

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

コマンドの結合
①のleather_bootsの後ろに②のコマンドを繋げます。

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

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

改行無しの1行で、チャットに入力して「そよ風のブーツ」を入手します。

 

Java版のコマンド作成。

ブーツスロットとアイテム名を指定したNBTフォーマットを、2つのコマンドに繋げます。

【ブーツスロットの検知】
①「そよ風のブーツ」を装備しているプレイヤーを検知

execute if entity @a

【ステータス効果】
②移動速度上昇効果を付けるプレイヤーを指定。

effect give @e speed 1 1

NBTフォーマット
①の@a、②の@eの後ろに繋げます。※見やすくするため改行しています。

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

コマンドの結合
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個設置して、作成したコマンドを入力。

 

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

「そよ風のブーツ」を投げた時、移動速度上昇効果のステータス効果が付き、革のブーツ(ダミー)を履きます。 革のブーツ(ダミー)を脱ぐと、ステータス効果が消え「そよ風のブーツ」が戻ってきます。

また、使用中にダメージを受けると装備は解除され「そよ風のブーツ」はアイテム化します。 マルチプレイでも使えるように、タグの解除と「そよ風のブーツ」が受け渡しが出来る、ブーツケースを作ります。※プレイヤーにタグが残っているとステータス効果が重複します。

 

アイテム名の変更。

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

革のブーツ→「そよ風のブーツ」を2個作成。

 

チェスト→「ブーツケース」を2個作成。

 

タグ付け装置。

装備を出し入れする時に、プレイヤーにタグを付けたり消したりします。

開始点は座標(0 -60 0)。「A」は座標(1 -60 0)、「B」は座標(1 -60 6)。

【統合版】

①execute if blocks 1 -60 0 1 -60 0 1 -60 6 all
②tag @a remove w_boots
③tag @p add w_boots

①「A」と「B」のチェストの中身が同じ時、信号を出す。
②全てのプレイヤーからタグ「w_boots」を削除。
③近くのプレイヤーにタグ「w_boots」を追加。

「あ」にはチェストの中身が分かるように、額縁に「そよ風のブーツ」を入れておきます。②にはレッドストーンランプを設置。「A」と「B」のチェストの中身が同じ時点灯。

 

ステータス効果(AND回路)。

タグ付きプレイヤーが「そよ風のブーツ」を投げた時、ステータス効果を付けます。

③は地面下。④はレッドストーンが必要に変更。

【統合版】

①execute if entity @e[type=item,name=そよ風のブーツ]
②execute if entity @a[tag=w_boots]
③replaceitem entity @a[tag=w_boots] slot.armor.feet 0 keep leather_boots 1 200
④effect @a[tag=w_boots] speed 1 1

【AND回路】
①「そよ風のブーツ」が落ちている時、信号を出す。
②プレイヤーにタグ「w_boots」がある時、信号を出す。
【ステータス効果】
③タグ付きプレイヤーのブーツスロットに、革のブーツ(データ値200)を設置。
④タグ付きプレイヤーに、LV1の移動速度効上昇を1秒を与えます。

 

ブーツスロットの検知と追尾。

プレイヤーがブーツを履いているかを検知。頭上に「そよ風のブーツ」を追尾させます。 ※頭上に追尾しているアイテムは、5分後に自然消滅するので注意。

④はレッドストーンが必要に変更。

【統合版】

①replaceitem entity @a[tag=w_boots] slot.armor.feet 0 keep air
②clear @a leather_boots 200
③clear @a[tag=w_boots] leather_boots 200 0
④execute as @e[tag=w_boots] at @s run tp @e[type=item,name=そよ風のブーツ] ~~3~

【ブーツスロット検知】
①タグ付きプレイヤーのブーツスロットが空の時、信号を出す。
②全てのプレイヤーから革のブーツ(データ値200)を削除。
【そよ風のブーツ追尾】
③革のブーツ(データ値200)を持っている時、信号を出す。
④信号がある時、プレイヤーの頭上に「そよ風のブーツ」を追尾。

 

ワールドデータ

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

【統合版】 v1.19.83
完成データでは、座標(0 -61 0)にストラクチャーブロックが埋め込んであります。
アプリで開くから、Minecraftを選びます。

ダウンロード/そよ風のブーツ.mcworld

※二次配布は禁止です。