MC CommanderMinecraft非公式コマンド支援

dataコマンドの使い方:Mobやブロックのデータを見る・書き換える

/data を使うと、すでにいるMobやチェストの中身などのデータを、あとから確認したり書き換えたりできます。召喚し直さずに「動かないようにする」「名前を変える」といった調整ができる、Java版のコマンドです。

dataNBTJava版

summonコマンド生成ツールを開く

更新日:

データを見る(data get)

やりたいこと書き方
自分の座標を見る/data get entity @s Pos
近くのゾンビの体力を見る/data get entity @e[type=minecraft:zombie,limit=1,sort=nearest] Health
手に持っているアイテムを見る/data get entity @s SelectedItem
チェストの中身を見る/data get block 100 64 100 Items

最後の名前(Pos や Health)を省くと、すべてのデータが表示されます。とても長くなるので、見たい項目を指定するのがおすすめです。

データを書き換える(data merge)

/data merge entity @e[type=minecraft:villager,limit=1,sort=nearest] {NoAI:1b,Invulnerable:1b}

近くの村人を「動かない・ダメージを受けない」状態にします。{ } の中に書いた項目だけが上書きされ、ほかのデータはそのまま残ります。よく使う項目は次のとおりです。

項目意味
NoAI:1b動かない・攻撃しない
Invulnerable:1bダメージを受けない
Silent:1b鳴き声を出さない
PersistenceRequired:1b離れても消えない
Glowing:1b壁越しに光って見える

元に戻すときは 1b を 0b にして、もう一度 merge します。

値をコピーする(data modify)

/data modify entity @e[type=minecraft:armor_stand,limit=1,sort=nearest] HandItems[0] set from entity @s SelectedItem

自分が手に持っているアイテムを、近くの防具立ての手にコピーします(1.21.4以前の書き方。1.21.5以降は防具立ての装備が equipment にまとめられたため、equipment.mainhand と書きます)。set value … で値を直接入れることもできます。

値をスコアボードに入れる

/scoreboard objectives add hp dummy
/execute store result score @s hp run data get entity @s Health 1

execute store を使うと、data get で読んだ数字をスコアに保存できます。サイドバーに表示したり、execute if score で比べたりできます。最後の数字は倍率です。体力は17.5のような小数なので、1 の代わりに 10 にすると小数第1位まで残せます(175になります)。

データを消す(data remove)

/data remove entity @e[type=minecraft:villager,limit=1,sort=nearest] CustomName

いちばん近い村人の名前を消します。merge や modify で設定できる項目は、remove で消せます。

ストレージに値を保存する

/data modify storage mypack:temp round set value 1
/data get storage mypack:temp round

ストレージは、エンティティにもブロックにも属さないデータの置き場所です。ワールドと一緒に保存されるので、データパックの設定やカウンターに便利です。コロンの前は自分で決める名前です。

プレイヤーのデータは書き換えられない

/data get はプレイヤーにも使えますが、merge や modify でプレイヤーのデータを変えることはできません。プレイヤーの体力や持ち物を変えるときは、attribute、item、effect などの専用のコマンドを使います。

うまくいかないときの確認ポイント

よくある質問

summonで付けるNBTと同じですか?

同じ名前の項目を使います。summonで付け忘れた設定を、あとからdata mergeで付け足せます。

数字の後ろの b や s は何ですか?

値の種類を表す記号です。b は小さい整数(真偽値によく使う)、s は short、f は小数(float)です。項目ごとに決まった種類で書きます。

data getの結果をスコアに入れられますか?

/execute store result score @s 名前 run data get entity @s Pos[1] のように書くと、Y座標をスコアに入れられます。

関連ページ

summonコマンドの基本

最初からNBTを付けて召喚する方法です。

NBTとコンポーネントの違い

アイテムの書き方の変化です。

防具立てのコマンド

data modifyでよく使う相手です。

コマンド辞典

基本構文とコマンド別の使い方を確認できます。