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

【覚えるべき】データを操作するdataコマンド【マイクラ】

【覚えるべき】データを操作するdataコマンド【マイクラ】

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

dataコマンドについて知りたいマインクラフター
「dataコマンドって何をするコマンドなの? dataって付いているくらいだからデータをどうにかするのかな。覚えておくべきかどうかも教えて欲しいな」

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

本記事の内容
  • データを操作するdataコマンド
  • 難解な部分もあるが、少しずつ覚えるべき

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

なつめ

マイクラ歴は5年程で、最近は脱出マップを配布・制作しています!
→配布マップ・ダウンロードページ

この記事では、dataコマンドについて1から解説していきます。
筆者がdataコマンドでよく使うものを紹介しつつ、どういう仕組みなのかを具体的なコマンドを交えて紹介。

dataコマンドにある4つの項目すべてを解説しているので、一通りは使えるようになるかなと思います。

また、少しずつでもいいので覚えるべき理由についても述べています。
全体的に少し長めの記事ですが、参考にしてもらえると幸いです。

それでは、さっそく見ていきましょう!



データを操作するdataコマンド

dataコマンドはその名の通り、データを扱うコマンドです。
具体的には、データの確認、付与、編集、削除の4つのことができます。

それぞれ以下の項目を入力することで、指示することが可能です。

項目指示(意味)
getデータを確認することができる。
取得したデータはチャット欄にメッセージとして表示される。
merge指定したエンティティやデータを持つブロック(チェストなど)に対して、データを追加することができる。
modifyデータを編集することができる。
特定のデータだけを保存して、別のものにそのデータを適用するなどといった複雑なことが可能。
removeデータを削除する。

実際のコマンドを紹介するので、見ていきましょう。

getを使う

/data get entity @p

上記のコマンドで、最も近くにいるプレイヤーのデータを取得することができます。

ブロックのデータが欲しい場合は

/data get block データを取得したいブロックのある座標

といった感じで実行すればOKです。

mergeを使う

mergeを使うことで、指定したエンティティやブロックに対してデータを付与することができます。
ただし、正しくないデータを付与しても何も起きないので、対象となっているものが持っているデータを正しく入力することで適用させるといった感じですね。

額縁に対して、{Invisible:1b}というデータを付与すると、額縁だけが透明になります。
(飾っているアイテムは透明にならない)

/data merge entity 額縁のUUID {Invisible:1b}

UUIDはカーソルを該当のエンティティに合わせることで表示される長い英数字の文字列です。
過去に解説しているので、詳しく知りたいという方はぜひどうぞ。

{Invisible:1b}のような付与するデータの書き方としては、getでデータを取得したデータの書かれ方を真似すればOKです。
オンかオフのような2択の項目は、上記のコマンドのように1bか0bで示されます。
その他詳しく数字で指定されているものは、好きな値に変更すればOKです。

modifyを使う

modifyはデータの編集ができるということで、今まで説明した項目よりも難しめです。
ただ、このmodifyができるとdataコマンドは制覇できるといっても過言ではありません。

今回は1番良く使うsetの使い方だけ解説します。
それ以外は正直筆者は使うことがないので、割愛します。

例として挙げるのは、チェストの中身をstorageに保存。
さらに、その保存したデータをチェストに適用させる2つのコマンドです。

/data modify storage chest 001 set from block チェストのある座標 Items

上記のコマンドを実行することで、チェストの中身をstorageに保存します。

保存する場所は、chestの001という場所。
この場所は自分の好きに作ることができるので、分かりやすいように名前を付けておきましょう。

分かりやすいように言語化すると以下のようになります。

/data modify storage 仕舞う場所 仕舞う場所詳細 set from block チェストのある座標 Items

前半に仕舞う場所の指示を指定して、set from以降で何の情報かを指示しています。

文末にあるItemsがチェストの中身を司っている情報の項目なので、どこのスロットに何のアイテムが幾つ入っているのかを把握してくれています。
その情報をstorageに保存したというわけですね。

保存することができたので、次はその保存したデータを適用させます。
といっても、先ほどのコマンドと大体似ています。

まずは以下のコマンドで、中身を変更(データを適用)させてしまいましょう。

/data modify block チェストのある座標 Items set from storage minecraft:chest 001

チェストのある座標には、データを適用させたいチェストの座標を指示します。
先ほどは中身を保存したいチェストの座標だったので、混同しないよう気をつけましょう。

minecraft:chestは先ほどのコマンドでchestと入力したものと同じです。
コマンドが候補としてminecraft:が付いたものを表示させているので、それを利用すればOKです。

言語化すると以下の通り。

/data modify block チェストのある座標 Items set from storage データが仕舞われている場所 仕舞われている場所詳細

先ほどのコマンドと似ていますが、まず前半部分でチェストのItemsを編集することを指示しています。
そして、set from以降で先ほどデータを仕舞った場所を指示することで、そのデータを適用させています。

要するに、初めのコマンドでチェストの中身をstorageに適用させて、2つ目のコマンドではstorageからチェストに適用させていることになります。

いくつものチェストの中身をchestに保存して、それぞれを002、003、004といった風に保存しておけば、2つ目のコマンドの001の部分を変更することで、簡単に別のチェストの中身のデータを適用させることができますよ。

removeを使う

removeはデータを削除するだけです。
なので、コマンドとしてもシンプルになります。

/data remove storage minecraft:chest 001

上記のコマンドを実行すると、先ほどmodifyで保存していたchestの001のデータを削除します。
なので、chestの001を適用させようとしても、そのデータは存在しないと表示されます。

あまり使う機会はないですが、簡単なのでサクッと覚えてしまいましょう。
ブロックやエンティティのデータを削除したい場合には、storage部分をblockやentityに変更して正しい対象を選択すればOKです。

難解な部分もあるが、少しずつ覚えるべき

ここまでdataコマンドの説明や使い方を解説してきましたが、dataコマンドの有能さを理解していただけたでしょうか。

おそらく1度読んだだけでは、そのすべてを理解できないかと思います。
実際、筆者もmodifyに関しては理解するまでに時間がかかりました。

ただし、先ほども紹介したようにデータの保存や適用などといった複雑なことがコマンドで行えるようになります。
なので、覚えておけば確実に役に立ちます。

もちろんgetとmergeだけでも防具立てや額縁などの見た目を変えることができるので、modifyが難しいという人でも、それなりに使うことができるコマンドです。

なので、少しずつ覚えていくと良いですね。

まとめ

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

今回使ったコマンドはこちら。

今回使ったコマンド
  • 最も近くにいるプレイヤーのデータを取得するコマンド
/data get entity @p
  • 額縁を見えなくするコマンド
    (額縁にあるInvisibleのデータを1bに変更するコマンド)
/data merge entity 額縁のUUID {Invisible:1b}
  • チェストの中身のデータをstorageに保存するコマンド
/data modify storage 仕舞う場所 仕舞う場所詳細 set from block チェストのある座標 Items
  • 保存されているチェストの中身のデータ(storage)を、チェストに適用するコマンド
/data modify block チェストのある座標 Items set from storage データが仕舞われている場所 仕舞われている場所詳細
ポイント
  • dataコマンドはデータを操作するコマンドです。
  • storage以外は比較的簡単なので、そこから学び始めるのがおすすめ。

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

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