更新日:
アドベンチャーモードでできること
/gamemode adventure @a
アドベンチャーモードでは、ふつうはブロックを壊すことも置くこともできません。ボタン、レバー、ドア、チェストなどを使うことはできます。壊したり置いたりさせたいときだけ、許可を付けたアイテムを渡します。
決めたブロックだけ壊せる道具(Java版)
| 版 | 石だけ壊せるツルハシ |
|---|---|
| 1.20.5以降 | /give @p minecraft:diamond_pickaxe[can_break= |
| 1.13〜1.20.4 | /give @p minecraft:diamond_pickaxe{CanDestroy: |
いくつかのブロックを許可するときは blocks:[ のように並べます。blocks:"#minecraft:logs" のように # を付けると、すべての原木のような仲間をまとめて指定できます。
決めた場所にだけ置けるブロック(Java版)
| 版 | 金ブロックの上にだけ置けるたいまつ |
|---|---|
| 1.20.5以降 | /give @p minecraft:torch[can_place_on= |
| 1.13〜1.20.4 | /give @p minecraft:torch{CanPlaceOn: |
指定するのは「置く先のブロック」です。置くアイテムそのものではない点に注意します。
説明文を隠す
許可したブロックは、アイテムの説明に「破壊可能:」のように表示されます。隠したいときは、1.21.5以降は tooltip_display={hidden_components:["can_break"]} を同じ [ ] の中に足します。1.20.4以前は HideFlags:8(CanDestroy)や HideFlags:16(CanPlaceOn)で隠します。
統合版の書き方
/give @p diamond_pickaxe 1 0 {"minecraft:can_destroy":{"blocks":["stone"]}}
/give @p torch 16 0 {"minecraft:can_place_on":{"blocks":["gold_block"]}}
統合版は、個数とデータ値のあとにJSONの形で書きます。名前は can_destroy です。同じ書き方で、なくならないアイテムにする "minecraft:keep_on_death":{} や、インベントリから動かせなくする "minecraft:item_lock":{"mode":"lock_in_inventory"} も付けられます。
使いみちの例
- 宝探し:特定の鉱石だけ掘れるツルハシを配り、隠した宝を掘り出させる。
- 陣取り:自分の色の羊毛を、決めた床の上にだけ置けるようにする。
- 脱出ゲーム:1か所だけ壊せる壁を作り、そのためのツールを宝箱に入れておく。
開始から終了までの組み立て方はミニゲームの作り方で説明しています。
うまくいかないときの確認ポイント
- 壊せない:サバイバルではなくアドベンチャーで試していますか? IDのつづりと、版に合った書き方(
[ ]か{ })を確認します。 - 置けない:can_place_on に書くのは置く先のブロックです。
- 1.20.4以前の例が動かない:1.20.5以降は
CanDestroyが使えません。NBTとコンポーネントの違いも確認します。 - スポーン地点の近くで壊せない:サーバーのスポーン保護(spawn-protection)の範囲では、OPでないと壊せません。
よくある質問
サバイバルモードでも効果はありますか?
ありません。サバイバルやクリエイティブでは、ふつうにどのブロックでも壊したり置いたりできます。アドベンチャーモードのときだけ効きます。
壊す速さは変わりますか?
変わりません。道具とブロックの組み合わせで決まるふつうの速さです。
ブロックを置けるようにすると、そのブロックは壊せますか?
壊すには別に can_break(統合版は can_destroy)が必要です。