《BE1.9.0対応》コマンドの基礎を掴もう!セレクター、座標、データ値などを詳しく解説【初級コマンド講座 #1】

どうも、初級コマンド講座の執筆者、木の剣愛好家Tosyunです。

この講座は、主にコマンドを使ったことがない、またはコマンドが苦手、という方に向けた講座になります。こんなこと知ってるわぶち転がすぞという方は、ぜひ応用コマンド講座をご覧になってみてください。


応用コマンド講座はこちら↓

今回は、初回ということで、コマンドを使う上で絶対に知っておかなければならないセレクター、座標、データ値、エンティティIDなどについて解説します。
何事も基礎からです。しっかり覚えてコマンドを使えるようになりましょう。


1.セレクター

セレクターとは、@p、@e 等の、アットマーク(@)の後ろに特定のアルファベット1文字が付いた物です。セレクターを使うことで、コマンドの効果を与える対象者を決めることができます。このセレクターには、

  • @p
  • @a
  • @r
  • @e
  • @s

の5種類があります。
ひとつずつ説明すると、

  • @p→基準点から1番近いプレイヤーを指定する
  • @a→すべてのプレイヤーを指定する
  • @r→ランダムに1つのエンティティを指定する(引数を使わなかった場合は、ランダムに1人のプレイヤーを指定します)
  • @e→すべてのエンティティを指定する
  • @s→コマンドを実行した人を指定する

はい、基準点?エンティティ?引数?とか訳がわからないと思った方もいると思います。なので1つずつ説明していきます。

基準点

基準点とは、コマンドを実行した人・物の位置です。例えばAというプレイヤーがチャット欄からコマンドを実行した場合、基準点はAさんのコマンドを実行した時点での位置になります。また、Bさんがコマンドブロックに書かれているコマンドをボタンを押して実行した場合には、基準点はBさんではなくコマンドブロックの位置になります。なぜならこの場合、Bさん自身はコマンドを実行しておらず、そのコマンドブロックが実行しているためです。

エンティティ

エンティティとは、まあ「ブロックではないもの」と思っていただければ大丈夫です。また、エンティティの中でも、AIを持っているエンティティを「Mob」といいます。

エンティティの種類はとても多いです。画像のものでも一部に過ぎません。

画像の通り、ゾンビやスケルトン、牛や豚などはMobになります。

引数

引数とは、セレクターの後に記述して、コマンドの対象をより細かく指定するためのものです。
ただ、引数は少し難しいため、次の講座で解説していきます。

以上の用語は、コマンドではよく使う用語なので覚えておくといいです。

ちなみに、@sは、普段はそこまで使う意味はないのですが、/executeというコマンドを使う時にはとてもお世話になります。

ただ/executeはコマンドの中でも難しい部類なので、後半の講座で紹介することになると思います。


2.座標

次は座標について。まず、座標にはx座標、y座標、z座標があります。

x座標は、東へ行くほど数字が大きくなり、西へ行くほど小さくなる座標です。
y座標は、高度が高くなるほど数字が大きくなり、低いほど小さくなる座標です。
z座標は、南へ行くほど数字が大きくなり、北へ行くほど小さくなる座標です。

ワールドにはx=0,z=0の地点があり、そこよりも東へ行けばx座標はマイナスになります。

またそこよりも北へ行けばz座標はマイナスになります。
z座標は北がプラスではなく南がプラスなので間違えないようにしましょう。

また、コマンドで座標を指定する時は、座標は

x座標 y座標 z座標

の順番で打ちます。

この順番を間違えると、コマンドミスに繋がり思わぬ事故が起きたりするので気をつけましょう。

絶対座標,相対座標,向き相対座標

座標には、絶対座標・相対座標・向き相対座標の3種類があります。

絶対座標

まず絶対座標とは、位置を数字で直接指定したものです。数字が変わらなければ、位置も変わりません。

画像のように、基準点の位置に関わらず同じ位置を指定したい時に使います。

ちなみに画像のコマンドは座標10,5,10の位置に村人を召喚するコマンドです。

相対座標

絶対座標とは違い、基準点の位置を基準にして位置を指定する座標を相対座標といいます。

