この記事はマイクラBEエディションのコマンド解説の記事です。
外部のサイトで配布マップを作っているコマンド中級者です。
今回は/giveや/replaceitemのコンポーネントの書き方を解説していきます。
コンポーネントとは?
コンポーネントを使うことで何ができるのでしょうか?
正解は…
コンポーネントを使うことでアイテムに特性をつけることができます。例えば死んでもなくならないアイテム、ドロップ禁止アイテム、移動できないアイテム、設置可能なブロックが決まっているアイテムや破壊可能なブロックが決まっているアイテムなどです。
よく配布マップなどで見る、アイテムの名前の下についている「破壊可能:〇〇」などが実現できるのです!
書き方
それでは書き方です。
/giveや/replaceitemのコンポーネントは{ }(中カッコ)と" "(ダブルクォーテーションマーク)で挟んで表記します。
/giveや/replaceitem(以下は略します)コンポーネントには4つのモードがあります。
コンポーネントは繋げられる!
なお、コンポーネントはつなげることができ、つなげるときの構文は以下のものです。
{"<コンポーネント 1>":{},"<コンポーネント 2>":{}}
can_place_on
can_place_onでは、設置可能なブロックを指定することができます。
サバイバルモードでは設定しても反映されないので使うときはアドベンチャーモードで使うことに注意しましょう。
それでは構文です。
{"can_place_on":{"blocks":["<ブロックID>"]}}
<ブロックID>に入力したブロックのみに設置できるようにオプションを追加します。
blocks:の後の[ ]や" "などに注意して書きましょう。
なお、ブロックを二つ以上指定するときは、,(カンマ)を使うのでこうなります。
{"can_place_on":{"blocks":["<ブロックID 1>","<ブロックID 2>"]}}
can_place_onはitem_lock、keep_on_deathなどとつなげることができます。
can_destroy
これは破壊可能なブロックを指定することができます。
先ほど同様、サバイバルモードでは設定しても反映されないので使うときはアドベンチャーモードで使うことに注意しましょう。
構文です。
{"can_destroy":{"blocks":["<ブロックID>"]}}
先ほど同様、複数のブロックを指定できるので、構文はこうなります。
{"can_destroy":{"blocks":["<ブロックID 1>","<ブロックID 2>"]}}
なお、can_destroyはitem_lock、keep_on_deathとつなげられます。
keep_on_death
これは死んでもインベントリに残る特性をアイテムに付与できます。
構文は以下のとおりです。
{"keep_on_death":{}}
先程まで使用していた:{}の中の部分も、必要がなくなりました。比較的すっきりしましたね。
Keep_on_deathはitem_lock、can_place_on、can_destroyとつなげられます。
item_lock
これはアイテムをインベントリ内で「ドロップ、削除、クラフト」を制限したり、「ドロップ、クラフト、削除、インベントリ内での移動」を制限したりできます。モードが二つあり、前者(ドロップ、消去、クラフトの制限)は"lock_in_inventory"、後者(ドロップ、クラフト、削除、インベントリ内での移動の制限)は"lock_in_slot"です。
それでは構文です。
lock_in_inventory
{"item_lock":{"mode":"lock_in_iventory"}}
lock_in_slot
{"item_lock":{"mode":"lock_in_slot"}}
item_lockは、keep_on_death、can_place_on、can_destroyとつなげられます。
ちなみにlock_in_inventoryのアイテムには左上に黄色い三角が、lock_in_slotのアイテムには左上に赤色の三角が現れます。
便利なitem_lockのようですが、使い方には気を付けましょう。特にlock_in_slotは、アイテムを増殖しすぎるとインベントリの圧迫になってしまいます。使い方には十分気を付けて使用してください。
アイテム欄を圧迫してしまった時の対処法
いくつか紹介します。
一つ目
チャット欄に/clearと打つ(すべてのアイテムが消えます)
二つ目
/replaceitemコマンドで強制的に置き換える
構文↓
消したいアイテムを持ち、
/replaceitem entity @s slot.weapon.mainhand 1 air
私の知る範囲ではこれだけです。なので、使い方には注意してください。
まとめ
コンポーネントを使うことで建築の幅が大きく広がり、脱出マップなどで使うことが出来ます。
それでは次回もお楽しみに〜