Minepax Chest LogoMinepax.com
ブログ一覧に戻る

マインクラフト高度コマンドガイド:構文、ターゲットセレクター、コマンドブロック

Minepax Team2026年6月25日
マインクラフト高度コマンドガイド:構文、ターゲットセレクター、コマンドブロック

マインクラフト高度コマンドガイド:構文、ターゲットセレクター、コマンドブロック

マップ作成者、サーバー管理者、そして技術的な自動化の熱好家にとって、マインクラフトのコマンド(多くの場合チートコードと呼ばれます)は、実際にはゲーム内の簡素化されたプログラミング言語です。コマンドブロックを使用することで、天候を変更し、インベントリを操作し、神のような属性を持つカスタムアイテムをスポーンさせ、完全にカスタムのゲームメカニクスを作成することができます。

しかし、/gamemode creative のような単純なコマンドから、複雑なデータ操作やNBTコマンドへと進むにつれて、マインクラフトの構文は非常に厳格になります。引用符や大括弧の1つでも欠けていると、コマンド全体が無効になります。この包括的なガイドでは、マインクラフトのコマンド構文の仕組み、ゲームで使用されるJSONデータ構造、そしてチャットやコマンドブロックでスクリプトを書くときのイライラを避けるためのベストプラクティスについて説明します。


1. コマンド作成と構文エラー処理の大きなイライラ