相対座標は、同じ数字でも基準点の位置が変われば位置も変わります。

相対座標を表す時には、~(チルダ)という記号を使います。

この~(チルダ)記号の後に数字を入れることで相対座標を表すことができます。

~の後に正の数を入れれば、x座標なら基準点より東、y座標なら基準点より上、z座標なら基準点より南の位置を表すことができます。

例えば画像のように、~4 ~ ~2という座標が表す位置は、基準点から東へ4マス(~4)、南へ2マス(~2)、上に0マス(~)という位置になります。

ちなみに、~0 ~0 ~0 という座標なら、基準点と同じ位置を表せます。なぜなら基準点から東へ0マス、上へ0マス、南へ0マスの位置、つまり基準点と同じ位置を表すことになるからです。ちなみに~0は~と省略することもできます。

また、~の後に負の数を入れれば、正の数を入れた時とは反対の方角の位置を表すことができます。

つまり、x座標なら基準点より西、y座標なら基準点より下、z座標なら基準点より北を表せます。

画像のように、~-5 ~ ~-3 という座標なら、基準点から西へ5マス、北へ3マスの同じ高さの位置を表します。

また~-10 ~-5 ~-15 という座標なら、基準点から西へ10マス、下に5マス、北へ15マスの位置を表します。

ちなみに、座標に小数を使うこともできます。

~ ~0.5 ~ という座標なら基準点から上に0.5マスの位置を表します。

向き相対座標

座標系の最後の用語であり、おそらく1番めんどくさいであろうものがこの向き相対座標です。

まず向き相対座標を表すには^(キャロット)を使います。

この向き相対座標は、基本的には相対座標と同じです。

しかし、相対座標とは違い、基準となるエンティティの向いている方向が南として扱われます。

北ではなく、として扱われます。間違えないようにしましょう。

つまり、/summon villager ^ ^ ^5というコマンドをチャットで打てば、自分から5マス前の位置に村人が出現します。

では、次は横に真っ直ぐ向いているのではなく、画像のように斜め上を見ている場合はどうなるのでしょう。

この状態で向き相対座標を使った場合、座標軸はこうなります。

この状態でさきほどのコマンドを使うと、さきほどは自分と同じ高さに村人が出現しましたが、この場合だと、画像の辺りの位置に出現します。

また、/summon villager ^ ^2 ^ とした場合、自分の頭上に村人が出現します。

向き相対は本当にややこしいので、こんな説明ではわからないかもしれませんが、とにかく

基準となるエンティティの向いている方向が南として扱われる

これが相対座標と向き相対座標の唯一の違いなので、とにかくこれを覚えてください。


3.アイテムID、ブロックID

giveコマンドでアイテムを入手するときや、fillコマンドでブロックを敷き詰める時に、入手するアイテムや敷き詰めるブロックを指定するためのものアイテムID、ブロックIDといいます。ちなみにgiveコマンドはアイテムを入手するコマンド、fillコマンドはブロックを敷き詰めるコマンドです。

といっても、giveコマンドで指定するときはアイテムID、fillコマンドならブロックIDと呼ぶだけで、アイテムIDとブロックIDは同じものです。単に呼び方の問題。

例えば、giveコマンドで土を入手するときも、fillコマンドで土を敷き詰める時も、IDは「dirt」です。

アイテム/ブロックIDは下のサイトで調べることができます。

https://minecraft-ids.grahamedgecombe.com/#

ただしBEでは、IDの前のminecraft:は付けてはいけないので注意しましょう。また、数字のアイテム/ブロックIDも使えません。


4.データ値

先程のアイテム/ブロックIDの後に付け加えることで、アイテム/ブロックの種類をより細かく指定するための数字です。

例えば、羊毛のIDはwoolですが、データ値を付けなければ白の羊毛を指定しますが、データ値1を付け加えれば橙の羊毛が指定できます。

ちなみに、データ値もこのサイトで調べることができます。

https://minecraft-ids.grahamedgecombe.com/#

:の後の数字がデータ値です。

また、剣やツルハシなどの耐久値を持つもののIDの後にデータ値を付けると、データ値の分だけ耐久値を減らした状態のアイテムを指定できます。

