統合版 羊毛ブロックのデータの変化がもたらすもの
1.19.70アップデートで羊毛ブロックに識別子がつき、各色を名前で指定できるようになりました。ということで、今回はgiveコマンドにおける羊毛ブロックのこれまで指定と羊毛ブロックに識別子が付いたことでもたらすものの2点にしぼってお話したいと思います。
giveコマンドにおける羊毛ブロックのこれまで指定
アプデ前は羊毛ブロックの各色に識別子がなく、give コマンドで出したい色の羊毛ブロックを出すときは次のような構文でした。
/give @s wool [amount(個数)][data(データ値)][components:json]
出したい羊毛の色はデータ値である数字で指定していました。まだ記憶に新しいので覚えている方も多いことと思います。
以下の表はアプデ前の識別子が無かった時の羊毛のデータです。Identifierの部分が識別子です。ご覧のとおり、woolとしか書かれていません。
ところが、1.19.70アップデートで、羊毛ブロック各色に識別子が付き、以下のようにgiveコマンドで個別の名称で羊毛ブロックを出せるようになりました。
/give @s white_wool(※) [amount][data][components:json]
(※)…白い羊毛ブロックならばwhite_wool、オレンジ色の羊毛ブロックならばorange_woolというようになります。
あ、そうそう、ちなみに1.19.70でブロックのデータ値が非サポートとなりましたが、それは、/clone、/execute、/fill、/setblock、および /testforblockを対象にしたもので、giveコマンドにおける[data]は、識別子が無いブロックについて、引き続き、現バージョンでも利用可能です。これ、けっこう紛らわしいので注意です。
コマンド /clone、/execute、/fill、/setblock、および /testforblock のフィールド「データ」のサポートがバージョン 1.19.70 以降で削除されました。/setblock ~ ~ ~ minecraft:wool 1 は、同等の /setblock ~ ~ ~ minecraft:wool ["color":"orange"] のみをサポートします
では上の表の比較として、アプデ後の識別子が付いた表を見てください。
表の項目にも変化がありますが、色ごとに識別子が付いているのがお分かりいただけるかと思います。
つまり、アプデ前は羊毛ブロックの色を対応の数字で指定していましたが、アプデ後は個別名称で指定できるようになった、ということになります。
識別子は何をもたらすか
1 オートコンプリートで出したい色の羊毛の単語が分かる
これはどういうことかというと、/give @s woolと入力すると、画面左側にwool各色の英単語がズラッとオートコンプリートで表示されます。
オートコンプリートというのは、の文字列を予測して候補として表示するもので、入力を手助けしてくれるものです。
プレイヤーは表示された候補の中から選べばいいわけです。
ただ、最初の1文字が羊毛アイコンに隠れて見えないので、色の英単語を知らないと大変かもしれません。(windowsではこのように見切れてしまいますが、端末によって見え方が違うかもしれないです)
2 /giveコマンドでアイテムコンポーネントcan_destroy,can_place_onで色が指定できる
giveコマンドの用法として、can_destroy,can_place_onをセットとして使う方法があります。
例えば、以下のコマンドはオレンジの羊毛ブロックだけ壊せる鉄のピッケル1つを最寄りのプレイヤーに与えるというものです。
/give @p iron_pickaxe 1 0 {"can_destroy":{"blocks":["orange_wool"]}}
識別子が無かった時は以下のコマンドで、色の指定ができなかったと記憶してます。
/give @p iron_pickaxe 1 0 {"can_destroy":{"blocks":["wool"]}}
このように識別子が付いたことで色の指定ができるようになったことはアドベンチャーマップを作る上で、作りこみ要素の幅が広がったように思います。
これは大きなメリットです。羊毛ブロック以外に早く導入してほしいものです。ただし、統合版には識別子が無いブロックがまだ多く存在します。
昨今、Java版と統合版のパリティ作業が進んでいるため、今後のアップデートで識別子が割り当てられるブロックが出てくることが予想されます。
今回は以上です。
最後までありがとうございました。それではまた~