こんにちは、akitoakkyです。
今回は、giveコマンドについて解説していきます。
giveコマンドとは?
giveコマンドはアイテムを入手できるコマンドです。
成功すると指定したアイテムを拾ったかのような扱いでアイテムが付与されます。つまり、空いているホットバーの左端から順に、ホットバーが埋まったらプレイヤーインベントリの左上から順にアイテムが入ります。
また、コマンド自体はプレイヤーインベントリがいっぱいでも成功しますが、その状態ではプレイヤーがアイテムを入手できません。
giveコマンドの書き方
giveコマンドの構文は、このようになります。
give <ターゲットセレクター> <アイテムID> [個数] [データー値] [コンポーネントjson]
必須構文
give <ターゲットセレクター> <アイテムID>
↓アイテムIDが載っているサイト
実行例
上記のコマンドを実行するリンゴが一つ手に入ります。
コンポーネントを使う
コンポーネントを使うことで細かい条件を指定することが可能です。
1.can_place_on
そのブロックを特定のブロックに向かってのみ設置できるようにします。ただし、アドベンチャーモードのプレイヤーにのみ有効です。
サバイバルやクリエイティブモードで使っても通常と変化がありません。
また、このコンポーネントは item_lock、keep_on_death と共存できます。
{"can_place_on":{"blocks":["<ブロックID>"]}}
2.can_destroy
そのアイテムを特定のブロックのみ破壊できるようにします。ただし、アドベンチャーモードのプレイヤーにのみ有効です。
そのため、ブロックを適正破壊できるシャベルやツルハシ、オノ等のみに有効なコンポーネントとなります。
サバイバルやクリエイティブモードで使っても通常と変化がありません。
また、このコンポーネントは item_lock、keep_on_death と共存できます。
{"can_destroy":{"blocks":["<ブロックID>"]}}
3. keep_on_death
そのアイテムを死んでもドロップせず、インベントリに残るようにします。
また、このコンポーネントは item_lock、can_place_on、can_destroyと共存できます。
構文は以下の通りです。
{"keep_on_death":}
4. item_lock
そのアイテムをドロップ・削除・クラフトへの使用を不可にします。
また、このコンポーネントは keep_on_death、can_place_on、can_destroy と共存できます。
構文は以下の通りです。
{"item_lock":{"mode":"lock_in_inventory"}}
また、lock_in_slot にするとこれらに加えてさらにアイテムのインベントリ内移動も出来なくします。
構文は以下の通りです。
{"item_lock":{"mode":"lock_in_slot"}}
コンポーネントを共存する
コンポーネントを共存する場合の構文は次のようになります。(例として can_place_on と keep_on_death を共存させている)。
{"can_place_on":{"blocks":["bedrock","stone"]},"keep_on_death":{}}
実行例
例1)
コマンド:/give @p crafting_table 1 0 {"can_place_on":{"blocks":["bedrock"]}}
実行結果:基準座標から1番近いプレイヤーに、岩盤(bedrock)にのみ設置可能な作業台を1つ付与する。
例2)
コマンド:/replaceitem entity @a slot.hotbar 4 iron_pickaxe 1 0 {"can_destroy":{"blocks":["stone","iron_ore"]}}
実行結果:全てのプレイヤーのホットバーの4番スロット(中央のスロット)を、石(stone)と鉄鉱石のみ破壊可能な鉄のツルハシに置換する。
例3)
コマンド:/give @p bow 1 0 {"keep_on_death":{}}
実行結果:基準座標から1番近いプレイヤーに、死亡時にドロップしない弓を1つ付与する。
例4)
コマンド:/give @p planks 4 0 {"item_lock":{"mode":"lock_in_inventory"}}
実行結果:基準座標から1番近いプレイヤーに、ドロップ・削除・クラフトへの使用ができない樫の木材を4つ付与する。
例5)
コマンド:/give @p iron_pickaxe 1 0 {"can_destroy":{"blocks":["stone","iron_ore"]},"keep_on_death":{}}
実行結果:基準座標から1番近いプレイヤーに、死亡時にドロップせず、石と鉄鉱石(iron_ore)のみ破壊可能な鉄のツルハシを1つ付与する。
最後に
今回はgiveコマンドについて解説しました。
giveコマンドは使用頻度がかなり多いので覚えておいてください。