マインクラフトのチャットコンソールやコマンドブロックのチェーン内に複雑なコマンドを直接書くことは、しばしば非常に骨の折れる作業です:

  • 目に見えないエラー: コマンドが間違っているとゲームは赤色のインジケーターを表示しますが、デフォルトの構文エラーメッセージは曖昧です。「区切り文字が必要でした」と言われても、200文字のコマンド内で15個のネストされた大括弧のうちどれを閉じ忘れたかを見つけるのは困難です。
  • バージョンによる違い: コマンド形式はアップデート間で劇的に変化します(数値IDから名前付きIDへの移行や、バージョン1.20.5+以降のアイテムコンポーネントによるアイテムデータ構造の大幅な変更など)。古いコマンドを現在のゲームで使用しようとすると、即座に失敗します。
  • JSON文字のエスケープ: カスタムの記入済みの本、フォーマットされたテキスト看板、色付きの名前を持つ武器などを作成する場合、コマンドタグ内にJSON文字列をネストする必要があります。これには、ダブルクォーテーションの複雑なエスケープ(例:\"text\")が必要となり、単純なテキスト行が読みにくくエラーが発生しやすい文字列の塊へと変わってしまいます。

2. 手動メソッド:マインクラフトコマンドの解剖学

コマンドを手動でマスターするには、その構造を支える3つの柱である ターゲットセレクター引数フィルター、および NBT/JSONコンポーネント を理解する必要があります。

1. ターゲットセレクター

セレクターは、コマンドのアクションの対象を定義します。プレイヤーの正確な名前を入力する代わりに、グローバル変数を使用します:

  • @p: 最も近いプレイヤーを選択します(スポーン部屋のボタンや感圧版に便利です)。
  • @a: オンラインのすべてのプレイヤーを選択します(全体メッセージや全員のテレポートに最適です)。
  • @r: ランダムなプレイヤーを選択します(運に基づくミニゲームに最適です)。
  • @e: ロードされたチャンク内のすべてのアクティブなエンティティ(モンスター、地面に落ちているアイテム、発射物などを含む)を選択します。
  • @s: コマンドを実行している現在のエンティティを選択します(/execute コマンドで頻繁に使用されます)。

2. セレクターフィルター(判定引数)

大括弧 [] の中にフィルターを追加することで、基本的なセレクターを絞り込むことができます。例えば、半径10ブロック以内にいる羊だけをテレポートさせたい場合:

@e[type=sheep,distance=..10]

一般的なパラメータは以下の通りです:

  • type: エンティティIDでフィルタリングします(例:cow, zombie, arrow)。
  • distance: 範囲を使用して距離を定義します。..10 は10ブロック以下、10.. は10ブロック以上、5..10 は5〜10ブロックの間を意味します。
  • limitsort: 返されるターゲットの数を制限します。limit=1,sort=nearest は、基準を満たす最も近いエンティティのみを取得します。
  • tag: エンティティに関連付けられたカスタムタグでフィルタリングします(/tag コマンドで追加されます)。

3. アイテム構造とNBT(Named Binary Tag)

バージョン1.20.4までは、NBT形式を使用してコマンド構文でアイテムにメタデータを直接添付することができました:

/give @p minecraft:diamond_sword{Enchantments:[{id:\"minecraft:sharpness\",lvl:5s}]} 1

現代のマインクラフトでは、パフォーマンス向上のためにこの構文が アイテムコンポーネント を使用するように再設計されました。現在、データはアイテムIDに直接添付される中括弧の代わりに、大括弧で囲まれています:

/give @p minecraft:diamond_sword[enchantments={levels:{\"minecraft:sharpness\":5}}] 1

エディション間で変化するこれらの構文変更を学習し追跡するには、Wikiやゲームアップデートノートを常に調べる必要があります。


3. スマートな解決策:Minepaxコマンドジェネレーター

マインクラフトのキーボードでネストされたNBTタグを書いたり、複雑なJSONをフォーマットしたりするのは非効率的で退屈です。最良の代替策は、エラーなしでコードをコンパイルする外部のビジュアルインターフェースを使用することです。

Minepaxコマンドジェネレーターは、/give/summon/effect、および /teleport のコードを視覚的かつ直感的に生成できます。

ジェネレーターでできること:

  • カスタムアイテム作成: ゲームのデフォルトの上限を超えるエンチャント(ダメージ増加 X など)を追加し、移動速度や体力の属性を変更し、色付きの名前やカスタムの説明を設定します。
  • カスタムモブ召喚: ネザライト防具を一式装備し、ニワトリに乗り、永続的なポーション効果と特定の免疫を持つゾンビのスポーンを設定します。
  • 複数バージョン対応: ジェネレーターは、選択されたゲームバージョン(クラシックJava、モダンJava、またはBedrock)に応じてコマンド出力を自動的に適合させます。

⌨️ エラーのないコマンドを作成しよう

コマンドブロックの構文で間違いをするのをやめましょう。当社のビジュアルジェネレーターを使用して、伝説のアイテム、カスタム効果、そして複雑な召喚コマンドを瞬時に作成してください!

👉 Minepaxコマンドジェネレーターにアクセス


4. コマンドブロックエンジニアリングのための高度なヒント

コマンドブロックを使用した大規模な自動化を実装する場合は、以下の設計概念を適用してください:

1. コマンドブロックの種類を理解する

  • インパルス(オレンジ): レッドストーン信号を受信したときにコマンドを1回だけ実行します。
  • リピート(紫): アクティブな間、ゲームティックごと(1秒間に20回)にコマンドを実行します。プレイヤー位置の検出や継続的な効果の適用に優れています。
  • チェーン(緑): 背後に配置されたコマンドブロックが実行を完了した後にのみコマンドを実行します。これにより、単一のゲームティック内で一連のアクションを完璧な順序で連鎖させることができます。

2. /execute コマンドのパワー

/execute コマンドは、マインクラフトにおけるプログラミングの柱です。コマンドの実行コンテキスト(誰が、どこで、どのような条件下で実行するか)を変更できます。

使用例:

/execute at @a run playsound minecraft:entity.experience_bottle.throw master @s ~ ~ ~

このコマンドは、各プレイヤーの正確な位置(at @a)で経験値の瓶を投げる音を再生し、その同じプレイヤー(master @s)に対して、現在の座標(~ ~ ~)で聞こえるようにします。

3. 巨大プロジェクトではデータパックの関数を使用する

ミニゲームのために数百のコマンドを同時に実行する必要がある場合は、物理的なマップをコマンドブロックで埋め尽くすのを避けてください。ベストプラクティスは、関数の データパック(拡張子 .mcfunction のファイル)を作成することです。ファイルの各行はコマンドを表し、ゲームによってネイティブかつクリーンに読み込まれ実行されるため、物理的なレッドストーン回路によって発生するビジュアルラグが排除されます。