本文へ移動
cccskills
無料GitHub で公開

mc_mcp_block_design

Minecraft のレッドストーン回路や構造物を設計するための、JSON データモデルの仕様と設計ガイドライン。

インストール方法を見る

含まれるファイル(1)

  • SKILL.md8.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Minecraft ブロック設計 Skill

このスキルは、Minecraft サーバーに配置するためのブロック設計データ(JSON)を作成するためのガイドラインと仕様を提供します。 MCPツール place_blocks の引数 blocks や、test ツールへの入力データとして使用する JSON フォーマットの詳細を定義しています。

設計データ構造 (JSON)

配置データは、blocks, entities, attaches, connects, fills の5つのリストを持つオブジェクト(PlaceRequest 形式)です。1つのオブジェクト内では blocks -> entities -> attaches -> connects の順序で実行され、fills は事前に blocks リストに展開された上で配置されます。

また、**配列形式(フェーズ)**を使用することで、配置を複数の段階に分けて順番に実行できます。これはレッドストーン回路(ピストンの準接続やオブザーバーの更新検知など)で「配置される順番」が重要な場合に必要です。配列の各要素(フェーズ)が順番に処理され、フェーズ間には自動的に1tickの待機が入ります。

1. blocks (基本配置)

指定した座標に直接ブロックを配置します。

  • x, y, z: 配置座標(整数)。
  • block: ブロック ID(例: minecraft:iron_block)。
  • state: (任意) ブロックの状態(例: {"powered": "true"}, {"lit": "true"})。

2. attaches (相対配置/アタッチ)

土台となるブロックに対して部品を取り付けます。土台との位置関係から、適切な向き(facing 等)が自動計算されます。

  • pos: 配置する部品の座標 [x, y, z]。
  • component: 配置するブロック ID。
    • 対応例: minecraft:redstone_torch, minecraft:lever, minecraft:stone_button, minecraft:oak_pressure_plate, minecraft:tripwire_hook, minecraft:ladder 等。
  • base: 土台となるブロックの座標 [x, y, z]。

自動計算の例:

  • base が [100, 64, 100]、pos が [100, 65, 100](真上)の場合:上向き、または床置きとして配置されます。
  • base が [100, 64, 100]、pos が [101, 64, 100](横)の場合:壁掛けとして配置されます。

3. connects (接続配置)

2つのブロックの間に部品を配置します。src(入力元)から dst(出力先)の方向に信号が流れるように、向きが自動計算されます。

  • src: 信号の入力元となる座標 [x, y, z]。
    • repeater/comparator: 背面(入力側)
    • observer: 観察面(顔)
  • dst: 信号の出力先となる座標 [x, y, z]。
  • component: 配置するブロック ID。
    • 対応例: minecraft:repeater, minecraft:comparator, minecraft:observer, minecraft:powered_rail 等。

制約:

  • src と dst は同じ軸上(X, Y, または Z)にある必要があります。
  • src と dst の間にはちょうど1マスの空き(距離が2)が必要です。部品はその中間のマスに配置されます(既存のブロックは上書きされます)。

4. fills (範囲埋め)

指定された2点(start と end)で囲まれる直方体範囲内を、すべて指定されたブロックで埋めます。

  • start: 範囲の始点座標 [x, y, z]。
  • end: 範囲の終点座標 [x, y, z]。
  • block: 埋めるブロック ID。
  • state: (任意) ブロックの状態。

注意: fills は送信前に内部で blocks リストに自動展開されるため、最終的には通常の blocks 配置と同じように処理されます。

5. entities (エンティティ配置)

指定した座標にエンティティをスポーンさせます。ブロックと同時に配置できます。

  • uuid: (任意) エンティティの一意な識別子。未指定時は自動生成されます。
  • type: エンティティの種類(例: minecraft:boat, minecraft:minecart, minecraft:item_frame)。
  • x, y, z: スポーン座標(小数)。
  • yaw: (任意) 水平方向の向き(度数法)。
  • pitch: (任意) 垂直方向の向き(度数法)。
  • nbt: (任意) エンティティに適用するNBTデータ。JSON形式で指定します(例: {"Type": "oak"})。

注意: entities は blocks の後に処理されます。エンティティをスポーンさせる前に、土台となるブロックが既に配置されていることを確認してください。

6. フェーズ(配列形式)

単一のオブジェクトではなく、オブジェクトの配列 [ {...}, {...} ] として設計データを記述できます。配列の各要素が「フェーズ」として順番に処理されます。

用途例:

  • フェーズ1: 土台ブロックを配置
  • フェーズ2: レッドストーンダストとトーチを配置(土台の更新を確実にさせる)
  • フェーズ3: ピストンやオブザーバーを配置(準接続や更新検知を正しく動作させる)