例えば、データ値30の木の剣なら、木の剣の元々の耐久値60から、データ値30を引いて、耐久値が30になった木の剣を指定します。また、データ値1000のダイヤツルハシなら、元々の耐久値1562から、データ値1000を引いた耐久値が562になったダイヤツルハシを指定します。

ちなみにデータ値は、ダメージ値という言い方をすることもありますが、意味は同じなので大丈夫です。


5.エンティティID

これが今回最後の用語です。

エンティティIDとは、その名の通りエンティティを指定するためのものです。座標のところで紹介したsummonコマンドなどで使用します。

察しのいい方はわかるかもしれませんが、座標の所で使用した/summon villager ~ ~ ~ の中のvillagerがまさにエンティティIDです。

エンティティにはそれぞれ固有のエンティティIDが割り振られており、例えば自分が動かすプレイヤーはplayerというIDを持っていますし、牛ならcow、ゾンビならzombie、といったふうにすべてのエンティティはエンティティIDを持っています。

ちなみに、統合版ではエンティティIDはJava版とは異なるため気をつけてください。

バージョン1.9.0時点でのエンティティID一覧

エンティティ名 エンティティID
残留ポーションのもや area_effect_cloud
防具立て armor_stand
arrow
コウモリ bat
ブレイズ blaze
ボート boat
ネコ cat
洞窟グモ cave_spider
チェスト付きトロッコ chest_minecart
chicken
cod
コマンドブロック付きトロッコ command_block_minecart
cow
クリーパー creeper
イルカ dolphin
ロバ donkey
エンドラが出す火球 dragon_fireball
溺死ゾンビ drowned
投げられた卵 egg
エルダーガーディアン elder_guardian
エンダークリスタル ender_crystal
エンダードラゴン ender_dragon
投げられたエンダーパール ender_pearl
エンダーマン enderman
エンダーマイト endermite
エヴォーカーの出す牙 evocation_fang
エヴォーカー evocation_illager
投げられたエンダーアイ eye_of_ender_signal
落下しているブロック falling_block
ガストの火球 fireball
ロケット花火 fireworks_rocket
釣竿のフック fishing_hook
ガスト ghast
ガーディアン guardian
ホッパー付きトロッコ hopper_minecart
horse
ハスク husk
アイアンゴーレム iron_golem
アイテム item
フェンスに繋がれた首綱 leash_knot
lightning_bolt
投げられた残留ポーション lingering_potion
ラマ llama
ラマのつば llama_spit
マグマキューブ magma_cube
トロッコ minecart
キノコ牛 mooshroom
ピストンで動かされているブロック moving_block
ラバ mule
ヤマネコ ocelot
絵画 painting
パンダ panda
オウム parrot
ファントム phantom
pig
プレイヤー player
略奪者 pllager
シロクマ polar_bear
フグ pufferfish
ウサギ rabbit
salmon
sheep
シュルカー shulker
シュルカーの弾 shulker_bullet
シルバーフィッシュ silverfish
スケルトン skeleton
スケルトンホース skeleton_horse
スライム slime
ファイヤーチャージ(ブレイズの火球) small_fireball
スノーゴーレム snow_gorem
投げられた雪玉 snowball
蜘蛛 spider
投げられたスプラッシュポーション splash_potion
イカ squid
ストレイ stray
投げられたトライデント thrown_trident
着火されたTNT tnt
TNT付きトロッコ tnt_minecart
熱帯魚 tropicalfish
ウミガメ turtle
ヴェックス vex
村人 villager
ヴィンディケーター vindicater
ウィッチ witch
ウィザー wither
ウィザースケルトン wither_skeleton
ウィザーが出す頭 wither_skull
ウィザーが出す頭(威力が強いやつ) wither_skull_dangerous
wolf
投げられた経験値瓶 xp_bottle
経験値オーブ xp_orb
ゾンビ zombie
ゾンビホース zombie_horse
ゾンビピッグマン zombie_pigman
村人ゾンビ zombie_villager

次回は、引数について説明していきます。
質問などありましたらぜひコメントをしていってください。
可能な限り答えます。
閲覧ありがとうございました。


次の講座↓