mcpField
M
minecraft-builder-skill

minecraft-builder-skill

github.com/mattzh72クリエイティブ・メディア39108 回インストール20 週間前に更新
リポジトリ

minecraft-builder-skill について

Lodestone のヘルパー関数を使い、JavaScript のレシピから Minecraft の構造物を作成するスキルです。バニラ形式の `.nbt` を生成し、ビューアで確認や反復調整ができます。

主な機能

  1. 01JavaScript による建築レシピ
  2. 02Lodestone の構造ヘルパー
  3. 03バニラ構造 NBT のエクスポート
  4. 04ローカルでのプレビューと反復
  5. 05API とブロック状態のリファレンス検索

活用シーン

  1. 01レシピから Minecraft 構造物を生成
  2. 02エクスポートした建築のプレビューと調整

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mattzh72/minecraft-builder-skill --skill minecraft-builder-skill

インストール後、Claude Code で/minecraft-builder-skillを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
LICENSE
package.json
.gitignore
npm-shrinkwrap.json
agents/
openai.yaml
assets/examples/
celestial-forge.mjs
assets/viewer/
index.html
assets/viewer/src/
main.js
style.css
references/
recipe-api.md
references/lodestone/
.source.json
README.md
getting-started.md
rendering.md
examples.md
litematic.md
unsupported.md
nbt.md
resources.md
supported-fields.md
structure.md
default-pack-block-states.md
scripts/
preview.mjs
sync-lodestone-docs.mjs
run-build.mjs

詳細

Minecraft Builder スキル

概要

Lodestone を基盤としたヘルパー関数を使用する小さな JavaScript レシピを書いて、Minecraft の建築物を作成します。バニラの .nbt ストラクチャーファイルをエクスポートし、同梱のビューアーを開いて、ユーザーが建築物を確認して反復改善できるようにします。

ワークフロー

  1. インストール済みのスキルディレクトリで作業します。インストール後に Skills CLI を再実行しないでください。このスキルのローカルな scripts/ と assets/ を使用します。
  2. ビルドまたはプレビューのスクリプトを実行する前に、依存関係がインストールされていることを確認します。node_modules/@mattzh72/lodestone が存在しない場合は、インストール済みのスキルディレクトリから次を実行します:
npm install --omit=dev
  1. ESM レシピファイルを作成します。野心的な浮遊巨大構造物の正規の例として assets/examples/celestial-forge.mjs を使用します。
  2. NBT を生成します:
node scripts/run-build.mjs path/to/recipe.mjs --out-dir minecraft-builds/my-build
  1. プレビューを開きます:
node scripts/preview.mjs --nbt minecraft-builds/my-build/my-build.nbt
  1. レシピを編集し、.nbt を再生成し、プレビューを再度開くか更新することで反復改善します。

依存関係

Skills CLI はスキルファイルをコピーしてインストールしますが、Node パッケージはインストールしない場合があります。このスキルは、node_modules を同梱するのではなく、依存関係を意図的に package.json と npm-shrinkwrap.json に保持しています。

scripts/run-build.mjs または scripts/preview.mjs を使用する前に、node_modules/@mattzh72/lodestone の存在を確認します。存在しない場合は、インストール済みのスキルディレクトリから npm install --omit=dev を実行します。依存関係をグローバルにインストールしないでください。また、別の Lodestone バージョンを推測しないでください。

レシピの契約

api を受け取り、Lodestone の Structure または { structure, metadata } を持つオブジェクトを返すデフォルト関数をエクスポートします。

export default function build(api) {
  const structure = api.createStructure([16, 12, 16])
  api.fill(structure, [0, 0, 0], [15, 0, 15], 'minecraft:stone_bricks')
  api.hollowBox(structure, [4, 1, 4], [11, 7, 11], 'minecraft:spruce_planks')
  return { structure, metadata: { name: 'example-build' } }
}

利用可能なヘルパーには createStructure、setBlock、fill、hollowBox、line、sphere、cylinder、normalizeBlock、createBlockNbt、および api.lodestone 配下の Lodestone クラスが含まれます。

リファレンス

  • レシピヘルパーの正確なシグネチャ、サポートされているオプションフィールド、デフォルト値、サポートされていない動作については、references/recipe-api.md を検索してください。
  • Lodestone クラス、ストラクチャー NBT、ブロック状態、レンダラー API、リソースパック API、サポートされているフィールド、サポートされていない動作については、references/lodestone/ を検索してください。
  • デフォルトパックの正確なブロック ID、レンダリングされるブロック状態の値の列挙、特殊なレンダラー状態の値、waterlogged のような汎用レンダラープロパティについては、references/lodestone/default-pack-block-states.md を検索してください。
  • 推測よりもこれらのローカルリファレンスを優先してください。高度な API を使用する前に、クラス名、メソッド名、ブロック状態プロパティ、NBT タグ名、オプションフィールドを rg で検索してください。

リファレンスの検索

  • 自明でないブロック状態の値を選ぶ前に、references/lodestone/default-pack-block-states.md を検索してください。
  • 1 つのブロックについて、その正確なセクションを出力します。例:rg -n -A 80 '### `minecraft:oak_stairs`' references/lodestone/default-pack-block-states.md
  • グローバルなプロパティ列挙については、プロパティインデックスの行を検索します。例:rg -n '^- `shape`|^- `waterlogged`' references/lodestone/default-pack-block-states.md
  • 自動接続の挙動に依存する前に、references/lodestone/structure.md で updateBlockStates() を検索し、サポートされている範囲とサポートされていない範囲を確認してください。
  • ブロックエンティティやカスタム NBT を書くときは、タグを構築する前に references/lodestone/nbt.md と references/recipe-api.md を検索してください。

ビルドガイダンス

  • すべての座標は構造物のサイズ内に収めてください。ランナーは境界を検証し、失敗すると即座に停止します。
  • minecraft: 名前空間を付けたバニラのブロック ID を使用してください。minecraft:oak_stairs[facing=east,half=bottom,shape=straight] のようなブロック状態文字列がサポートされています。
  • ランナーはデフォルトで Lodestone の Minecraft ライクなブロック状態更新を有効にします。ペイン、鉄格子、フェンスは、隣接する互換ブロックまたは固体ブロックから north/east/south/west の状態を取得します。レシピが意図的にこれらの状態を手動で設定する場合にのみ、--no-block-state-updates を使用してください。
  • 明確なブロックパレットと読みやすい形状を優先してください。ビューアーは Lodestone にバンドルされたデフォルトのリソースパックを使用するため、非常に特殊なブロックやカスタムブロックはうまくプレビューできない場合があります。
  • 出力ファイル名を制御するには metadata.name を含めてください。名前はスラッグ化されます。
  • デフォルトの出力は、上書きされない限り、ランナーによって DataVersion が設定された gzip 圧縮されたバニラ構造物 NBT です。
  • ブロックエンティティについては、setBlock の最後の引数として Lodestone の NbtCompound を渡すか、api.createBlockNbt({ id: 'minecraft:chest' }) を使用してください。

プレビュー

プレビュースクリプトは最小限の Vite サーバーを起動し、ビルドを自動的に開きます。対象の .nbt と Lodestone のデフォルトリソースパックをローカルミドルウェア経由で配信するため、レシピはアセットをコピーする必要がありません。

非対話環境で実行する場合は --no-open を使用してください:

node scripts/preview.mjs --nbt path/to/build.nbt --no-open

レビューに役立つ場合は、夜間照明で直接開いてください:

node scripts/preview.mjs --nbt path/to/build.nbt --lighting night

コメント