設計ガイドライン

  1. 土台の優先: 複雑な回路を設計する場合、まず blocks で不透過ブロック(石、鉄ブロックなど)を配置し、その後に attaches や connects でレッドストーン部品を配置するようにリストを構成してください。
  2. 座標の整合性: 回路全体を特定の座標(例: 0, 0, 0)からの相対座標で設計し、配置時にオフセットを加算するようにすると再利用性が高まります。
  3. 向き重要ブロックの配置: minecraft:repeater / minecraft:comparator / minecraft:observer は AGENTS.md の絶対制約に従い、connects の src/dst を使用して向きを自動計算させてください。意図的に直接配置する場合のみ allow_direct_facing=true を指定できます(推奨しません)。
  4. 向きの自動化: 手動で state の facing を計算するのではなく、可能な限り attaches や connects を使用して、物理的な位置関係から向きを決定させてください。これにより、回路を回転・反転させた際のミスを防げます。
  5. ブロック状態の指定: state には静的なプロパティのみ指定できます。
    • minecraft:repeater: {"delay": "1"} (1〜4)
    • minecraft:comparator: {"mode": "compare"} (compare または subtract)
    • minecraft:piston: {"facing": "north"}
    • 動的状態(powered / lit / power / extended / enabled 等)は place_blocks では指定せず、interact_block を使用してください。

設計例

単一オブジェクト形式 (PlaceRequest)

{
  "blocks": [
    { "x": 10, "y": 64, "z": 10, "block": "minecraft:stone" },
    { "x": 11, "y": 64, "z": 10, "block": "minecraft:stone" }
  ],
  "entities": [
    {
      "type": "minecraft:boat",
      "x": 10.5,
      "y": 64.5,
      "z": 10.5,
      "yaw": 90.0,
      "nbt": { "Type": "oak" }
    }
  ],
  "attaches": [
    {
      "pos": [10, 65, 10],
      "component": "minecraft:redstone_torch",
      "base": [10, 64, 10]
    }
  ],
  "connects": [
    {
      "src": [10, 65, 10],
      "dst": [12, 65, 10],
      "component": "minecraft:repeater"
    }
  ]
}

フェーズ(配列)形式

以下は、土台を先に配置し、その後レッドストーン部品を配置する2フェーズの例です。

[
  {
    "fills": [
      {
        "start": [10, 64, 10],
        "end": [12, 64, 10],
        "block": "minecraft:stone"
      }
    ]
  },
  {
    "attaches": [
      {
        "pos": [10, 65, 10],
        "component": "minecraft:lever",
        "base": [10, 64, 10]
      }
    ],
    "connects": [
      {
        "src": [10, 65, 10],
        "dst": [12, 65, 10],
        "component": "minecraft:repeater"
      }
    ]
  }
]

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

circuit_debugging

無料日本語概要

レッドストーン回路の自動テストが失敗した際の切り分け・局所修正手順。CLI版の mc-cli get-blocks, interact-block, place-blocks を使ったデバッグ方法を定義する。

yadokari1130/MC-Redstone-AI52026年8月23日 更新

circuit_debugging

無料日本語概要

レッドストーン回路の自動テストが失敗した際の切り分け・局所修正手順。get_blocks, interact_block, place_blocks を使ったデバッグ方法を定義する。

yadokari1130/MC-Redstone-AI52026年8月23日 更新

empirical-prompt-tuning

無料日本語概要

agent 向けテキスト指示(skill / slash command / task プロンプト / CLAUDE.md 節 / コード生成プロンプト)を、バイアスを排した実行者に動かしてもらい、両面(実行者の自己申告 + 指示側メトリクス)で評価して反復改善する手法。改善が頭打ちになるまで回す。プロンプトや skill を新規作成・大幅改訂した直後、またはエージェントの挙動が期待通りにならない原因を指示側の曖昧さに求めたいときに使う。

yadokari1130/MC-Redstone-AI52026年8月23日 更新

mc_cli_block_design

無料日本語概要

Minecraft のレッドストーン回路や構造物を設計するための、JSON データモデルの仕様と設計ガイドラインです。

yadokari1130/MC-Redstone-AI52026年8月23日 更新

mc_cli_drop_items

無料日本語概要

CLI版 mc-cli drop-items コマンドの使い方。ホッパーやコンテナに投入するアイテムを世界にドロップする時に読む。

yadokari1130/MC-Redstone-AI52026年8月23日 更新

mc_cli_fill_blocks

無料日本語概要

CLI版 mc-cli fill コマンドの使い方。土台作成や範囲消去(air)を行う前に読む。

yadokari1130/MC-Redstone-AI52026年8月23日 更新

yadokari1130 のスキルをすべて見る

このスキルの問題を報告する