コマンドブロックは、多くの点でアドベンチャーモード、 SMP 自動化、およびカスタムマップをサポートするための手段です。詳細については、コマンドブロックを参照してください。いくつかのコマンドで x、 y、 z の値が分からない場合は、最初に座標を見ることをお勧めします。
一般的な使用法[]
コマンドブロックは難易度や天気の変更、カスタマイズされたアイテムを渡すなど、様々なことができる。これらは通常、チートモードを使わないとできないため、/weather
や/time set xx
コマンドを使うときには特に便利である。/time set xx
コマンドは、ボタンを押すだけで現在の時間を変更することができるので便利である。
また、チャットメニューにテキストを表示させることもできる。これを行うには、tell @p <message>
やtell <username> <message>
を使えばよい。@p
は最寄りのユーザーを指定するターゲットセレクターである。<username>に特定のユーザー名を入れた場合、その人に向けてメッセージが送られる。また、、/tell <自分のユーザー名> @p
と入力すれば、誰かがそこを通るときに「~にささやきました: xxx」と表示される。
難易度の変更は /difficulty <難易度>
で行う。<難易度>には peaceful
、easy
、normal
、hard
のどれかを入れる。
もう一つの使い方としては、/tp @p <座標>または<プレイヤー名>
で、テレポートをすることができる。座標を入れれば、その座標に、プレイヤー名を入れればそのプレイヤーのもとにテレポートする。座標は~を用いた相対座標でもよい。
いずれかのプレイヤーへアイテムを付与させた後、そのことを全員に伝える[]
ランダムなプレイヤーにクッキーを5つ与え、全員に伝える仕掛け。
"cookie"というオブジェクトを作成する
/scoreboard objectives add cookie dummy cookie
↑最初のコマンドブロック
/scoreboard players set @r cookie 1
↑二番目と三番目のコマンドブロック(同時)
/say @a[score_cookie_min=1] has been given 5 cookies.
/give @a[score_cookie_min=1] minecraft:cookie 5
↑四番目のコマンドブロック
/scoreboard players set @a[score_cookie_min=1] cookie 0
"I" = 入力
プレイヤーのテレポート[]
/tp
コマンドを使用するとテレポートすることができる。ここでyはエレベーターの上下の入り口の間の距離のような垂直差である。エレベーターは、数字の前の~をなくすと、プレイヤーを任意のx,y,z座標にテレポートする事もできる。コマンドに~がある場合、通常x,y,zは、感圧板の上に立ったり、コマンドブロックが信号を受け取った際にある場所など、コマンドが行われた場所を0,0,0として計算される。感圧板のx,y,z座標が-36 96 -12にあり、コマンドが/tp @p ~3 ~4 ~5
と実行された場合、プレイヤーは-33 100 -7の座標にテレポートする。/tp @p -34 100 -8
のコマンドを使用しても同じ結果を得られる。正しい座標にテレポートするには、x軸とz軸からそれぞれ1ブロック分引く必要がある。
セキュリティゲート[]
コマンドブロックを使用してセキュリティシステムを作成することもできる。家の入口の鉄のドアの前にコマンドブロックを置いて/tp @p[r=<範囲>,name=!<名前>] <x> <y> <z>
と入力し、その上に感圧板を置く。Mobの場合は、シンプルなフェンスや溶岩の堀で十分である。
動く歩道[]
エレベーターと同様の概念だが、プレイヤーをx座標やz座標に沿って移動するために作成する。制作方法:
- 自分の座標で/fillコマンドを実行する。(/fill x y z x2 y2 z2)
- 上記の括弧内の次の敷き詰めるブロックの位置にこれを入力:
command_block 1 replace {Command:/tp @p ~-1 ~ ~}
- 括弧内の座標を編集すると、移動する方向を変更できる。
- 全てのコマンドブロックの上に感圧板を置く。
- 踏む
コマンドブロックの出力をオフにすることができる。チャットが顔で爆発する。
時間経過の停止[]
注: 13w24aの時点では、ゲームルールdoDaylightCycleがあり、チャットで/gamerule doDaylightCycle false
、/time set 6000
と入力することでずっと昼間にすることができる。
クモの巣とトロッコを使用すると、/time set 0
を使用して夜をスキップできる。トロッコがクモの巣を抜けるのには31秒かかるため、23個積み重なれたクモの巣をディテクターレールとパワードレールでつなぐことで、日が沈まないように出来る
または、木の感圧板でアイテムのデスポーンする性質を使用できる。アイテムは5分ごとに感圧板にドロップされ、この時点でコマンドブロックの時間を0にリセットし、ディスペンサー(またはドロッパー)をオンにして新しいアイテムを木の感圧板にドロップする。5分は日周期であり、Mobが出現する前に起動される。ただし、この方法は、そのチャンクがロードされた64(個)×9(スロット)=576(周期)=現実時間で48時間のゲームプレイに制限される。スナップショット13w01a以降では、ホッパーがアイテムに追加され、アイテムを拾い、インベントリにあるブロックに入れることができる。Mobトラップにより、火薬、矢、ゾンビ肉でディスペンサーをいっぱいに保てる。また、コマンドブロックを使用して単純に空中からアイテムを作成することもできる(例:/summon Item ~1 ~0 ~1 {Item:brown_mushroom}
)。これの利点は、ディスペンサーを使用する場合のような64×9の制限が無いことである。
これらの方法は両方とも、システムが機能するためにチャンクを読み込む必要がある。
もしくは、コマンドブロックを5クロック、ある種のループ、または右側にあるような日照センサーなどの繰り返しのレッドストーンパルスに接続することもできる。チャットボックスがいっぱいになるのを防ぐには、コマンド/gamerule commandBlockOutput false
を実行してゲームルールcommandblockoutputをfalseに設定する。注:この方法は、異なるコマンドを使用して様々な設定を行うのに使用できる。(つまり、ずっと昼間にするには、ループに別のコマンドブロックを追加し、/weather clear
を使用する必要がある)
また、切り替え可能にするには、これらの方法のいずれかを使用するが、コマンドブロックの前にANDゲートを設置し、一方をレバー、他方を回路につなぐ。
日照センサーを使用すると直接的にずっと昼間にできる
ファイル:Automatic Time Resster view 1.png ファイル:Automatic Time Reseter view 2.png
センサーによりレッドストーントーチがオフになり、コマンドブロックが有効になる。そして、センサーがレッドストーントーチまでの距離で電力を供給できる光がない場合、時間が8000に設定された。つまり、コマンドブロックは十分に暗い時に時刻を正午に設定する。コマンドがオンになる際の明るさレベルは、レッドストーンワイヤの距離によって調節できる。設定する時間は、コマンドブロックに入力する時間によって調節できる。
ファイル:Automatic Time Reseter view 3.png
作るには、まず、開けた場所に日照センサーを設置する。次に、レッドストーンワイヤーを底から設置していく。レッドストーンワイヤの距離は貴重な時間の必要性によって調節する。信号を目的地に送信するため、日照センサーから最大15ブロックレッドストーンワイヤーで離すことができる。次に、レッドストーンのもう一方の端にブロックを置く。レッドストーントーチをブロックの側面に付け、その上にコマンドブロックを置く。コマンドブロックを右クリックして/time setの後に有効な時間値を入力し終了をクリックする。値は、時間を設定する時間によって異なる。夜は14000で、正午は8000である。
ファイル:Automatic Time Reseter.png
マップでこのデザインを使用すると、特定の時間帯に維持できる。この単純な仕掛けは、クリエイティブモードまたはチートを有効にしている場合にのみ使用できる。
また、代わりのよりコンパクトなデザインもある。日照センサーと反対側のコンパレーターと15強度のレッドストーンワイヤ(トーチ付きのレッドストーン1つ)を2番目の入力に設置する。次に、コンパレーターを減算モードに設定すると、コンパレーターは正午にオンになる。
レッドストーン信号の無線化[]
無線レッドストーンは、コマンドブロックとスコアボードシステムを使用すると実現できる。この方法では、クロック回路の出力に接続されたコマンドブロックによって検索されるスコアボード変数を使用する。その後、無線出力コマンドブロックでコンパレーターが使用され変数がtrueであることが検出された時のみオンになる。
無線レッドストーンで変数の代わりにオブジェクトを使用することもできる。出力コマンドブロックが存在しないオブジェクトを施行・削除するように設定されている場合、コマンドブロックまたはチャットコマンドでオブジェクトを追加することにより、レッドストーン信号を作成できる。変数方式に比べた利点は、プレイヤーに依らないことである。
これを行うには、入力に設置したコマンドブロックには/scoreboard objectives add <オブジェクト名> dummy
と、出力に設置したコマンドブロックには/scoreboard objectives remove <オブジェクト名>
と入力し、クロック回路に接続し、コンパレーターを置き、コマンドブロックからリピーターを設置する。そして、リピーターを出力として使用する。
- Wireless Redstone 01.png
オフ状態
- Wireless Redstone 02.png
オン状態
- Wireless Redstone 03.png
オン状態のコマンド
- Wireless Redstone 04.png
オフ状態のコマンド
- Signal catcher.png
無線出力のセットアップ
- Wireless Redstone 06.png
無線出力コマンド
- Sigurd4-Wireless Redstone.png
"/summon"コマンドを使用して無線レッドストーンを行う別の方法。ここで使用するコマンドは
/summon FallingSand -118 150 -60.5 {TileID:76,Time:1,DropItem:0}
また、スコアボードシステムではなく/setblock
コマンドを使用して無線レッドストーンを実現することもできる。コマンドブロックでredstone_blockを目的の座標に設置するよう設定する必要がある。また、反転した信号に接続されたコマンドブロックから同じ座標にairブロックを設置するよう(または信号を出力しないように)設定する。
ボタンの遠隔操作[]
技術的には任意のブロックでこれを行うことができるが、ボタン、レバーなど交換可能なブロックは面白い効果を発揮する。サーバーの神秘性によらず、驚くほど簡単である。1.8コマンドtestforblock
を使用する。コマンドブロック、コマンドをレッドストーン信号に変換するコンパレーター、テスト対象のブロック、コマンドブロックを繰り返し起動させるブロックが必要である。ボタンの場合の例:/testforblock 123 12 123 stone_button 10
。テストする特定のブロックの座標と名前、この場合は123 12 123
にある石のボタンを使用する。これはデータ値が変えられるブロックならどのブロックでも交換可能。座標の後の数字10
は、コマンドブロックでテストするボタンのデータ値に対応している。この場合、西向きのボタンが押されるとコマンドブロックが起動するように10
が設定してある。
注:この値は、ボタン・レバーが向いている方向によって変わる。押されていない西向きのボタンの初期値は2
である。ボタンが押されると、初期状態に8
の値が追加されるため、押された西向きのボタンのデータ値は10
になる。参照:ボタンのデータ値・レバーのデータ値
スターターキット[]
m=を使用すると、サーバー・カスタムマップでキットを作成できる。キットは1回しか取得できない。まず、地面に3つの正方形を掘り下げ、コマンドブロックの列(キット内のアイテムごとに1つ)を設置する。GUIで/give[m=<始めるゲームモードを数値で>] <アイテムID> <量>
と入力する。与えたいアイテムごとにこれを行う。コマンド/gamemode <始めるゲームモードとは違うゲームモード>
と入力した追加のコマンドブロックを作成し、全てのコマンドブロックにレッドストーンを追加する(スニークで設置すると簡単に設置できる)。穴を埋め、感圧板をその上に置く。プレイヤーがその上を歩くと、もく定期のアイテムキットを取得し、ゲームモードが変更され、それが受け取れないようになる(チートが使用されない限り)。(注:この方法は、上記の方法を使用して(キットの最初の名前/scoreboard objectives add <キット名> dummy <キット名>
)スコアボードコマンドのみを使用して行うこともできる!/give @p[score_<キット名>=0] <アイテムID> <量>
をコマンドブロックの列の中に使用すると、アイテムと/scoreboard players add @p <キット名> <0以上の数字>
が提供され、1回だけ使用できる。また、手順を繰り返して別の<キット名>を使用すると、複数のキットを作成できる。).
感圧板の多種多様化[]
感圧板が溶け込む材料が4つしかないことが嫌いではないだろうか(石、オークの木材、金、鉄)。我慢する必要はない。感圧板は、コマンド/testfor
を範囲とクロック回路と共に使用し、コマンドブロックに置き換えることができる。コマンド/testfor @p[r=2]
はプレイヤーが周囲2ブロック内にあるかどうかをテストする(コマンドブロック自体に加えて、全ての方向に2ブロックが追加される)。範囲2は、床下にコマンドブロックを埋めた場合に必要な範囲である。ただし、立方体ではなく球形の範囲が生成されるため、2の範囲は、約5×5×5の範囲、1の範囲は約3×3×3の範囲を生成する(中央の上下に余分なブロックがある+の形のようなもの)。これを回避するには、dx, dy, dz引数を使用する。またはコードでxyz座標を指定する。(例えば/testfor @p[x=50,y=64,z=46,r=1]
は範囲を1ブロック地点に縮小できない。xyzを使わない範囲と同様、中心ブロックを意味する。それに加え、コマンドブロックからは意味のある範囲のブロック数(「ちょうど中央のブロック」はコマンドブロックに立っている必要があるということ)だが、、ここでは意味がない。(上部と下部に余分なブロックがある+の形)は、誰もが球の下部二層を歩いていないことが分かっている場合、上部だけを突き出して地下に埋めることができる。コードでは、コマンドブロック自体をそれが見える床の表面に埋め込む必要がある。
非クリエイティブのシングルプレイでのコマンドブロック使用[]
ゲームモードを切り替えると、クリエイティブモード以外のシングルプレイヤーでコマンドブロックを使用できる。/gamemode 1
コマンドを使用してクリエイティブモードに切り替え、コマンドブロックを任意の値に設定してから、/gamemode 0
を使用して戻す。コマンドブロックはクリエイティブで設定して通常に戻しても機能する。
また、特定の場所へのテレポートに使用することもできる(例:遠い拠点、深い採掘場、浮島など)。その場所に着くのに非常に長い時間がかかり、ちょっとした不正行為を気にしないのであれば、テレポートシステムを設定すればよい。設定中はクリエイティブモードになっている事を確認する(コマンド/gamemode
を使用する。チートを有効にしていない場合は、LANを開いてチートをオンにする)。だが、サバイバルモードでも起動させることはできる。コマンドブロックGUIを開き/tp @p x y z
と入力し、コマンドブロックをレッドストーン(ボタン、レバー、感圧板を含む)でオンにすると、遠くの目的地に送られる。複数の異なるテレポート地点を設定できる。これは、非常に広いエリアで大きなプロジェクトを行う場合や、古い家から新しい家にチェストの中身を移動する場合にも使用できる。
アドベンチャーマップの作成[]
シングルプレイヤーアドベンチャーマップを作成する場合は、/publish
を実行し、他のすべてのコマンド(以下を参照)を使用できるようにする。
マルチプレイ専用装置 (SMP)[]
この節では、マルチプレイヤーでのコマンドブロックの用途について詳しく説明する。
- 簡易移動装置
/tp
を使用すると、サーバー上で公式に使用するテレポート装置を作成できる。さまざまな場面で使用できる。例えば、全てのポータルが中央ハブにリンクし、「高速旅行ハブ」のような他のすべてのポータルの位置へのポータルなど、特に大きな世界でポータルシステムを作成できる。
- "ストップモーション・アニメーション"
/tp
コマンドと、MCEditなどの外部Minecraftワールド編集プログラムを使用すると、ものをコピーし遠くの場所に貼り付けたり、ブロックをいくつか変更できたりする。各地点に感圧版またはトリップワイヤーを配線することにより、少し遅れてものを見た後、コマンドブロックの/tp
を使用してプレイヤーがテレポートされる。これらでコピー・変更された場所の多くが配線され、プレイヤーがそれぞれの間にわずかな遅延を伴って順番にテレポートする場合、ストップモーションアニメーションで使用されるテクニックと同様、プレイヤーの周りの景色が動いているような錯覚を作成できる。
[注:1.8またはそのスナップショットを使用している場合、/clone
を多数の異なるコピーで使用し、形を少しずつ変更してから、エリアを順番に1つの地点に複製することができる。そうすれば、プレイヤーをテレポートしなくてもcloneコマンドによりプレイヤーの近くの様々なアニメーション「フレーム」が順番にコピーされるため、周囲の風景をアニメーション化できる。]
- 宝くじ
/give @r
を使用すると宝くじを作成できる。現在/give
はアイテムをキャラクターの前の地面に投げるのではなく、直接アイテムのインベントリに入れる。
- 宝くじ・改
上記のように宝くじを作成できるが、その宝くじは全員が利用可能である。簡単な編集で変更できる…まず新しいオブジェクトを作成する(例:/scoreboard objectives add Lottery dummy Lottery
)。そしてコマンドブロックで/scoreboard players add <playerName> lottery 1
を使用し、宝くじ1を追加して宝くじにプレイヤーを入力し、/give @r[score_Lottery_min=1]
で宝くじが開始される。そして、自分が選んだプレイヤーのみが宝くじに参加できる。
- 刑務所
クロック回路をコマンドブロックに接続し、/tp
全体を使用して、プレイヤーを特定の場所にとどめさせることができる。これを行う場合、チャット設定でコマンドをオフにするか、/gamerule commandBlockOutput false
を実行した方が良い。"Range"と"Minimum Range"パラメーターを使用すると、一定距離離れている場合にのみプレイヤーをテレポートさせることができる。
または、/effect
コマンドを使用してプレイヤーに特定のステータス効果を高レベルで与えると、刑務所の効果に似せることができる。/effect @p 2 <効果の持続時間> 128
を使用してプレイヤーが動けないようにし、/effect 4 <効果の持続時間> 127
を使用してプレイヤーが物を壊せないようにする。本当に罰を与えたい場合は、プレイヤーに毒を付与する(前の2つのコマンドのいずれかを使用するが、最初の数字を19に置き換える)。
- プレイヤー識別装置
パラメーター[m=1]
を使用すると、クリエイティブのプレイヤーのみがコマンドブロックの影響を受ける。
- ゲームモード変更装置
レッドストーンパルスに接続されたコマンドブロックを設定する場合、tp @a[m=1] ~0 ~1 ~0
と設定すると、おもしろい結果が得られる。これは、クリエイティブモードの人をサバイバルに変えるコマンドであり、見るのもとても楽しい。
- お知らせ装置
コマンドブロックで/me
を使用すると、管理者・所有者がいなくても再生できるお知らせを作成できる。
- 所持アイテムスキャン装置
/clear
を使用すると、アイテムをスキャンすることができる。特定のアイテムを削除する場合は、/clear @a(or <プレイヤー名>) <アイテムID>
を使用する。例えば、荒らしを望まないサーバーでは、コマンドブロックにクロックを接続し/clear @a minecraft:tnt
と設定する。
- 審判装置
/say @p
を使用すると、コマンドブロックが最も近いプレイヤーを報告する。コマンドブロックがゴールラインの後に設置されていると、ゴールしたプレイヤーが順番に表示される。1.7の時点では、/tellraw @p "メッセージ"
を実行することもできる。これをオンにすると、チャット欄に「メッセージ」というメッセージが表示される。
- クリエイティブ限定エリア/プライベートエリア
「クリエイティブ専用」エリアの作成はコマンドブロックで可能だが、複雑であり、場合による。基本的な考え方は、コマンドブロックの影響を受けるエリアの「柵」をつくり、プレイヤーがクリエイティブエリアを通過すると、サバイバルモードまたはアドベンチャーモードに変更されるということである。「ワールドガード」エリアの方がもっとシンプルであり、コマンドブロックに/gamemode 2 @a[x y z r m]
と設定して実行するだけで、プレイヤーが退出する際にボタンを使用してサバイバルに変更できる。
- プラグイン不要での PvP の最適化
/gamerule keepInventory true
を使用すると、プレイヤーが互いのアイテムを盗みあえなくなる。また、/spawnpoint [x y z]
や/tp [x y z]
を使用すると、PvP競技中にプレイヤーを移動させられる。
- スターターキット
プラグイン不要でもボタンによるスターターキットを簡単に作成できる:/give @p[r=2] 274
。プレイヤーがもう一度ボタンを押してキットを入手できないようにするには、2つのコマンドブロックを順番にオンにすることによって解決できる:1. /give @p[r=2 m=2] 274
2. /gamemode 0 @p[r=2]
- メッセージの装飾
1.7で、色付きのクリック可能なメッセージを作成し、誰にでも送信できるようになった。コマンドは/tellraw
。/tell
と混同しないように。基本形式は/tellraw @<セレクタ> {text:"", color:<色>, }
。例としては/tellraw @a {text:"やあ、スティーブ。", color:blue, italic:true, obfuscated:true}
。追加するたびにカンマとスペースを打つだけである。他のプレイヤーがクリックできるようにするにはclickEvent
を使用する。例:/tellraw @p {text:"走れ弱虫!腹減った!", clickEvent:{action:run_command, value:"/give @p minecraft:cooked_porkchop 64"}}
。これは、プレイヤーがテキストをクリックすると調理済みの豚肉が1スタック付与されるコマンドである。コマンドを実行せずに何かを伝えたい場合は、clickEvent
をhoverEvent
に、run_command
をshow_text
に置き換える。次に、値のテキストをバックスラッシュなしで通常の文として入力する。簡単に作業したい場合は次のMCEditを参照:SethBling's McEdit Filter: ColourCommandBlockText
- アラームシステム
プレイヤーが感圧板の上を歩くと、/say @p
を使用したコマンドブロックがオンになる。
- 満員システム
座標とmaximumパラメーターを使用すると、特定のエリア内の全員を別の特定の場所にテレポートできる。
- 報酬部屋
特定のプレイヤーが非常に素晴らしく、定期的、またはサーバーに役立つが、管理者に昇格するための条件を十分に満たしていない場合、コマンドブロックに接続されたボタンがいっぱいある部屋を使用し、有用なプレイヤーにダイヤモンドや岩盤を与えたり、別のコマンドブロックに接続してスポーン地点に送ったりできる。(この部屋は岩盤で補強され、隠されている事が非常に重要であり、虐待を避けるためその座標にテレポートしないと入れない。)
- 天候切り替え装置
(コマンド:/toggledownfall
と/weather thunder
(雷雨を開始または停止する))管理者のみが使用できるようにすると、天候切り替え装置は非常に便利である。雨を自由にオン・オフできる。この手法のより便利な使用の1つは、村人(雨が降ると家の中で走り回る)と何らかの形のレッドストーン回路を組み合わせて使用し、自動で雨を止ませる回路を使用することである。これにより、ほとんど雨が降らず雨をすぐにとめることができる。コマンドを使用するか、管理者が必要である。また、森林火災時や、雷雨でモンスターが発生している時など、晴れよりも雨が降る方が有利な場合も作成・終了させることができる。
- レースの景品
tp @p x y z
やgive @p itemname
を使用すると、障害物コースまたは迷路を作成できる。これにより、終了するとプレイヤーに賞が与えられ、テレポートされスポーン地点またはほかの場所にテレポートされる。
- タイムマシン
1つのマップ上に2つの同じような場所を作ると、ボタンを使用してコマンドブロックを起動させ、時刻を変更しながら、一方から他方にテレポートすることができる。これはタイムトラベルのように見せるのに使用できる。
- 近接採掘装置
/testfor @p[r=5,name=!<プレイヤー>]
などの条件を使用し、コンパレーターで短いクロックと複数のTNTブロックを接続するとコマンドブロックが機能する。設置するプレイヤーを除くすべてのプレイヤーに対して検出不能な近接地雷として使用できる。
- プレイヤー識別ドア
/testfor @p[r=5,name=<所有者>]
などの条件を使用すると、コマンドブロックは特定の半径内のドアの所有者を検出し、その人が近づいたドアのみを開くことができる。
- コマンド
トリガーオブジェクトを使用すると、プレイヤーがサーバー上で使用できるコマンドを作成できる。
ワープコマンドの例:
まず、オブジェクトを追加:/scoreboard objectives add warp trigger
。コマンドscoreboard players enable @a warp
をレッドストーンクロックに接続されたコマンドブロックに設定する。そして、コマンドtp @a[score_warp_min=1] <x> <y> <z> [<y-rot> <x-rot>]
をクロックに接続された別のコマンドブロックに設定する。そのコマンドブロックの反対側にコンパレーターを設置し、コマンドscoreboard players set @a[score_warp_min=1] warp 0
を設定しコマンドブロックを起動する。プレイヤーが/trigger warp set 1
を使用すると、コマンドブロックの<x> <y> <z>
座標にテレポートされる。
カスタムマップ専用装置[]
この節ではカスタムマップでのコマンドブロックの用途について詳しく説明する
Minecraftのコマンドブロックの多くの機能を利用しているマップの1つは、SethBlingのTF2マップ"Dustbowl"である。
http://www.youtube.com/watch?v=_f2brU8hBWc&feature=plcp
もう1つは、HypixelのGladiator Arenaで、戦闘システムはほとんどコマンドブロックのみに基づいている。
http://www.youtube.com/watch?v=jryJkWcqmzM
- コマンドブロックでのコマンド実行によるメッセージの非表示
マップでは、コマンドブロックがあるということを隠すことが重要な場合がある。インベントリに突然表示されるアイテムの魔法を維持したり、プレイヤーがテレポートされたとチャンネルが伝えると、マップのムードが壊れる可能性がある。そのため表示しないようにするには(表示した方が良い場合を除く)、/gamerule commandBlockOutput false
と実行するだけでよい
- PvP 可/不可エリア
感圧版またはトリップワイヤーを使用して、城などの特定の場所のみを別の難易度にすることができる(この場合はピースフルを使用する)。ドアを難易度をピースフルに変更するコマンドブロックに接続されたトリップワイヤーに接続し、一種の「安全な避難所」を作り出すことができる。また、逆の方法で行うこともでき、イージーやノーマルではなく、難易度がハードの場所など、より危険な場所を作成することもできる。
- チート使用の検出
パラメーター[m=1]
を使用すると、クリエイティブの人、またはパラメーター[m=0]
を使用するとサバイバルの人にコマンドを実行することができる。
- 中の方が大きい
これは単純なもので、場所の入り口・出口にテレポートコマンドブロックを設置すると、他の場所に内装を構築し、空間制限をごまかすことができる(使用例:内壁は羊毛、外壁は木にしたい場合(通常は壁に2m必要)。家の外側を8×10m、内側を8×10mにすることができる)。または、家の内側を20×20と大きくすることもできる。
- 進行状況の保存
/spawnpoint
コマンドを使用すると、ボタンで設定されるチェックポイントを簡単に作成できる
- 溶岩パルクール
前に述べたように、プレイヤーが死亡時にインベントリを保持できるようにするコマンドがある:/gamerule keepInventory true
。溶岩の上のパルクールの地点の前にこれを感圧板に接続するだけで、チェストトロッコなどを使用する必要がなくなる(特に、プレイヤーのインベントリがチェスト1つ分に入りきらない場合に便利)。
- まだベッドが欲しいの?
/spawnpoint
コマンドは夜を待ってチェックポイントを作成する必要がないためとても便利だが、BUDスイッチをベッドまたは何かに接続したい場合はどうだろう。ならば、/time set 18000
コマンドでブロックに接続された感圧板(目立たないように)が必要である。プレイヤーが眠れるように夜の時間に設定する。
- 台本に従った時間と天気
寒い夜の嵐でマップが始まり、プレイヤーが開始した際に何らかのランダムな理由で外に明るい太陽があるとしよう。あるいは、明るい日にスタートしたいのに、雨が降るとなったらどうする?心配しないで良い。天気のコマンドがある。/weather input
の後にclear
またはrain
またはthunder
コマンドを入力する。これに加え、/time set input
を入力することもできる:23250
は日ノ出、6000
は正午、12750
は日没、18000
は真夜中。
- ピースフルに切り替えたプレイヤーの検出
注: 1.8では、特定のワールドの難易度をロックできる。
プレイヤーが遠くにいるとスポーンしない敵対Mobを作成する(ピースフルに切り替えると消える)。これを行うには、Mobに名札を使用し(または1.5.2より前のバージョンでプレイしている場合はサードパーティーソフトウェア)、感圧板に乗せる。無限に押されており、ジャンプせず、そこから歩いて離れないことを確認する。感圧板の入力が無くなるとコマンドブロックをオンにするレッドストーン回路を作成する。ブロック内にメッセージを入力し、チャットでプレイヤーにマップが壊れていて再ダウンロードする必要がある事を通知する。このように、ピースフルに切り替えると、Mobが消えてメッセージが表示される。テレポートコマンドブロックを作成し、泥棒がピースフルに切り替わるとすぐに逃げずにマップから小さな部屋に追放されるようにすることもできる。
- トーキングアドベンチャーマップ(簡単なクエストシステムを搭載!)
/say
は、チャットにテキストが表示されるため非常に便利である。ゲームのルールを伝えるのに看板だの長い本だのを必要としないため、コマンドブロック最大の用途の一つかもしれない。リピーターを2ティックまたは3ティックに設定し(プレイヤーがスパム送信されないよう)コマンドブロックを並べておくだけで、本やたくさんの看板を簡単に削除できる。
このコマンドのもう一つの用途は、NPCなどの他のMobと話すことである。肉屋に入り、肉屋が何か言いたいと想像してみよう。以前は、肉屋の部屋に時々ランダムに表示される看板や本を使用する必要があったが、今は/say
コマンドを使用するだけで肉屋に話させることができる。カウンターの後ろの豚が慈悲を請うこともあるかもしれない!別の例も見てみよう:工場にいて、突然アラームが鳴り、爆発するだろうと表示される。特にテキストが長い場合、チャットでそれを使用すると、緊張した雰囲気が保たれる。同じことが時限爆弾でも使用できる。チャットに'10...' '9...' '8...'と表示されると、プレイヤーがマップの雰囲気にさらに引き込まれる。
最後になるが、クエストシステムの作成が簡単になる。プレイヤーが屠殺場に入ったとする。プレイヤーはRS NORラッチに接続された感圧板(二回以上オンにできない)と、肉屋がプレイヤーを助けを求める/say
コマンドがあるコマンドブロックで起動する。ブタを殺さなければならなくなる。プレイヤーは、右の感圧板に建っているブタに到達する。ブタが死亡すると感圧板はオフになるため、プレイヤーが肉屋に戻ると、さらに別のRS NORラッチと2つのコマンドがある2つのコマンドブロックがある別の回路が起動する。まず、肉屋がプレイヤーに感謝する/say
コマンド、次に/give
コマンドが起動し、ぷれいやーが報酬を受け取る。それに加え、肉屋がプレイヤーの名前を言うように@pコマンドを使用することを忘れないように。例えば、コマンドブロックが/say ありがとう、@p。あなたはあの豚を殺すのを大いに助けてくれました。
と設定されている場合、チャットには"[@]: ありがとう、<プレイヤー名>。あなたはあの豚を殺すのを大いに助けてくれました。"と表示される。これにより、マップが格段にかっこよくなり、プレイヤーの名前が示されるようにマップが作成されたようになる!また金床を使用して/sayコマンドブロックの名前を変更すると[@]を[肉屋]に変更することもできる。
- 売店
/give @p[lm=(レベル)] (アイテム) (量)
と/xp -(レベル)L @p[lm=(レベル)]
を使用すると、一定量の経験値をアイテムと交換する売店システムを作成できる。例えば、コマンドブロックに/give @p[lm=5] 2 64
と他のに/xp -5lL @p[lm=5]
と入力した場合、同じレッドストーン電流に接続すると、プレイヤーから経験値が5取られるが、その代わりに64ブロックの草が与えられる。
- コマンド
/xp -3l @p[lm=3]
を使用すると、経験値の減算は通貨として機能する。ここで、l(Lはレベル)が減算される。コマンドが機能するための最小経験値はカッコ内に並べられる。lmは必要な最小レベルの略。
- コマンド
- 村人による売店
自分が望むものを売るカスタム村人をコマンドブロックで作成できる。
例:/summon Villager ~-2 ~0 ~0 {Profession:3,CustomName:BLACKSMITH,CustomNameVisible:0,Offers:{Recipes:[
{maxUses:13,buy:{id:388,Count:5},sell:{id:283,Count:1,tag:{ench:[{id:16,lvl:9},{id:20,lvl:6}],display:{Name:Molten Gold Sword}}}},{maxUses:13,buy:{id:388,Count:1},sell:{id:280,Count:1,tag:{ench:[{id:16,lvl:5}],display:{Name:Whuppin Stick}}}},{maxUses:13,buy:{id:388,Count:2},sell:{id:369,Count:1,tag:{ench:[{id:16,lvl:5},{id:20,lvl:10}],display:{Name:Radioactive Whuppin Stick}}}},]}}
。
「購入」というラベルの部分は、村人が欲しいものであり、「販売」という部分はその代わりに村人がくれるものである。提案を使い果たしたくない場合はmaxUsesを1000に変更し、アイテムを1つだけにしたい場合は1に変更できる。その最初のアイテム(金の剣)には範囲外のエンチャント(ダメージ増加9)がある事に注意。もちろんこれは動作するが、エンチャントが正確に何をするかを常に考えて範囲外のものを作成するのが望ましい。一部のものは何もしないか、マイナスの効果のものもある(水中呼吸の「水中を見る」副作用は、高レベルだと全てが白くなり、まるで泥だらけの北極海に飛び込むような視界になる)。その金の剣については、めちゃくちゃに擦り減ってしまうことを覚えておいてほしい(バターの剣と呼ばれることがある所以)。レベル10の耐久力エンチャントを付けた金の剣の耐久力は適切なレベルに引き上げられるはずである。また、他の2つの「武器」は、実際には棒と防具エンチャントが付いたブレイズロッドである事に注意。武器ではないものを武器として使用すると、何も持っていない手と同じダメージ(♥0.5)が与えられるが、これらのエンチャントによりこれらはエンチャントされていない剣と同等になる。なぜわざわざ?利点とは?武器とは異なり、棒やブレイズロッドには耐久力の概念がなく、摩耗することがないからである!同じようにモブの頭に水中呼吸がエンチャントされることで、耐久力が無限のスキューバマスクを作ることができる。
1.7での特殊な使用法[]
1.7では、コマンドブロックの可能性が拡大した。例えば、 /summon
や /setblock
コマンドが追加され、建造体を自動的に建築し、チェストを埋め、以前は使用できなかったエンティティを生成できるようになった。コマンドの構文:
setblock:/setblock <x> <y> <z> <ブロックID> [データ値] [元のブロックの処理] [データタグ]
summon:/summon <エンティティ名> [x] [y] [z] [データタグ]
それに加え、setblockコマンドは消える床や突然の壁などトラップをつくこともできる。
SETBLOCKの例
* モブスポナー#1:基本
このコードは、ゾンビスポナーをx方向に2ブロック作成する。このコードでモブスポナーに付けられた名前("minecraft:mob_spawner")は長いものであり、"minecraft:"の部分は省略できる。
/setblock ~2 ~0 ~0 minecraft:mob_spawner 0 replace {EntityId:Zombie}
この次のコードも非常に基本的だが、設定可能な6つの基本パラメーターが含まれている。
/setblock ~0 ~-1 ~-3 mob_spawner 0 replace {EntityId:Skeleton,SpawnRange:4,RequiredPlayerRange:16,SpawnCount:4,MaxNearbyEntities:6,MinSpawnDelay:200,MaxSpawnDelay:800}
注意点:
A) 全ての時間はゲームティック(20分の一秒)である。200~800は10~40秒である。
B) 次のものは2つのグループに属し、対応する物がいない場合は機能しない。SpawnRangeにはRequiredPlayerRangeが必要であり(またはその逆)、MinSpawnDelayにはMaxSpawnDelayが必要であり、SpawnCountにはMaxNearbyEntitiesが必要である。(ただし、最後のものは実際に聞いて確認したものではない)
C) 次のスポーンまでの時間を設定する"Delay"と呼ばれるパラメータもある(最初に20ティック、一回おきにMaxSpawnDelayとMinSpawnDelayとの間で選択した任意の乱数)。
D) 与えられた座標は~0 ~-1 ~-3(コマンドブロックの現在位置から負のz方向に3ブロック、1ブロック下)である。これを実行するとおそらく床の表面に埋め込まれる。スポナーの"SpawnRange"設定は、垂直方向ではなく水平方向にのみ適用される。垂直方向には、同じ高さまたは1つ低いか高い位置でのみスポーンするため、床の表面に埋め込むと、利用可能なスポーン領域が⅔に減る(ただし、隠すのには役立つ)。自然発生したスポナーは、高さにより⅔ではなく⅓減っている
E) ここで使用される値はすべてデフォルトである
* モブスポナー#2:カスタムモンスター
ここで、SpawnDataに入る。これは、ダイヤモンドの剣とチェーンヘルメットを付けたゾンビのような、モンスターの非標準亜種が欲しいことをスポナーに伝えるものである。
/setblock ~ ~1 ~ mob_spawner 0 replace {EntityId:Zombie,SpawnData:{Equipment:[{id:276,Count:1},{},{},{},{id:302,Count:1}]}}
座標内の~のあとに数字を入力しない場合、0としてカウントされる。最後の列のこれら6つのパラメーターはいずれも使用されていないため、すべてデフォルトになる。
5つの防具スロットは、手、ブーツ、脚、胸、ヘルメットである。空でないスロット({ },一部)を指定する必要もある。ただし、最後の空でないスロットの後にしなければならない。したがって、5つのスロット全てを指定する必要があるが、単なる武器である場合は、他の4つを省略できる。また、レギンスを使用する場合は、手とブーツスロットを使用する必要があるが、胸とヘルメットのスロットは必要ない。
ちなみに、日光で燃える生き物はヘルメットをかぶっていれば安全だが、その代わりヘルメットの耐久値が減る。
Countタグについて:ほとんどのコードでは省略しても問題ないが、重要である。Countタグのないアイテムは0個であり、コミュニティでは「ゴーストアイテム」として知られている。ゴーストアイテムをプレイヤーが最初に使用すると失敗する。モンスターは問題なくゴーストアイテムを使用できるが(そのため、コードで時々除外され回避される)、アイテムをドロップした場合、それを拾ったプレイヤーは使用できないため、Countを入れよう!
次に、フレイムでエンチャントされた弓、ダメージ軽減2のついたカスタムモブの頭(クモ、インターネット接続が必要、または単にスティーブ)を持ったスケルトンがスケルトンホースに乗っているもの。
/setblock ~2 ~1 ~2 mob_spawner 0 replace {EntityId:Skeleton,SpawnData:{Equipment:[{id:261,Count:1,tag:{ench:[{id:50,lvl:1}]}},{},{},{},{id:397,Count:1,Damage:3,tag:{ench:[{id:0,lvl:2}],SkullOwner:MHF_Spider}}],Riding:{id:"EntityHorse",Type:4,Tame:1,SaddleItem:{id:329,Count:1,Damage:0}}}}
下の生き物が動きを正りょし、ウマは敵対的ではないため、実際にはスケルトンホースの馬に座っている。馬にゾンビを乗せてみてはいけない。馬が草を食べて鼻を鳴らしている間、ゾンビはただそこに座っているだけである。幸いなことに、これはスケルトンであり、ウマが歩く場所からプレイヤーを撃つことができる。
ウマ自体については、type 4(スケルトンホース)、Tameは1(はい)に設定され、サドルが付いている(そして、どのサドルが最終的に複数の種類になる可能性があるかを指定するという事実)。技術的には複数レベルの乗者を使用できるが、ばかげている。
モブスポナー#3:SpawnPotentials
SpawnPotentialsタグを使用すると、複数のMobを含むモブスポナーを作成できる。タイマーをリセットするたびにランダムに1つ選択される(前のMobの生成後一秒)。これらのコードには複数のMobが含まれているため、かなり長いコードになる傾向がある。ユーチューバー(Dragnoz)のおかげで、コードを「分割」できるという事実が知られている(コマンドブロックは改行を無視するため、新しい行を開始し、あるセクションが終了し、別のセクションが開始する場所を明確にすることができ、コードを台無しにすることはない)。次に、SpawnPotentialsコードの目で見たバージョンをより簡単に示す。
/setblock ~0 ~1 ~1 mob_spawner 0 replace {EntityId:Zombie,SpawnRange:6,RequiredPlayerRange:12,SpawnCount:1,MaxNearbyEntities:6,MinSpawnDelay:100,MaxSpawnDelay:600,SpawnData:{Equipment:[{id:268,Count:1},{id:301,Count:1},{id:300,Count:1,tag:{display:{color:5013401}}},{id:299,Count:1,tag:{display:{color:6717235}}},{id:397,Count:1,Damage:3,tag:{SkullOwner:Reimac}}]},SpawnPotentials:[
{Type:Zombie,Weight:4,Properties:{Equipment:[{id:268,Count:1,Damage:58},{id:301,Count:1},{id:300,Count:1,tag:{display:{color:5013401}}},{id:299,Count:1,tag:{display:{color:6717235}}},{id:397,Count:1,Damage:3,tag:{SkullOwner:Reimac}}]}},
{Type:Skeleton,Weight:2,Properties:{Equipment:[{id:267},{id:301,Count:1,tag:{display:{color:1644825}}},{id:300,Count:1,tag:{display:{color:1644825}}},{id:299,Count:1,tag:{display:{color:1644825}}},{id:397,Count:1,Damage:3,tag:{SkullOwner:2insanepeople}}]}},
{Type:Zombie,Weight:4,Properties:{Equipment:[{id:272,Count:1},{id:305,Count:1},{id:304,Count:1},{id:303,Count:1},{id:397,Count:1,Damage:3,tag:{ench:[{id:0,lvl:2}],SkullOwner:Flixnore}}]}},
{Type:Zombie,Weight:4,Properties:{Fire:2400,Equipment:[{id:283,Count:1,tag:{ench:[{id:20,lvl:1}]}},{id:317,Count:1},{id:316,Count:1},{id:315,Count:1},{id:86,Count:1,tag:{ench:[{id:0,lvl:2},{id:1,lvl:10}]}}]}},
{Type:Zombie,Weight:4,Properties:{Equipment:[{id:267,Count:1,tag:{ench:[{id:16,lvl:2}]}},{id:309,Count:1},{id:308,Count:1},{id:307,Count:1},{id:397,Count:1,Damage:3,tag:{ench:[{id:0,lvl:2}],SkullOwner:2zqa}}]}},
{Type:Zombie,Weight:1,Properties:{Equipment:[{id:278,Count:1,tag:{ench:[{id:16,lvl:4},{id:17,lvl:4},{id:18,lvl:4},{id:21,lvl:3},{id:34,lvl:3}]}},{id:313,Count:1,tag:{ench:[{id:1,lvl:4},{id:2,lvl:4}]}},{id:312,Count:1,tag:{ench:[{id:3,lvl:4}]}},{id:311,Count:1,tag:{ench:[{id:0,lvl:4}]}},{id:397,Count:1,Damage:3,tag:{SkullOwner:MHF_Herobrine,ench:[{id:0,lvl:4},{id:1,lvl:4},{id:3,lvl:4},{id:5,lvl:3},{id:6,lvl:1}]}}],CustomNameVisible:1,CustomName:Herobrine,PersistenceRequired:1}},
]}
ああ、とても長い!しかしこれらは6つの別々のMobである。次の順序で:
0) "SpawnPotentials"タグの前:初回以降、再びポップアップすることのないスターター。再び見たい場合は、SpawnPotentialsの下にもう一度含める必要がある。ランダムで青いジーパン(青で染色した革の防具)とサボテングリーンのシャツ(緑で染色した川の防具)を身に着け、木の剣を持っている。もちろんランダムなモブの頭をかぶったゾンビである。以上。
1) 同じくランダムなものであり、今度は木の剣があと2回で壊れるようになっている。
2) 誰が忍者をゲームに入れたのか?!?仮面の下はスケルトンであるが、鉄の剣を持っている。革の防具はすべて忍者黒に染まっている。剣を持つスケルトンは、ゾンビよりも速く攻撃することに注意。
3) 石の剣とチェーンの防具の男。ダメージ軽減 IIのモブの頭。
4) 私のお気に入りの一つ。金の剣、金の防具、カボチャのヘルメット、そして燃えている!!!もともと燃えるようなカボチャのヘルメットを付けたかったが、Fireタグは防具ではなくエンティティにのみ適用されることに気付いた。カボチャにより立ち上がり、プレイヤーを5秒以上必死で脅迫し、カボチャはダメージ軽減 IIと火炎耐性 X(10!)でエンチャントされている。機能するが、プレイヤーが遠くでプレイする場合、カボチャ頭氏は燃え尽きて死ぬ傾向がある。ああ、彼の剣には火属性もついている。
5) 鉄の剣と防具の男。剣はダメージ増加 II、Mobの頭はダメージ軽減 II。
6) ダイヤモンドの武器と防具の男。誰だそれは…それは…ああええええ!走れ!…もちろん、彼ではない。存在しないからである。ここのFakeHBには、ダイヤモンドの防具(火炎耐性 IVと落下耐性 IVのブーツ、爆発耐性 IVのレギンス、ダメージ軽減 IVのチェストプレート、火炎耐性 IV、爆発耐性 IV、水中呼吸 III、ダメージ軽減 IVのMobの頭)、またダメージ増加 IV、アンデッド特効 IV、虫特効 IV、ドロップ増加 III、耐久力 IIIでエンチャントされたダイヤモンドツルハシ。また、これまで見えなかったCustomNameVisible(はいの場合は1に設定)、CustomName、PersistenceRequired(はいの場合は1に設定)も取得している。普通に殺すことができるが、その最後のものはこれまでにデスポーンしなくなる。ダイヤモンドの防具を乗り越えられられるなら。レベル4のダメージ軽減。幸いなことに稀である。(以下を参照)
忍者以外は、5層の剣と防具のストレートツアーである。各SpawnPotentialのMob名の直後に使用されるWeightタグに注意。選ばれる頻度を決定する物であり、特定の数値はなにも意味せず、数値間の比率のみを意味する。たとえば、全てのものに平等な確率を与えたい場合は、全てのWeightを1に設定すればよい。全て8に変更しても何も変わらない(すべて互いに同じ大きさのままであるため)。1から8を指定すると、その1のものが残りの1/8になる。このコードでは、4がデフォルトである。忍者のWeightは2(半分の確率)、FakeHBは1(¼の確率。神に感謝!)
* モブスポナー#4:騎乗可能なモンスター
トロッコやボートを頭に乗せたMobには乗ることができる。コマンドは非常に簡単である
/setblock ~ ~1 ~ mob_spawner {EntityId:MinecartRideable(or Boat), SpawnData:{Riding:{id:<Entity>}}}
ヒント:
- ボスやアイアンゴーレムのように、一部のMobはスポナーだけではスポーンしない。トロッコを追加しても、それは変わらない。
- 射撃能力を持つ敵対Mobは、サバイバルプレイヤーに対してそれを使用する。気を付けよ。
- ガストには乗れない。トロッコが頭に刺さってしまい、誰にも使えない。
- エンダーマンは歩き回れないが、雪玉などを撃つことで強制的にテレポートできる。
- ヤマネコ(game形式ではOzelot)は乗るのが最も早いMobの一つであり、プレイヤーから逃げようとしているのを見ることができる。また、行きたい場所から遠ざけることで、部分的に制御もできる。
- クモは乗ると速度が低下する唯一のMobである。
- スライムとそのいとこ、マグマキューブ(game形式ではLavaSlime)の大きさは変更できない。
1.8 での特殊な使用法[]
新しいコマンド
1.8で新しいコマンドとタグがいくつか追加された。最も有用なものの1つは@eである。これを使用すると、プレイヤーはエンティティをターゲットにできる。
クリーパーをテレポートしたり、トロッコを殺したりできる。その他には、/fill, /clone, /execute, /worldborder (set|health, など}, /trigger, /title, /blockdata, /testforblocks,
, /stats
などがある。動作についてはコマンドページを確認。
パスワード制限[]
/testforblock
を使用すると、コマンドブロックでパスワードを作成できるようになった。コマンドブロックを2つ設置し、コマンド/testforblock (最初のコマンドブロックのx,y,z) command_block 0 {Command:(input)}
を入力する。例:/testforblock ~2 ~ ~ command_block 0 {Command:That's Numberwang!}
2番目のコマンドブロックにコンパレータを接続して設置し、その上または隣にボタンを設置してブロックに電力を供給し、「That's Numberwang!」と入力する(引用符なし)。2番目のコマンドブロックが最初のコマンドブロックを適切に検出した場合、コンパレーターは配線されているものをすべてオンにする。パスワードが他人に使用されないよう最初のコマンドブロックをリセットする場合は、/testforblock
の後にオンになる/setblock
のコマンドブロックを設置する。
他の人にコマンドブロックを編集させたくない場合は、代わりに看板を使用することもできるが、看板の四行ごとに個別にパスワードをテストしなければならない。そのあとに消すには、看板に空気を設置すればよいが、忘れずに/give @p sign
を使用して看板を返す必要がある。
駆逐艦[]
これにより、/execute
を使用してある木ながら周囲のブロックを破壊できる。コマンド:/execute @p ~ ~ ~ fill ~1 ~2 ~1 ~-1 ~0 ~-1 air
。時計または何らかの種類の繰り返す設備を取り付ければ、どこに行っても空気ブロックが自分を追いかけてくる。難しい?fill
ではsetblockと同様に指定された量の空間を敷き詰めるが、2つのxyzを使用し、それらの間の空間を選択したブロックで埋める。この場合は空気である。自分が動くたびに、自分の周りが3×3の空気で満たされる。敵の基地、または単にクレイジーな荒らしに最適である。
- これは水も削除するため、動くスポンジにもなる。
- スペクテイターを含め、どのゲームモードでも機能する。
造園家[]
これは駆逐艦の逆バージョンである。/execute @p ~ ~ ~ fill ~1 ~-1 ~1 ~-1 ~-1 ~-1 grass
。これにより、足の下に草ブロックが3×3設置される。唯一の問題:ジャンプすると山になる。
実施例[]
- コマンドブロックを使用すると、一種のワールドガードを作成できる。(コード例:
/gamemode (adventure|creative|spectator|survival) @a[r=<範囲>]
) - クロック回路に接続されたテレポート装置でradius引数を使用すると、xyz座標の周りに除外ゾーン(「フォースフィールド」)を作成できる(コマンドブロック自体の中央に配置すると編集が困難になるか後で無効になる)。特定の範囲内のプレイヤーをさらに離れた地点にテレポートするようプログラムするか、相対座標を使用して10メートル戻るだけである。そのようなフォースフィールドは、自分がどの方向から近づいてくるのかを知らないことに注意。そして、反対側に「外に」押し出す前にプレイヤーを「内側」に引っ張ることになる。
- コマンド
/say やあ、@p
,/tell @p やあ、@p
,/me やあ、@p
を入力したコマンドブロックは、メッセージ内で最も近いプレイヤーのユーザー名を言う。 - プレイヤーのインベントリを削除し、荒らしやチートを防止することもできる:
/clear [<targets>] [<item>] [<maxCount>]
スポナー[]
コマンドブロックでsetblockコマンドを使用するとスポナーを作成できる。例:/setblock ~1 ~-1 ~0 mob_spawner 0 replace {EntityId:Zombie,SpawnData:{Equipment:[{id:276,Count:1}]}}
エンティティとしてカウントされるものはすべて生成できる(プレイヤーを除く)。これにはすべての敵対、中立、友好Mob、動物、トロッコ、火の玉、矢、雪玉、エンダーパール、カスタムの投げたポーション、花火、着火したTNT、落下砂、赤砂、砂利、絵画、額縁、経験値、あらゆる種類のドロップアイテムが含まれる。
ブタ、ウシ、ニワトリのスポナーを村の肉屋の裏庭に設置することで、無限に肉を供給することができる。例:/setblock ~1 ~-1 ~0 mob_spawner 0 replace {EntityId:Chicken,MaxNearbyEntities:10,RequiredPlayerRange:16,SpawnCount:6,SpawnRange:2,MinSpawnDelay:50,MaxSpawnDelay:200,SpawnData:{Riding:{id:"Pig"}}}
最後のコード例のスポナーでは、ブタに乗ったニワトリがスポーンすることに注意。使用できる乗者のレベルに制限はないようである(例:ブタに乗るニワトリ、ウシに乗るニワトリ、ウマに乗るニワトリ、シルバーフィッシュに乗るニワトリ、村人に乗るニワトリ(「"それはあなたが持っている強力な奇妙な帽子だ、ファーマー・ブラウン")).
RequiredPlayerRangeタグを使用する場合は、MaxNearbyEntitiesタグも使用する必要がある。MinSpawnDelayとMaxSpawnDelayでもしかり。最後に、コレラのスポナーのサンプルコードの両方で使用されるy値は~-1であったことに注意(飛行していないと仮定すると)、スポナーは地表の高さに設置される。
特定のプレイヤーをターゲットにしたくない場合は、<プレイヤー>
ではなく@a
, @p
, @r
を使用できる。自分に最も近いプレイヤーは常に自分であるため、自分の名前を2文字で簡単に入力できるコマンドとして、ぷれいやーが実行するコマンドで@p(「最も近いプレイヤー」を意味する)を使用できる。
ブービートラップ[]
最も致命的なブービートラップは、奈落に誰かをテレポートするように設定されたコマンドブロックである。
1.8の時点で、感圧板のあるブロックの下のコマンドブロックで/kill @e[r=2]
を実行して、踏むと近くのすべてのエンティティを殺す多目的地雷を作ることができる(プレイヤー、額縁、絵画を含む)
@pを使用するブービートラップは、プレイヤー以外のエンティティが起動させる可能性があるため(感圧板のようなものが使用される場合)、危険である可能性がある。これを回避するには、/testfor
コマンドを非表示の感圧板として使用できる。クロック回路を、/testfor @p[x=1, y=2, z=3, r=範囲]
でプログラムされたコマンドブロックに接続し、必要に応じて座標を変更する。1.8現在、ゼロの範囲を指定できる。
転送装置[]
コマンドブロックを使用して転送装置を作成することができる(コード例:/tp @p x y z
)さらに一歩進んで、それぞれが異なる場所にテレポートする複数のボタン起動転送装置を備えたテレポート液を作成できる。プレイヤーがブロックやほかの意図しない場所に行き詰らないようにするため、最初にテレポート先を探して試してみた方が良い。座標の試行中に地中にテレポートした場合は/tp @p ~0 ~8 ~0
を使用すると脱出できる(複数回使用する必要がある場合がある)
コマンドブロックでテレポートコマンドを使用する場合、座標の前に~
を入力することで転送先座標に相対座標を使用できる(コード例:/tp @p ~0 ~8 ~0
これはプレイヤーを8ブロック空中にテレポートする)
座標を使用するコマンド(例:/tp
や/spawnpoint
)は、小数点が後に続かない際は0.5を整数に追加する。そのため、表示されるブロックの端や角ではなく、表示されるブロックの中央にテレポートする。例えば、数値-33は-32.5、187は187.5として実行される。この動作を防ぐには、それらの後に.0(25.3, 90.0)を追加するとこれらの値がそのままの状態で実行される。
1.8アップデートでは、トロッコやボートをテレポートできるようになった。コマンドは/tp @e[type=Boat] (座標)
。
少量のコマンドブロックでの複数コマンドの実行[]
複数のコマンドを1つのコマンドにまとめる方法はいくつかある。
/execute
は、選択したターゲットの数だけコマンドを実行する。特定のコマンドを実行するエンティティが問題にならない場合は@e[c=10]
を使用して、コードが常に10回実行されるようにする(読み込まれたワールドに常に10以上のエンティティがいる場合)- 複数のコマンドを実行するには、別のコマンドブロックトロッコに乗っているコマンドブロックトロッコを/summonし、コマンドを逆の順序でアクティベーターレールに乗せる。この方法を使用するワンコマンドMODと呼ばれるコマンドもある。Garretto氏は1つのコマンドとマップを作成している[1]
地図を入力装置として使用する[]
最近のビデオでは、Sethblingは[2]を入力装置として使用してコマンド(生物の召喚、テレポート)を実行している。彼のインベントリには空の地図があり、それを使用すると、塗りつぶされた地図になり、すぐに消えて、レッドストーン回路が実行される。このチュートリアルでは、入力装置として地図の使用を検出し、作業を実行する(エフェクトを与える、ドアを開く…)レッドストーン回路を作る方法を示す。
長所
- レッドストーンの伝達が速い
- システムがコンパクト
- 右クリックで起動するだけの自由自在の起動システム。。
- 使い捨て:インベントリ確認中に地図は消えるが、/giveコマンドを使用すると戻せる
短所
- 目的が1つだけであり、複雑なデータ値を使用しないとテレポートの実行や強度の実行を行えない
- 地図を削除する前に実行すると地図のアニメーションが表示される場合がある
- プレイ中に地図を使えない(テキストメッセージ、描画中など…)
機構の構築
アイテムの表示名を変更し、ぷれいやーがオブジェクトをよりよく理解できるようにし、ツールチップ表示を使用する。次のコマンドを使用すると、プレイヤーにカスタム名付きの地図が与えられる:
/give <プレイヤー> map 1 0 {display:{Name:"<表示名>",Lore:["<ツールチップ>"]}}
- プレイヤー:表示したいプレイヤー(@p, @a[引数],...)
- 表示名:ホットバーで選択した時、またはマウスをアイテムにかざした際に表示される名前
- ツールチップ:アイテム名にカーソルを合わせた時のテキスト
地図の活性化の検出
- 2つのホッパーでレッドストーンクロックを作ることができる。[3]に示されている他のクロックも使用できる。
- コマンドブロック1には、上記の節で説明した/giveコマンドが含まれている。実行された後に元に戻りたくない場合は、非表示にすることができる。
- コマンドブロック2には、インベントリ確認コマンドが含まれている:
/clear <プレイヤー> filled_map
- コマンドブロック3は、成功した場合の出力である。何でもできる:プレイヤーにエフェクトを与えたり、どこかにテレポートしたり…他にもこの出力をドアやピストンにつなげることもできる…
遠出 /clearコマンドでは、他の利用可能なアイテムを確認できる:
- プレイヤーがポーションを飲んだだけの場合はglass_bottleを確認する
- Sethblingは、釣竿も使用している。これは、糸が巻き込まれた際に機能する。/clear構文には、アイテム名の後に別の引数であるダメージ値を使用できる。
/clear <プレイヤー> fishing_rod 2
リールをスパムしたり、Mobを釣ったりすると、2つ以上耐久力が減る可能性があるため、2つごとにこれらを1つ作成する。
その他の出典[]
Feareのコマンドブロックチュートリアル
データタグを使用した多くの可能性に関するDragnozのYouTubeチュートリアル
データタグに関するテキストチュートリアル
関連項目[]
新人向け |
| ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
全般 | |||||||||||||
チャレンジ |
| ||||||||||||
建築 | |||||||||||||
生産 |
| ||||||||||||
エンチャントと製錬 | |||||||||||||
ブロック破壊 |
| ||||||||||||
メカニズム |
| ||||||||||||
サーバー |
| ||||||||||||
技術的なチュートリアル |
| ||||||||||||
古いチュートリアル |
|