マルチプレイなら『シン・VPS』がおすすめ!

【持っていると○○】giveコマンドでattributesを指示する!【マイクラ】

【持っていると○○】giveコマンドでattributesを指示する!【マイクラ】

この記事では、Minecraft Java Edition(バージョン1.20.1)の情報をもとに執筆しています。
そのほかのバージョンや機種などでの動作は保証できません。

attributesについて知りたいマインクラフター
「アイテムにattributesを指示するとどういうことができるのかな? 具体的なコマンドも教えて欲しいな」

こんな疑問を解決します!

本記事の内容
  • giveコマンドでattributesを指示した場合
  • attributesは複雑なので、コマンド生成サイトを利用する

こんにちは!
マインクラフターのなつめ(@natsume_717b)です。

なつめ

2016年3月からマイクラをプレイしています!
最近はコマンドやデータパックなどの技術的なものを勉強しています。

この記事では、giveコマンドを使用する際にattributesを指示することでどうなるのかといったことを解説しています。

あまり有名ではないaattributesですが、装備している時だけ移動速度といったことをeffectコマンドなしでできます。
このほかにも様々な項目を弄れるのですが、それは記事内のリンクから確認できます。

というわけで、さっそくどのようなことができるのか、どうやってコマンドを打てばいいのかを見ていきましょう。



giveコマンドでattributesを指示した場合

giveコマンドでアイテムを付与する際にattributesというものを指示すると、attributeコマンドで出来ることと同じことができます。

具体的な例をいくつか挙げると、装備している間だけ移動速度のデフォルトの値が変更される、手に持っていると最大体力が増加するなどといった感じです。

どの装備欄に存在している時に有効化されるのか、変更するのはどの項目か、選択した項目の値をどれだけ変更するのかといったことを決めます。
(上記の装備欄とは、装備可能な4か所に加えて、メインハンド、オフハンドを指しています)

attirubuteコマンドについては過去にまとめていますので、詳しくは以下の記事を読むことをおすすめします。

デフォルト値を変更するattributeコマンド【マイクラ】

attributesは複雑なので、コマンド生成サイトを利用する

さて、attributesを指示しつつgiveコマンドを使用することで、そのアイテムを装備する、メインハンドに持っているといった条件を満たしている間だけ指定した項目の値が変更されることが分かりました。

しかし、実際のコマンドを見てみると以下の通り複雑です。
(以下は、メインハンドに持っていると最大体力が30になるアカシアのフェンスを取り出すコマンドです)

/give @p acacia_fence{AttributeModifiers:[{AttributeName:"generic.max_health",Amount:30,Slot:mainhand,Name:"generic.max_health",UUID:[I;-12372,21689,155459,-43378]}]} 1

どこにアイテムがあると反応するのか、どの項目の値を弄るのか、値はどれだけ変更するのか、それに加えてUUIDも指定する必要があります。

いちいちこのようなコマンドを入力していくのは面倒ですので、コマンド生成サイトを利用します。
今回、筆者は以下のサイトを利用しました。

サイトへ飛んでもらえれば分かりますが、基本的な英単語さえ読めれば使い方が分からないということはないはずです。

Attributesという項目からAdd Attributesという箇所を押せば、付与するアイテムにAttributeを追記出来ます。
もしAttributesという項目が隠れていた場合は、show advanced optionという箇所をクリックすれば表示できます。

というわけで、attributesをアイテムに付与させる際はコマンド生成サイトを利用しましょう。

まとめ

というわけで、今回のまとめです。

ポイント
  • atttibutesを指示しながらアイテムを得ることで、特定の装備欄におくとattributeコマンドと同じ効果を得ることができる。

この記事は以上になります。

  • 【まとめ】functionコマンドの基本から応用【マイクラ】
  • 【まとめ】カスタムストラクチャーの実装・カスタム方法【マイクラ】